Description of problem: I've prepared a postfix update which creates a new subpackage and moves some files to remove dependency on perl, but I got a report that yum will install exim when updating. http://admin.fedoraproject.org/updates/F9/FEDORA-2008-9861 It doesn't seem to happen always, probably depends on which packages are requiring postfix, but I was able to reproduce it in a minimal mock buildroot with fetchmail. The new postfix-perl-scripts subpackage obsoletes the old postfix, is there a workaround to avoid the problem? Version-Release number of selected component (if applicable): yum-3.2.19-3.fc9.noarch How reproducible: always Steps to Reproduce: 1. mock -r f9 init 2. mock -r f9 install postfix fetchmail 3. yum --installroot=/var/lib/mock/f9/root --enablerepo=updates-testing update postfix Actual results: Exim installed. Expected results: Exim not installed. Additional info: A snip from yum -d 5: Checking deps for postfix.x86_64 2-2.5.5-1.fc9 - None fetchmail-6.3.8-7.fc9.x86_64 requires: server(smtp) --> Processing Dependency: server(smtp) for package: fetchmail Needed Require is not a package name. Looking up: server(smtp) Potential Provider: postfix.x86_64 2:2.5.5-1.fc9 Mode is u for provider of server(smtp): postfix.x86_64 2:2.5.5-1.fc9 Mode for pkg providing server(smtp): u Cannot find an update path for dep for: server(smtp) Searching pkgSack for dep: server(smtp) Potential match for server(smtp) from 2:postfix-2.5.5-2.fc9.x86_64 Matched 2:postfix-2.5.5-2.fc9.x86_64 to require for server(smtp) Potential match for server(smtp) from exim-4.69-4.fc9.x86_64 Matched exim-4.69-4.fc9.x86_64 to require for server(smtp) Potential match for server(smtp) from 2:postfix-2.5.1-2.fc9.x86_64 Matched 2:postfix-2.5.1-2.fc9.x86_64 to require for server(smtp) Potential match for server(smtp) from sendmail-8.14.2-4.fc9.x86_64 Matched sendmail-8.14.2-4.fc9.x86_64 to require for server(smtp) Potential match for server(smtp) from 2:postfix-2.5.5-1.fc9.x86_64 Matched 2:postfix-2.5.5-1.fc9.x86_64 to require for server(smtp) Potential resolving package 2:postfix-2.5.1-2.fc9.x86_64 has newer instance in ts. Potential resolving package 2:postfix-2.5.1-2.fc9.x86_64 has newer instance installed. 2:postfix-2.5.5-1.fc9.x86_64 is in providing packages but it is already installed, removing. TSINFO: Marking exim-4.69-4.fc9.x86_64 as install for fetchmail-6.3.8-7.fc9.x86_64
What yum plugins do you have installed?
yum-merge-conf and yum-allowdowngrade are installed here.
I can't make this happen here at all. What yum version is this? Can you try the lastest from updates-testing? 3.2.20-4.fc9
I'm no longer able to reproduce it, so I guess something in the older repodata was triggering it.
hmm, I'm still reproducing this bug [timon@localhost auto.mail.ru]$ sudo yum --installroot=/var/lib/mock/fedora-9-i386/root --enablerepo="updates-testing" update postfix ====================================================================================================================================================== Package Арх. Версия Repository Size ====================================================================================================================================================== Installing: postfix-perl-scripts i386 2:2.5.5-2.fc9 updates-testing 60 k replacing postfix.i386 2:2.5.5-1.fc9 Installing for dependencies: exim i386 4.69-4.fc9 fedora 1.3 M postgresql-libs i386 8.3.5-1.fc9 updates-released 213 k tcp_wrappers-libs i386 7.6-52.fc9 fedora 64 k Updating for dependencies: postfix i386 2:2.5.5-2.fc9 updates-testing 3.8 M Transaction Summary ====================================================================================================================================================== Install 4 Package(s) Update 1 Package(s) Remove 0 Package(s) Total download size: 5.4 M
Created attachment 326925 [details] yum debug
This is where it all starts from: fetchmail-6.3.8-7.fc9.i386 requires: server(smtp) ...what does the rpmdb look like in that chroot? Do you have postfix installed, what does package-cleanup --problems say etc.?
how I reproduce it: [timon@localhost f]$ mock -r fedora-9-i386 init [timon@localhost f]$ mock -r fedora-9-i386 install postfix fetchmail [timon@localhost f]$ mock -r fedora-9-i386 shell mock-chroot> rpm -q postfix fetchmail postfix-2.5.5-1.fc9.i386 fetchmail-6.3.8-7.fc9.i386 mock-chroot> exit [timon@localhost f]$ sudo yum --installroot=/var/lib/mock/fedora-9-i386/root/ --enablerepo=updates-testing update postfix [timon@localhost f]$ sudo yum --installroot=/var/lib/mock/fedora-9-i386/root/ --enablerepo=updates-testing update postfix <<<snip>>> [timon@localhost f]$ mock -r fedora-9-i386 shell mock-chroot> rpm -q postfix fetchmail exim postfix-2.5.5-2.fc9.i386 fetchmail-6.3.8-7.fc9.i386 exim-4.69-4.fc9.i386 now check package-cleanup [timon@localhost f]$ mock -r fedora-9-i386 install yum-utils [timon@localhost f]$ mock -r fedora-9-i386 shell mock-chroot> package-cleanup --problems Setting up yum Reading local RPM database Processing all local requires No problems found mock-chroot> package-cleanup --orphans Setting up yum postfix-2.5.5-2.fc9.i386 postfix-perl-scripts-2.5.5-2.fc9.i386
Created attachment 327069 [details] mock config
Well I'm using 3.2.20-5++ and am on x86_64 (although I thought mock could do that) ... but if I run the above postfix is upgraded and exim isn't installed. All I get is: --> Running transaction check Checking deps for postfix.i386 2-2.5.5-1.fc9 - None ---> Package postfix.i386 2:2.5.5-2.fc9 set to be updated Checking deps for postfix.i386 2-2.5.5-2.fc9 - u --> Finished Dependency Resolution
Trying again with setarch on the yum command ... I get basically the same thing: --> Running transaction check ---> Package postfix-perl-scripts.i386 2:2.5.5-2.fc9 set to be updated Checking deps for postfix-perl-scripts.i386 2-2.5.5-2.fc9 - u [...] --> Processing Dependency: postfix = 2:2.5.5-2.fc9 for package: postfix-perl-scripts [...] Checking deps for postfix.i386 2-2.5.5-1.fc9 - None --> Running transaction check ---> Package postfix.i386 2:2.5.5-2.fc9 set to be updated Checking deps for postfix.i386 2-2.5.5-2.fc9 - u --> Finished Dependency Resolution [...] Installing: postfix-perl-scripts i386 2:2.5.5-2.fc9 updates-testing 60 k replacing postfix.i386 2:2.5.5-1.fc9 Updating for dependencies: postfix i386 2:2.5.5-2.fc9 updates-testing 3.8 M
it seems to be i386 specific problem I can reproduce this problem on my i386 computer and other i386 computer, but I can't reproduce this problem on x86_64 machine and x86_64 machine with setarch command. and yum clean metedata didn't help.
I've just fixed this, it should be in .21 as it's a simple bug fix. In our defense the problem would only show on .i386 because list(set(deps)) gave a different resultant order ... and processing the deps. in a different order took a different code path (and even then you had to have the "right" situation to trigger it).
postfix 2:2.5.5-2.fc10 works for me
yum-3.2.21-2.fc10 has been submitted as an update for Fedora 10. http://admin.fedoraproject.org/updates/yum-3.2.21-2.fc10
yum-3.2.21-2.fc9 has been submitted as an update for Fedora 9. http://admin.fedoraproject.org/updates/yum-3.2.21-2.fc9
yum-3.2.21-2.fc9 has been pushed to the Fedora 9 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing-newkey update yum'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F9/FEDORA-2009-0460
yum-3.2.21-2.fc10 has been pushed to the Fedora 10 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update yum'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-0562
yum-3.2.21-2.fc9.noarch fixes this problem on my x86_64 system
yum-3.2.21-2.fc10 has been pushed to the Fedora 10 stable repository. If problems still persist, please make note of it in this bug report.
yum-3.2.21-2.fc9 has been pushed to the Fedora 9 stable repository. If problems still persist, please make note of it in this bug report.