

rpm package renames


Suppose I have a package foo, which I need to rename to bar (to better fit 
package naming guidelines, or for trademark reasons say). What exact magic 
do I need in my bar spec file to ensure upgrades go smoothly? "Obsoletes: 
foo" obviously. I'm guessing probably also restricting it to <= the last 
version released as foo to be paranoid - is that definitely 

I've seen some notes saying that Obsoletes should be paired with Provides. 
In what situations should one do that? If I'm certain foo is not 
explicitely Required by any other packages, can I safely skip it?

Whilst playing around I noticed that if the versions of foo and bar are 
the same (which in this case they won't be, but consider bar being a whole 
new project that is designed to replace foo) then foo is not removed 
when upgrading to bar. Which confused the hell out of me for a while 
last night (that and the difference installing vs upgrading, but I can 
understand that). :)

I can't find any definite guidelines or indeed explainations of exactly 
how rpm treats Obsoletes. This is very frustrating, and lack of 
documentation is surely a reason why packaging is sometimes considered a 
black art when it should be quite accessible to developers.

Anyway, if people can come up with some guidelines here then perhaps they 
could be added to the following pages:


PS: Before I forget, is there an easy way to find out who is supposed to 
be maintaining a particular package in the fedora.us repository?


