Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1160428
Summary: | mock 1.2.0 tries to install f21 packages in f19 chroot | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Richard Shaw <hobbes1069> | ||||
Component: | mock | Assignee: | Michael Simacek <msimacek> | ||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | unspecified | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | rawhide | CC: | hobbes1069, jdisnard, mebrown, msimacek, msuchy, praiskup, williams | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | mock-1.2.3-1.el7 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2014-12-12 04:07:37 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Can you please provide?: * exact command you run * output of rpm -V mock * and if there are some config you modified (will be printed in previous step), then provide them as well In order of request: mock -v -r fedora-19-x86_64 --resultdir ./mockbuild/19/wsjtx/ rpmbuild/wsjtx/SRPMS/wsjtx-1.4-0.1.rc3.fc20.src.rpm $ rpm -V mock S.5....T. c /etc/mock/site-defaults.cfg This was for 1.1.41 but it would look the same for 1.2.0, I only add a few options to site-defaults.cfg: config_opts['cleanup_on_failure'] = 0 #config_opts['nosync'] = True config_opts['macros']['%_smp_mflags'] = "-j6" I could not reproduce it. Looking at the packages it tries to download it seems the "update" repo is fc19 but the "fedora" repo is picking up fc21 packages. Also, I noticed every time that when it tries to updated the repo, the one it downloads is ALWAYS older (2013) than the one it "already has" even though I did a --scrub=all. Not using downloaded repomd.xml because it is older than what we have: Current : Mon Mar 3 06:28:11 2014 Downloaded: Fri Jun 28 06:44:05 2013 DEBUG: Not using downloaded repomd.xml because it is older than what we have: DEBUG: Current : Mon Mar 3 06:28:11 2014 DEBUG: Downloaded: Fri Jun 28 06:44:05 2013 Not using downloaded repomd.xml because it is older than what we have: Current : Tue Dec 17 09:07:06 2013 Downloaded: Sat Jun 29 14:06:17 2013 DEBUG: Not using downloaded repomd.xml because it is older than what we have: DEBUG: Current : Tue Dec 17 09:07:06 2013 DEBUG: Downloaded: Sat Jun 29 14:06:17 2013 This looks like to me it's somehow reaching across to another chroot cache somehow. I tried deleting everything rawhide related in /var/lib/mock and /var/cache/mock but I still get the same message. If I do a scrub=all, how can there be a "current" repomd.xml? Is it possible that you are using lvm_root plugin? Does it happen to you when you try to build into fedora-19-i386 as well? I've never tried setting up lvm_root as I don't have any unallocated LVM space. I'm trying i386 now but so far it appears to be working fine. I think I'm getting a little closer. I have a lot of old yum data all the way back to Fedora 16 in /var/lib/yum. I removed everything but Fedora 20 and rawhide data /var/lib/yum/repos and it had fewer of the old "repomb.xml" errors but it still tried to pull in f21 packages. Ok, I figured it out... I had a LOT of old yum data in /var/cache/yum which brings up two points I can think of: 1. Updates to a piss poor job of cleaning up old data. I had stuff from Fedora 16 in there. 2. I'm guessing mock should NOT be paying any attention to files the host filesystem like /var/cache/yum. Since this was not a problem with 1.1.41, I'm guessing some significant changes were made in 1.2.0 which caused it to start using repodata from the host system. I cannot direcly reproduce it, but I see it in strace, so I confirm that it can happen and will try to find out the cause I suspect py/mockbuild/plugins/yum_cache.py, which is enabled by default. yum_cache is innocent in this regard. Apparently, for yum following invocations aren't the same: yum install whatever --installroot /foo/bar yum install whatever --installroot /foo/bar/ The first one ends up using /var/cache/yum as secondary cachedir, while the second one uses var/cache/yum (relative path, unlikely to exist when run from directories different from /). Old mock used the second one, but this changed during the rewrite of the module. I created a patch and sent it upstream. The bug might still appear when mock is run from /, but that would be the same for all versions of mock and cannot be easily solved, because it's a bug in yum, which shouldn't use system-wide caches. Dnf doesn't seem to exhibit this issue, regardless of the working directory. Would the recommendation be to install dnf at this point? mock-1.2.1-1.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/mock-1.2.1-1.fc21 mock-1.2.1-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/mock-1.2.1-1.fc20 mock-1.2.1-1.el7 has been submitted as an update for Fedora EPEL 7. https://admin.fedoraproject.org/updates/mock-1.2.1-1.el7 mock-1.2.1-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.2.1-1.el6 Package mock-1.2.1-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.2.1-1.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2014-15217/mock-1.2.1-1.fc20 then log in and leave karma (feedback). mock-1.2.3-1.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/mock-1.2.3-1.fc21 mock-1.2.3-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/mock-1.2.3-1.fc20 mock-1.2.3-1.el7 has been submitted as an update for Fedora EPEL 7. https://admin.fedoraproject.org/updates/mock-1.2.3-1.el7 mock-1.2.3-1.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report. mock-1.2.3-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.2.3-1.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report. |
Created attachment 953789 [details] Includes both a successful build with 1.1.41 and the problem with 1.2.0 Description of problem: I rebuilt mock 1.2.0 for Fedora 20 to try out the nosync option which is actually very nice. Up until today I had only built f20 and newer packages. Today I tried to build packages for f19 (both x86_64 and i686) and building fails because the urls for all the packages required for the chroot are pointing to f19 mirrors, the package names themselves all have f21 for the dist tag. Downgrading to mock 1.1.41 did not immediatealy fix the problem, but after turning off the nosync option I could build packages. Interestingly enough, upgrading back to 1.2 immediately exhibited the problem regardless of the nosync option. Version-Release number of selected component (if applicable): mock-1.2.0-1.fc20.noarch How reproducible: So far all attempts to build f19 packages under mock 1.2.0 have failed with the result above.