I worked on this a bit last week. I thought I'd mention it here:

http://fedorapeople.org/gitweb?p=skvidal/public_git/scripts.git;a=tree;f=mock

mockchain.py

mockchain.py [options] chrootname file.src.rpm [file1.src.rpm] [file2.src.rpm] ...

Builds a series of srpms in mock one at a time. After each successful build
of a package it adds the resulting packages to a local repo which
are available to the next package to satisfy buildreqs.

options:
 -c - continue on package build failure - by default it will exit if
a package fails to build. set this if you wish it to try and continue
      for the rest of the packages.

 -l path - set the path to put the results/repo in. This path needs to be
    somewhere accessible to users other than you for reading as the
    mock process doesn't run as you.

 -a url - add this repo url to the yumconfig for the buildroot. This can
          be specified multiple times. Let's you point to multiple
          paths beyond the default to pull build deps from.

 --recurse - build all pkgs, record the failures and try to rebuild them
             again and again until everything gets built (or until the
             set of pkgs failing to build are the same over)

This does not try to sort the packages by build order b/c that is too much
effort and not obviously doable with the buildreq information we have.

The build process when you use -l is idempotent so a package which has
already been successfully built will not be built again.

If you want to force the rebuild of a package which has been built
successfully simply remove the 'success' file from the dir with the package
results in it. Package results are written out into
a dir named:
  chrootname/pkgname-ver-rel/

for example:
   fedora-16-x86_64/yum-3.2.29-0/



-sv

--
buildsys mailing list
[email protected]
https://admin.fedoraproject.org/mailman/listinfo/buildsys

Reply via email to