RPM roadmapping

Peter Jones pjones at redhat.com
Thu Aug 2 17:07:20 UTC 2007


Florian Festi wrote:
> Hi!
> 
> Small behavior change for obsoletes:
> 
> Issue an error if to be installed pkgs are obsoleted by already 
> installed pkgs. As obsoleting pkgs are logically newer "--oldpackage" 
> should be required to install the obsoleted pkg IMHO. Right now 
> obsoleted pkgs are happily installed.

There's an issue here, caused by the fact that obsoletes is not only 
used to rename a package when the old one is going away forever (think 
fileutils -> coreutils), but also to give a hint of package discovery 
when the repo is replacing one package with a different work to provide 
the same functionality.

The canonical concrete example here is routing daemons.  Once upon a 
time we shipped gated.  Then it didn't get maintained very well, and 
zebra came along.  So zebra got "obsoletes: gated".  Then zebra didn't 
get it's share of maintenance upstream, but gated did.  So gated got an 
obsoletes on zebra.  And now there's a loop.

If the obsoletes don't have version information in them (which is 
generally preferred for the rename case), then there's a loop that your 
criteria above can't solve.

This is part of why Conary puts packages in revision trees.

-- 
   Peter




More information about the devel mailing list