From 716d41a0090047c3e943d102537b87d86fdcbe88 Mon Sep 17 00:00:00 2001 From: Seth Vidal Date: Wed, 10 Feb 2010 15:51:08 -0600 Subject: add configuration option to run createrepo on result rpms Added patch from Seth Vidal to automatically run createrepo on the generated rpms Signed-off-by: Seth Vidal Signed-off-by: Clark Williams --- etc/mock/site-defaults.cfg | 4 ++++ mock.spec.in | 1 + py/mock.py | 7 +++++++ 3 files changed, 12 insertions(+) diff --git a/etc/mock/site-defaults.cfg b/etc/mock/site-defaults.cfg index 0ee2082..6da9290 100644 --- a/etc/mock/site-defaults.cfg +++ b/etc/mock/site-defaults.cfg @@ -45,6 +45,10 @@ # config_opts['cleanup_on_success'] = 1 # config_opts['cleanup_on_failure'] = 1 +# if you want mock to automatically run createrepo on the rpms in your +# resultdir. +# config_opts['createrepo_on_rpms'] = True + ############################################################################# # # plugin related. Below are the defaults. Change to suit your site diff --git a/mock.spec.in b/mock.spec.in index 8b91b40..fe739fe 100644 --- a/mock.spec.in +++ b/mock.spec.in @@ -19,6 +19,7 @@ URL: http://fedoraproject.org/wiki/Projects/Mock BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch Requires: python >= 2.4, yum >= 2.4, tar, gzip, python-ctypes, python-decoratortools, usermode +Requires: createrepo Requires(pre): shadow-utils BuildRequires: python-devel diff --git a/py/mock.py b/py/mock.py index f4794ac..eea493c 100755 --- a/py/mock.py +++ b/py/mock.py @@ -227,6 +227,7 @@ def setup_default_config_opts(config_opts, unprivUid): config_opts['cleanup_on_success'] = 1 config_opts['cleanup_on_failure'] = 1 + config_opts['createrepo_on_rpms'] = True # (global) plugins and plugin configs. # ordering constraings: tmpfs must be first. # root_cache next. @@ -378,6 +379,12 @@ def do_rebuild(config_opts, chroot, srpms): if config_opts["cleanup_on_success"]: log.info("Cleaning up build root ('clean_on_success=True')") chroot.clean() + + if config_opts["createrepo_on_rpms"]: + log.info("Running createrepo on binary rpms in resultdir") + cmd = ['/usr/bin/createrepo', '-d', '-q', '-x', '*.src.rpm', chroot.resultdir] + mock.util.do(cmd) + except (Exception, KeyboardInterrupt): elapsed = time.time() - start log.error("Exception(%s) Config(%s) %d minutes %d seconds" -- cgit