summaryrefslogtreecommitdiffstats
path: root/rpmci/rpmci_srpm_builder_main.py
diff options
context:
space:
mode:
Diffstat (limited to 'rpmci/rpmci_srpm_builder_main.py')
-rw-r--r--rpmci/rpmci_srpm_builder_main.py22
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()