diff options
| author | Yaakov M. Nemoy <loupgaroublond@gmail.com> | 2009-01-05 13:50:32 -0500 |
|---|---|---|
| committer | Yaakov M. Nemoy <loupgaroublond@gmail.com> | 2009-01-05 13:50:32 -0500 |
| commit | de3320e82e5a14fe54ebb27a0ef0c0cb381128f4 (patch) | |
| tree | 131e399b7a1391fcb368396c2c931c2d11b9ac04 /modules/package.py | |
| parent | 5cada39e063281f8f0be7a55f4ce2d30ae5432a9 (diff) | |
| download | fedora-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.py | 32 |
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 |
