For a long time, I have the dream that RPM/YUM/DNF can native support
parallel installation of various versions of libraries side by side.
While this is quite complex problem, because you would need to be able
to define the upgrade path, the first approximation could be my proposal
to update installonlypkgs when release changes .
There is already long discussion in the ticket, but there is probably
missing one additional goal. Since Ruby applications are using Bundler
and the Rails applications tends to hardcode the exact version of Rails
which was used during the development, we typically freeze Rails updates
when Fedora stable is released and backport only security fixes, to
avoid breakage of Rails applications during Fedora lifetime.
Nevertheless, when the system is updated (e.g. F21 -> F22), the user
application is broken anyway and we don't have any chance to fix it.
My proposal fixes the issue at least a bit, since it leaves the old
packages installed. The package is updated only when the release
changes, this is either to fix packaging error or security issue. When
new version of that package is released, the old version is kept on the
system and new version will be installed side by side.
Of course this cannot be enabled for every package on the system, but
for packages such as rubygems- (which are non-conflicting between
versions), this would save some users gray hairs and motivate our users
to use the packaged version of Rails more. I believe that other package
management systems for other dynamic languages today allows to install
more versions of the same package on the system as well.