import glob
import shutil
import stat
-from time import sleep
import tempfile
import re
import rpm
+import subprocess
pjoin = os.path.join # shortcut
os.system('rm %s/repodata/repomd.xml.asc' %dest_src)
os.system('rm %s/repodata/repomd.xml.asc' %dest_pkg)
- # debug
- os.system('createrepo --quiet -d --changelog-limit=1 --update %s' % dest_debug)
- self.sign(dest_debug)
+ # use subprocess to make the createrepo non-blocking
+ # debug
+ debug_repo = subprocess.Popen('createrepo --quiet -d --changelog-limit=1 --update %s' % dest_debug, shell=True)
# source
- os.system('createrepo --quiet -d --changelog-limit=10 --update %s' % dest_src)
- self.sign(dest_src)
+ src_repo = subprocess.Popen('createrepo --quiet -d --changelog-limit=10 --update %s' % dest_src, shell=True)
self._rm_files(pjoin(dest_pkg, 'repodata', '*comps*'))
self._rm_files(pjoin(dest_pkg, 'repodata', '*patterns*'))
self._rm_files(pjoin(dest_pkg, 'repodata', '*group*'))
self._rm_files(pjoin(dest_pkg, 'repodata', '*image-config*'))
-
# packages
- os.system('createrepo --quiet --unique-md-filenames -d --changelog-limit=5 --update %s' % dest_pkg)
- self.sign(dest_pkg)
+ pkg_repo = subprocess.Popen('createrepo --quiet --unique-md-filenames -d --changelog-limit=5 --update %s' % dest_pkg, shell=True)
+ debug_repo.wait()
+ src_repo.wait()
+ pkg_repo.wait()
+ self.sign(dest_debug)
+ self.sign(dest_src)
+ self.sign(dest_pkg)
def update_package_groups( self, dest_pkg):
""" Checking for patterns at: rawrepo/repodata/{group.xml,patterns.xml}.gz