Created attachment 738830 [details] Patch to check missing dependencies in yum output Description of problem: My repository wrongly have a mix of i386 and x86_64 packages. Unfortunately there were no perl.i386, but was net-snmp.i386, which requires libperl.so. Once I've tried to build the package, which requires net-snmp-devel for build, mock does not install any requirements and (silently) goes to rpmbuild -bb which of course fails. Version-Release number of selected component (if applicable): I'm using epel version for CentOS 5 (1.0.37), but as far as I inspect the sources, I've found the same defect in latest 1.1.32. yum-3.2.22-40 How reproducible: Build a package on a repo with missing dependencies Steps to Reproduce: 1. build 'a' package with following spec and put it to repo Name: a Version: 1.0 Release: 0 Summary: a License: Commercial Group: System Environment/Daemons BuildRoot: %{_tmppath}/%{name}-buildroot BuildArch: noarch Requires: liba.so # definitely missing symbol %description a %prep %build %install %files %defattr(-, root, root) %changelog 2. try to build 'b' package with following spec Name: b Version: 1.0 Release: 0 Summary: b License: Commercial Group: System Environment/Daemons BuildRoot: %{_tmppath}/%{name}-buildroot BuildArch: noarch BuildRequires: a %description b %prep %build %install %files %defattr(-, root, root) %changelog Actual results: Package b successfully built. Expected results: Error installing required package 'a' because of missing dependencies. Additional info:
I'll try and apply/test your patch later this week. Thanks!
This bug appears to have been reported against 'rawhide' during the Fedora 20 development cycle. Changing version to '20'. More information and reason for this action is here: https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora20
Ok, took a little longer to get to than I thought it would. The try/except addition in your patch confused me for a bit, since it looked like all you were doing was translating a YumError exception into a BuildError exception. I finally spotted the check for "Missing dependency" and saw what was going on. What do you think about just adding the 'or' clause to the existing check without the new try/except block? I'll attach my modification to your patch. I'll need to run this through the test suite and possibly think about it some more since this is a change in default behavior and modifying it could potentially break someone else depending on it (even though it's wrong).
Created attachment 815532 [details] Don't silently ignore missing dependencies Patch to check yum output for missing dependencies
mock-1.1.34-1.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/mock-1.1.34-1.fc18
mock-1.1.34-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.1.34-1.el6
mock-1.1.34-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/mock-1.1.34-1.fc20
mock-1.1.34-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/mock-1.1.34-1.fc19
Package mock-1.1.34-1.fc20: * should fix your issue, * was pushed to the Fedora 20 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing mock-1.1.34-1.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2013-20329/mock-1.1.34-1.fc20 then log in and leave karma (feedback).
mock-1.1.35-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/mock-1.1.35-1.fc19
mock-1.1.35-1.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/mock-1.1.35-1.fc18
mock-1.1.35-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.1.35-1.el6
mock-1.1.35-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/mock-1.1.35-1.fc20
mock-1.1.35-1.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
mock-1.1.36-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/mock-1.1.36-1.fc19
mock-1.1.36-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/mock-1.1.36-1.fc20
mock-1.1.36-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.1.36-1.el6
mock-1.1.36-1.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
mock-1.1.37-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/mock-1.1.37-1.fc19
mock-1.1.37-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/mock-1.1.37-1.fc20
mock-1.1.37-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.1.37-1.el6
mock-1.1.37-2.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/mock-1.1.37-2.fc20
mock-1.1.37-2.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/mock-1.1.37-2.fc19
mock-1.1.37-2.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.1.37-2.el6
mock-1.1.38-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/mock-1.1.38-1.fc19
mock-1.1.38-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.1.38-1.el6
mock-1.1.38-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/mock-1.1.38-1.fc20
mock-1.1.38-1.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
mock-1.1.38-1.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.
mock-1.1.38-1.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.