summaryrefslogtreecommitdiffstats
path: root/modules/mock.py
diff options
context:
space:
mode:
Diffstat (limited to 'modules/mock.py')
-rw-r--r--modules/mock.py60
1 files changed, 30 insertions, 30 deletions
diff --git a/modules/mock.py b/modules/mock.py
index a49231f..aaa0108 100644
--- a/modules/mock.py
+++ b/modules/mock.py
@@ -17,47 +17,47 @@
#
from __future__ import with_statement
+from subprocess import Popen
+
+from base.base import log
from base.module import Module
-from base.vars import FEDORA_DIR
-from base.profiles import ver_rel, Profile
+from base.profiles import ver_rel
+from base.util import pwd
+
from modules.build import Build
+from modules.dirfactory import DirFactory
from modules.package import Package
+from modules.profile import Profile
class Mock(Module):
- def __init__(self, target_dir, name, profile):
- self.target_dir = target_dir
- self.name = name
- self.pkg = Package(name)
- self.build = Build(name, target_dir)
- # for now we're using the old profile form, namely a branch
- # TODO: fix real profiles
+ def __init__(self, profile, build):
+ self.build = Build(build)
self.profile = Profile(profile)
- def build_rpm(self, target_dir=None):
- if not target_dir:
- if self.target_dir:
- target_dir = self.target_dir
- else:
- raise ExecutionException(None, 'no Target Dir specified')
-
- self.build.build_source_rpm(target_dir, self.profile)
- self.build.fetch_rpms(target_dir)
-
- srpm_name = self.pkg.get_srpm_name(self.profile)
+ def build_rpm(self, package):
+ pkg = DirFactory(package)
+
+ self.build.build_source_rpm(package, self.profile)
+ self.build.fetch_rpms(self.profile.result_dir)
+
+ srpm_name = pkg.get_srpm_name(self.profile)
mock_cfg = self.profile.mock_cfg
result_dir = self.profile.result_dir
- config_dir = self.profile.config_dir
- with pwd(self.pkg.code_dir):
+ config_dir = self.profile.mock_cfg_dir
+ cmd = ['mock', '-r %s' % mock_cfg,
+ '--configdir=%s' % config_dir,
+ '--resultdir=%s' % result_dir,
+ srpm_name]
+ log.debug('cmd is ' + str(cmd))
+ with pwd(pkg.dir):
with file('mock.log', 'w') as mock_out:
- with pwd(FEDORA_DIR):
- p = Popen(['/usr/bin/mock',
- '-r %s' % mock_cfg,
- '--configdir=%s' % config_dir,
- '--resultdir=%s' % result_dir,
- srpm_name],
- stdout=mock_out, stderr=mock_out)
- log.info('quick compiling %s... please wait' % srpm_name)
+ with pwd(result_dir):
+ p = Popen(cmd, stdout=mock_out, stderr=mock_out)
+ log.info('mock compiling %s... please wait' % srpm_name)
p.wait()
+ def close(self):
+ self.build.close()
+ self.profile.close()
__all__ = ['Mock']