Hi 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 necessary/suggested? 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: http://fedora.redhat.com/participate/developers-guide/ch-rpm-building.html http://www.fedora.us/wiki/PackagingHints 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? TIA -- Stuart