Hide Forgot
Description of problem: On a rawhide installation an attempt to replace grub with grub2 starts like this: Installing: grub2 x86_64 1:1.99-10.fc17 rawhide 1.2 M replacing grub.x86_64 1:0.97-83.fc17 Installing for dependencies: os-prober x86_64 1.48-1.fc16 rawhide 30 k So far so good, but this transaction (run here with '-d6') ends like that: Member: grub.x86_64 1:0.97-83.fc17 - od Member: grub2.x86_64 1:1.99-10.fc17 - u Adding Package 1:grub2-1.99-10.fc17.x86_64 in mode u Member: os-prober.x86_64 0:1.48-1.fc16 - u Adding Package os-prober-1.48-1.fc16.x86_64 in mode u Running Transaction Check ERROR with transaction check vs depsolve: grub2 conflicts with (installed) grub-1:0.97-83.fc17.x86_64 Eh? grub-1:0.97 was supposed to be obsoleted by grub2. A record of a saved transaction is attached. Version-Release number of selected component (if applicable): yum-3.4.3-11.fc17.noarch rpm-4.9.1.2-3.fc17.x86_64 How reproducible: always Additional info: Maybe this is a bug somewhere else? Despite that 'rpm -qp --obsoletes grub2-1.99-10.fc17.x86_64.rpm' prints 'grub < 1:0.98' an attempt to run rpm directly with grub2 and os-prober packages also terminates with: error: Failed dependencies: grub2 conflicts with (installed) grub-1:0.97-83.fc17.x86_64 Yes, I am aware that here I can first desintall grub and subsequently install grub2. That may be not so easy in other situations. OTOH reproducing the issue should be easy too.
Created attachment 531909 [details] record of a failed transaction saved by yum
Interesting case. The obsoletes doesn't happen because the "colors" dont match: grub-0.97 only contains 32bit ELF files (despite arch being x86_64) making its color 1, but grub2-1.99 contains both 32bit and 64bit ELF making its color 3, and rpm doesn't do "cross-arch" (which is what the color difference in normal circumstances means) obsoletes.
Strange this doesn't happen with grub-0.97-84.fc16.x86_64.rpm and grub2-1.99-12.fc16.x86_64.rpm.
Here's why we might see the different behavior: $ rpm -qp --conflicts grub-0.97-84.fc16.x86_64.rpm $ rpm -qp --conflicts grub-0.97-84.fc17.x86_64.rpm grub2 so the f17 grub in fact conflicts with grub2 (while f16 does not). I will investigate what should happen in this case (A conflicts B and B obsoletes A).
Fixed on master: http://rpm.org/gitweb?p=rpm.git;a=commit;h=9cb5d5ccfbcfc454aace1a538199c76b0d931479
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
Fixed in rawhide (by rpm >= 4.10)