Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 5850363
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 22, 20262026-05-22T13:07:49+00:00 2026-05-22T13:07:49+00:00

What is the right way, if any, to design RPMs so that multiple versions

  • 0

What is the “right” way, if any, to design RPMs so that multiple versions can be installed via YUM/RPM side by side without stomping on each other? For libraries, the right answer seems to be related to sonames, although I can’t find any good information about how sonames, symlinks, and RPMs interact with each other. I have no idea how executables and plain files ought to be named/placed in order to be placed side by side. It seems the right behaviour as far as executables go would be to have the newer version on the PATH, but have the older version be on the PATH if the newer RPM is uninstalled.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-22T13:07:49+00:00Added an answer on May 22, 2026 at 1:07 pm

    Essentially you need to ensure that the versions do not conflict:

    • Requires/Conflicts sections must not have conflicting requirements
    • Each filename must only exist in one version – unless they are identical
    • Scriptlets (%post ect) if you have them must cooperate

    Note that you will have trouble installing multiple versions with yum as yum is designed to have one version installed at a time – with the exception of the kernel. If you install/update a package with yum all old versions will be removed. Consequently you’ll need to use rpm -i for each version.

    With regard to have more recent binaries in the path it is not possible to do it properly. You either need to do something like python where the user has to specify python or python3 on the command line or you have to do a dance with creating symlinks on the path to the binary that you want. This would have to be done in the scriptlets and managing it is quite a challenge. It also means that the symlink wouldn’t be owned by any package.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm using guidelines right now, but I do not think there is any way
This application was written without any knowledge of design principles (SOLID) by the previous
What's the right way to connect a slider to a member variable in MFC?
Which is the right way of declaring a global javascript variable? The way I'm
What the right way to interrupt executor's thread? I've got this: Thread class with
Is this the right way, to use boost::shared_ptr for the nodes left and right
What is the right way to create custom pgsql types for django application so
Is this the right way to do a nested navigation? <dl> <dt>Struktur</dt> <dd> <ul
What's the right way to control timeouts, from the client, when running against a
What's the right way in Drupal to create reports? I was hoping to use

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.