summaryrefslogtreecommitdiffstats
path: root/modules/package.py
diff options
context:
space:
mode:
authorYaakov M. Nemoy <loupgaroublond@gmail.com>2009-01-05 13:50:32 -0500
committerYaakov M. Nemoy <loupgaroublond@gmail.com>2009-01-05 13:50:32 -0500
commitde3320e82e5a14fe54ebb27a0ef0c0cb381128f4 (patch)
tree131e399b7a1391fcb368396c2c931c2d11b9ac04 /modules/package.py
parent5cada39e063281f8f0be7a55f4ce2d30ae5432a9 (diff)
downloadfedora-devshell-de3320e82e5a14fe54ebb27a0ef0c0cb381128f4.tar.gz
fedora-devshell-de3320e82e5a14fe54ebb27a0ef0c0cb381128f4.tar.xz
fedora-devshell-de3320e82e5a14fe54ebb27a0ef0c0cb381128f4.zip
fixed package to differentiate between canonical name and rpm name
Diffstat (limited to 'modules/package.py')
-rw-r--r--modules/package.py32
1 files changed, 23 insertions, 9 deletions
diff --git a/modules/package.py b/modules/package.py
index 8d61091..f7b875c 100644
--- a/modules/package.py
+++ b/modules/package.py
@@ -18,45 +18,59 @@
from __future__ import with_statement
+from os.patch import split
from base.base import log
from base.exceptions import ExecutionException
-from base.util import pwd, copy
-from base.profiles import ver_rel
+from base.util import pwd, copy, mv
+from base.profiles import ver_rel, name
from modules.directory import Directory
class Package(Directory):
_type = 'package'
+ # These two methods are here as examples.
def load_dir(self, dir):
super(Package, self).load_dir(dir)
- # this is a hack for some refactoring backwards compatibility
- #TODO: replace code_dir with just dir
- self.code_dir = self.cfg['dir']
def make_dir(self, dir):
super(Package, self).make_dir(dir)
- self.code_dir = dir
def add_spec(self, spec_file):
log.debug('spec_file is %s' % spec_file)
log.debug('spec_file_name is %s' % self.name + '.spec')
+ #TODO: get the spec file name, copy
+ # Then get the actual package name and set pkg_name to the right one
+ spec_fname = split(spec_file)[1]
with pwd(self.code_dir):
try:
- copy(spec_file, self.name)
+ copy(spec_file, spec_fname)
+ self.cfg['pkg_name'] = name(spec_fname)
+ if not spec_fname == self.spec_file:
+ mv(spec_fname, self.spec_file)
except IOError, e:
log.error(str(e))
raise ExecutionException(e, 'spec-file could not be added')
@property
def spec_file(self):
- return self.name + '.spec'
+ return self.pkg_name + '.spec'
+
+ @property
+ def code_dir(self):
+ # this is a hack for some refactoring backwards compatibility
+ #TODO: replace code_dir with just dir
+ return self.cfg['dir']
+
+ @property
+ def pkg_dir(self):
+ return self.cfg['pkg_dir']
def get_srpm_name(self, profile):
with pwd(self.code_dir):
ver, rel = ver_rel(self.spec_file, profile.dist_defines())
- return '%s-%s-%s.src.rpm' % (self.name, ver, rel)
+ return '%s-%s-%s.src.rpm' % (self.pkg_name, ver, rel)
def source_dir(self, *args):
raise NotImplementedError