package, package2, package3 naming-with-version exploit

Petr Pisar ppisar at redhat.com
Wed Apr 3 16:08:19 UTC 2013


On 2013-04-03, Miloslav Trmač <mitr at volny.cz> wrote:
> "How does (yum update) work with multiple installed versions?"
>
> We already can install simultaneously 25 different RPMs with the same
> %{name}.  But what does (yum uprade) do when the repositories one month
> later contain 35 different RPMs with that name, none matching the original
> 25?
>
Those within same branch/slot will be updated to latest in the
branch/slot. Those without any newer build will remain stray (as happens
now if a package is removed from newer distribution release) unless they
are rpm-obsoleted by purpose. And the highest from later 35 packeages
will be installed in addition because it's the latest and greatest
branch/slot (if not contradicted by dependencies or yum-exclude).

> Has anyone been able to come up with a proposed behavior that would match
> users expectations in the various languages?  I haven't looked, but I
> haven't seen one mentioned; certainly not in this thread.
>
Do you mean something like compiling Python code into byte-code specific
for each installed version? Well that's tricky question in binary
distribution.

You can recompile the code at installation time using RPM-scriptlets.

You can build-require all/some branches and compile binary RPM file for
each of them. (I think this is best fitting for binary distribution.
This should be driven from spec file by macros specific for the language.)

You can create branch for each language branch. (But this does not allow
multiversion to multiversion compilation and it seems more suitable for
"standard libraries").

-- Petr



More information about the devel mailing list