diff options
Diffstat (limited to 'rpmci/rpmci_srpm_builder_main.py')
-rw-r--r-- | rpmci/rpmci_srpm_builder_main.py | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/rpmci/rpmci_srpm_builder_main.py b/rpmci/rpmci_srpm_builder_main.py index 1796d8b..d0e554e 100644 --- a/rpmci/rpmci_srpm_builder_main.py +++ b/rpmci/rpmci_srpm_builder_main.py @@ -23,6 +23,7 @@ import gobject import gio from . import msgqueue +from . import subtask from . import dynrepo from . import artifact from . import spec @@ -69,9 +70,10 @@ class SRPMBuilder(object): '--define', '_rpmdir ' + src_dirpath] def _on_vcs_message(self, q, messages): - num_msgs = len(messages) + msg_list = list(messages) + num_msgs = len(msg_list) logging.debug("Starting processing of %d messages" % (num_msgs, )) - for msg in messages: + for msg in msg_list: url = msg.payload['url'] logging.debug("Processing update for VCS url %r" % (url, )) self._handle_vcs_message_url(q, url) @@ -119,19 +121,18 @@ class SRPMBuilder(object): target_spec_obj.save() exec_basedir = os.path.dirname(sys.argv[0]) + args = [os.path.abspath(os.path.join(exec_basedir, 'rpmci-spec-vcs')), '--vcsdir=' + upstream_vcs.get_directory(), 'set-revision', 'HEAD'] - print "Synchronously executing: %r" % (args, ) - subprocess.check_call(args, - stdout=sys.stdout, stderr=sys.stderr, - cwd=fedora_dir) + subtask.spawn_sync('rpmci-spec-vcs-%s' % (target.module, ), + args, cwd=fedora_dir) + args = ['rpmbuild'] args.extend(self._get_base_rpmbuild_args(fedora_dir)) args.extend(['-bs', specname]) - print "Synchronously executing: %r" % (args, ) - subprocess.check_call(args, cwd=fedora_dir, stdout=sys.stdout, - stderr=sys.stderr) + subtask.spawn_sync('rpmbuild-srpm-%s' % (target.module, ), + args, cwd=fedora_dir) srpm_path = None srpm_basename = None for filename in os.listdir(fedora_dir): @@ -163,8 +164,11 @@ def main(): level = logging.DEBUG if options.debug else logging.INFO logging.basicConfig(stream=sys.stderr, level=level) + subtask.global_configure(config) + builder = SRPMBuilder(options, config) builder.start() + logging.info("Awaiting events") loop = glib.MainLoop() loop.run() |