After a bit of experimenting on 9.1 and cooker, I think I've figured out why 
all these problems are just showing up now, and what to do about it.

Under rpm 4.0, installing or upgrading a package only checked its obsoletes 
against the main package name. Now, 4.2 also checks against any virtual names 
provided by the package. So, with 4.0, two packages that provided and 
obsoleted the same virtual name wouldn't interfere; now they do. 

The new behavior is probably better. But this means that a bunch of old 
inconsistencies that never caused problems before now have to be taken care 
of.

Also, I think there is a bug in the new behavior: If you install/upgrade two 
packages at once, and they both obsolete each other, they install without a 
problem. This should fail.

Anyway, here's what to do:

1. Someone should look at my script and make sure I didn't do something stupid 
and miss some of the problems. Run this script every so often until no more 
problems are reported.

2. One of the checks on uploading a new package should be to make sure that 
it's not obsoleted by any other package (an error), and to check whether it 
obsoletes any existing packages (a warning, because sometimes this is the 
desired behavior). Is this feasible if one package is in contribs and the 
other in main? (Or, worse, if one is is plf?)

3. Go through all of the dozen or so problems I've already reported and 
eliminate them. I've emailed all the relevant maintainers, but if necessary I 
can go through and patch all the specfiles myself.

4. Come up with a new policy for provides/obsoletes when replacing old 
packages. Just versioning the obsoletes will solve 95% of the problems. (If 
gimp-1.2 and gimp1_3-1.3 both said "Obsoletes: hackgimp < 1.2" instead of 
"Obsoletes: hackgimp" everything would work fine.) To solve the other 5%, 
don't ever copy over obsoletes tags from the previous major version (except 
where it makes sense, of course).

5. Fix rpm so an install/upgrade fails if two of the packages obsolete each 
other.

The error messages related to this stuff could be a little clearer, and I 
think urpmi might be getting confused by some of these symptoms, but I think 
those issues will go away once all the packages are fixed....


Reply via email to