[PATCH] fedpkg: call sources before running mockbuild

Josh Boyer jwboyer at gmail.com
Thu Dec 9 01:09:03 UTC 2010


Currently a 'fedpkg mockbuild' in a fresh clone of a package will
result in something like:

[jwboyer at r2d2 kernel]$ fedpkg mockbuild
error: File /home/jwboyer/src/fedora/kernel/linux-2.6.34.tar.bz2: No
such file or directory
Could not run mockbuild: Command 'rpmbuild --define '_sourcedir
/home/jwboyer/src/fedora/kernel' --define '_specdir
/home/jwboyer/src/fedora/kernel' --define '_builddir
/home/jwboyer/src/fedora/kernel' --define '_srcrpmdir
/home/jwboyer/src/fedora/kernel' --define '_rpmdir
/home/jwboyer/src/fedora/kernel' --define 'dist .fc13' --define
'fedora 13' --define 'fc13 1' --nodeps -bs
/home/jwboyer/src/fedora/kernel/kernel.spec' returned non-zero exit
status 1
[jwboyer at r2d2 kernel]$

because the sources have not been downloaded yet.  Under the old
dist-cvs system, a mockbuild had a dependency on srpm, which had a
dependency on sources.

The following patch accomplishes the a similar dependency in fedpkg by
making it fetch the sources prior to doing the mock setup.  Tested
locally on F14.

josh

---

diff --git a/src/fedpkg.py b/src/fedpkg.py
index dbae1a8..31c18dd 100755
--- a/src/fedpkg.py
+++ b/src/fedpkg.py
@@ -576,6 +576,12 @@ def local(args):
         sys.exit(1)

 def mockbuild(args):
+    try:
+        pyfedpkg.sources(args.path)
+    except pyfedpkg.FedpkgError, e:
+        log.error('Could not download sources: %s' % e)
+        sys.exit(1)
+
     # Pick up any mockargs from the env
     mockargs = []
     try:


More information about the buildsys mailing list