* revamp build context too, simplify this stuff

* make build run again, packagers GA :)
* more fixes to come
This commit is contained in:
Eray Özkural
2005-08-08 20:03:09 +00:00
parent 56a060eb36
commit 59ccb3f84c
3 changed files with 30 additions and 39 deletions
+1 -1
View File
@@ -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...")
+3
View File
@@ -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
+26 -38
View File
@@ -16,49 +16,37 @@
# Eray Ozkural <eray@uludag.org.tr>
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