diff --git a/pisi/build.py b/pisi/build.py index 3880d05a..65f3ff67 100644 --- a/pisi/build.py +++ b/pisi/build.py @@ -138,7 +138,7 @@ class PisiBuild: ui.info("Fetching source from: %s\n" % self.spec.source.archiveUri) self.sourceArchive.fetch() ui.info("Source archive is stored: %s/%s\n" - %(self.ctx.archives_dir(), self.spec.source.archiveName)) + %(config.archives_dir(), self.spec.source.archiveName)) def unpackSourceArchive(self): ui.info("Unpacking archive...") diff --git a/pisi/config.py b/pisi/config.py index 9a834add..9ff3b26c 100644 --- a/pisi/config.py +++ b/pisi/config.py @@ -29,6 +29,9 @@ class Config(object): self.values = ConfigurationFile("/etc/pisi/pisi.conf") self.destdir = self.values.general.destinationdirectory + def __call__(self): + return self + # directory accessor functions # here is how it goes # x_dir: system wide directory for storing info type x diff --git a/pisi/context.py b/pisi/context.py index cc496698..0a99eaa6 100644 --- a/pisi/context.py +++ b/pisi/context.py @@ -16,49 +16,37 @@ # Eray Ozkural from constants import const -from config import Config +from config import config from specfile import SpecFile class BuildContext(object): """Build Context Singleton""" - class ctximpl(Config.configimpl): # singleton implementation - - def __init(self): - super(ctximpl, self).__init__() - - def setSpecFile(self, pspecfile): - self.pspecfile = pspecfile - spec = SpecFile() - spec.read(pspecfile) - spec.verify() # check pspec integrity - self.spec = spec - - # directory accessor functions - - # pkg_x_dir: per package directory for storing info type x - - def pkg_dir(self): - "package build directory" - packageDir = self.spec.source.name + '-' \ - + self.spec.source.version + '-' + self.spec.source.release - - return self.destdir + self.values.dirs.tmp_dir \ - + '/' + packageDir - - def pkg_work_dir(self): - return self.pkg_dir() + const.work_dir_suffix - - def pkg_install_dir(self): - return self.pkg_dir() + const.install_dir_suffix - - __instance = ctximpl() # singleton implementation - def __init__(self, pspecfile): - self.__instance.setSpecFile(pspecfile) + super(BuildContext, self).__init__() + self.setSpecFile(pspecfile) - def __getattr__(self, attr): - return getattr(self.__instance, attr) + def setSpecFile(self, pspecfile): + self.pspecfile = pspecfile + spec = SpecFile() + spec.read(pspecfile) + spec.verify() # check pspec integrity + self.spec = spec - def __setattr__(self, attr, value): - setattr(self.__instance, attr, value) + # directory accessor functions + + # pkg_x_dir: per package directory for storing info type x + + def pkg_dir(self): + "package build directory" + packageDir = self.spec.source.name + '-' + \ + self.spec.source.version + '-' + self.spec.source.release + + return config.destdir + config.values.dirs.tmp_dir \ + + '/' + packageDir + + def pkg_work_dir(self): + return self.pkg_dir() + const.work_dir_suffix + + def pkg_install_dir(self): + return self.pkg_dir() + const.install_dir_suffix