summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorYaakov M. Nemoy <loupgaroublond@gmail.com>2008-10-05 02:14:13 -0400
committerYaakov M. Nemoy <loupgaroublond@gmail.com>2008-10-05 02:14:13 -0400
commit9b80ff4d4def847d9aaeaf3bf88bddcb35ef8ea2 (patch)
tree4562fab7b87872dd009a006b7a372ada3a7c2dfa /modules
parentd8471caa6b855a41aef8109108627f60f97c8f15 (diff)
downloadfedora-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.py38
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