diff options
author | Yaakov M. Nemoy <loupgaroublond@gmail.com> | 2008-10-05 02:14:13 -0400 |
---|---|---|
committer | Yaakov M. Nemoy <loupgaroublond@gmail.com> | 2008-10-05 02:14:13 -0400 |
commit | 9b80ff4d4def847d9aaeaf3bf88bddcb35ef8ea2 (patch) | |
tree | 4562fab7b87872dd009a006b7a372ada3a7c2dfa /modules | |
parent | d8471caa6b855a41aef8109108627f60f97c8f15 (diff) | |
download | fedora-devshell-9b80ff4d4def847d9aaeaf3bf88bddcb35ef8ea2.tar.gz fedora-devshell-9b80ff4d4def847d9aaeaf3bf88bddcb35ef8ea2.tar.xz fedora-devshell-9b80ff4d4def847d9aaeaf3bf88bddcb35ef8ea2.zip |
Adds build module
Diffstat (limited to 'modules')
-rw-r--r-- | modules/build.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/modules/build.py b/modules/build.py new file mode 100644 index 0000000..5787674 --- /dev/null +++ b/modules/build.py @@ -0,0 +1,38 @@ +from __future__ import with_statement + +from shutil import copyfileobj +from os.path import join +from os import listdir, getcwd + +from base.base import log +from base.module import Module +from base.util import pwd, copy +from base.exceptions import ExecutionException + +from modules.package import Package + +class Build(Module): + def __init__(self, name=None, target_dir=None): + log.debug('name is %s' % name) + self.name = name + self.pkg = Package(name) + self.target_dir = target_dir + + def setup_source(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') + log.debug('target dir is %s' % target_dir) + with pwd(self.pkg.code_dir): + copy(self.name + '.spec', + join(self.target_dir, 'SPECS', self.name + '.spec')) + sball = self.pkg.pkg_cfg['sourceball'] + copy(sball, join(self.target_dir, 'SOURCES', sball)) + patches = [f for f in listdir(getcwd()) if f.endswith('.patch')] + for p in patches: + copy(patch, join(self.target_dir, 'SOURCES', p)) + + def close(self): + pass
\ No newline at end of file |