In my local Koji deployment I have one particular package (mdct-aos-flash) whose spec %build has "%{__python3} -m unittest discover" so that my builds will fail if any of the unit tests fail. This has worked well for some time now. Recently I added another unit test which requires another locally built package (python3-mdct) to assist with the test. My first build submission failed and I immediately realized that I of course needed to add this other package as a BuildRequires. I did that and was surprised to find the build still failing. The root.log shows:
DEBUG package_manager.py:77: ['/usr/bin/yum-builddep', '--installroot', '/var/lib/mock/f21-build-1274-3319/root/', '/var/lib/mock/f21-build-1274-3319/root//builddir/build/SRPMS/mdct-aos-flash-3.1-1.git.5.401b5db.fc21.src.rpm'] DEBUG util.py:508: child environment: None DEBUG util.py:441: Executing command: ['/usr/bin/yum-builddep', '--installroot', '/var/lib/mock/f21-build-1274-3319/root/', '/var/lib/mock/f21-build-1274-3319/root//builddir/build/SRPMS/mdct-aos-flash-3.1-1.git.5.401b5db.fc21.src.rpm', '--setopt=tsflags=nocontexts'] with env {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'LC_MESSAGES': 'C', 'PROMPT_COMMAND': 'printf "\x1b]0;<mock-chroot>\x07<mock-chroot>"', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'HOME': '/builddir', 'HOSTNAME': 'mock'} and shell False DEBUG util.py:377: Getting requirements for mdct-aos-flash-3.1-1.git.5.401b5db.fc21.src DEBUG util.py:377: --> python3-devel-3.4.1-18.fc21.x86_64 DEBUG util.py:377: --> python3-libs-3.4.1-18.fc21.x86_64 DEBUG util.py:377: --> systemd-216-25.fc21.x86_64 DEBUG util.py:377: Error: No Package found for python3-mdct DEBUG util.py:488: Child return code was: 1
Now I'm stumped. Koji builds python3-mdct for f21 so I would expect that it's just available to be pulled in as needed. I have Koji configured to use our local mirrors of Fedora as external-repos because we certainly depend on much of that, but I wouldn't think it necessary to do so for our own repo. My understanding of the external-repos is to give Koji access to rpms which it may need, but itself did not build.
Is my understanding wrong or have I missed a step here?
-- John Florian
buildsys@lists.fedoraproject.org