rpmlint and Obsoletes: loops

Matthias Saou thias at spam.spam.spam.spam.spam.spam.spam.egg.and.spam.freshrpms.net
Fri Jul 21 08:54:06 UTC 2006


Florian La Roche wrote :

> One item has just come up the last days within
> FC-development: openssh has added to the "Obsoletes:"
> lines also the corresponding "Provides:" lines.
> End result is that this created an "Obsoletes loop"
> where an older openssh-askpass-gnome package obsoletes
> a current openssh-askpass and the current openssh-askpass
> package also obsoletes openssh-askpass-gnome.
> (In more detail this happened via the obsoletes/provides
> "ssh-extras".)
> 
> This of course does not show up for FC-development where
> only the newest packages are in the tree, but it does show
> up if you take older repos together with FC-devel packages
> (which is normally not a good mixture, but that is
> another story).
> 
> While it is most times a good idea to add the "Provides:"
> lines for all obsoletes as well, we should not just add them
> to all of them. Especially not if nobody found them missing
> for many years by now.
> 
> Something we should keep in mind if we now look more and more
> at rpmlint and how it reviews rpm packages.

The solution here is simple : ALWAYS use a version-release for
"Obsoletes:" lines. Period. This would have prevented this problem
from ever existing. Same goes for "Provides:", that way you keep much
more control.

Of course, you won't be able to go fix the old package now... pretty
much like an existing epoch.

I'd like to see the default Fedora rpmlint configuration error on
"Obsoletes:" without a version, and warn on "Provides:" without one
either, if that's not already the case.

Matthias

-- 
Clean custom Red Hat Linux rpm packages : http://freshrpms.net/
Fedora Core release 5.90 (Test) - Linux kernel 2.6.17-1.2416.fc6
Load : 0.41 0.40 0.51




More information about the fedora-devel-list mailing list