config: Let --destdir= parameter work again
This is another regression introduced after the Config class became a Singleton.
This commit is contained in:
+16
-14
@@ -49,19 +49,6 @@ class Config(object):
|
|||||||
self.set_options(options)
|
self.set_options(options)
|
||||||
self.values = pisi.configfile.ConfigurationFile("/etc/pisi/pisi.conf")
|
self.values = pisi.configfile.ConfigurationFile("/etc/pisi/pisi.conf")
|
||||||
|
|
||||||
destdir = self.get_option('destdir')
|
|
||||||
if destdir:
|
|
||||||
if destdir.strip().startswith('/'):
|
|
||||||
self.destdir = destdir
|
|
||||||
else:
|
|
||||||
self.destdir = pisi.util.join_path(os.getcwd(), destdir)
|
|
||||||
else:
|
|
||||||
self.destdir = self.values.general.destinationdirectory
|
|
||||||
|
|
||||||
if not os.path.exists(self.destdir):
|
|
||||||
ctx.ui.warning( _('Destination directory %s does not exist. Creating it.') % self.destdir)
|
|
||||||
os.makedirs(self.destdir)
|
|
||||||
|
|
||||||
# get the initial environment variables. this is needed for
|
# get the initial environment variables. this is needed for
|
||||||
# build process.
|
# build process.
|
||||||
self.environ = copy.deepcopy(os.environ)
|
self.environ = copy.deepcopy(os.environ)
|
||||||
@@ -69,6 +56,9 @@ class Config(object):
|
|||||||
def set_options(self, options):
|
def set_options(self, options):
|
||||||
self.options = options
|
self.options = options
|
||||||
|
|
||||||
|
# Reset __dest_dir to re-read from options
|
||||||
|
self.__dest_dir = None
|
||||||
|
|
||||||
def set_option(self, opt, val):
|
def set_option(self, opt, val):
|
||||||
setattr(self.options, opt, val)
|
setattr(self.options, opt, val)
|
||||||
|
|
||||||
@@ -84,7 +74,19 @@ class Config(object):
|
|||||||
# pkg_x_dir: per package directory for storing info type x
|
# pkg_x_dir: per package directory for storing info type x
|
||||||
|
|
||||||
def dest_dir(self):
|
def dest_dir(self):
|
||||||
return self.destdir
|
if self.__dest_dir is None:
|
||||||
|
destdir = self.get_option('destdir')
|
||||||
|
if destdir:
|
||||||
|
self.__dest_dir = os.path.abspath(destdir)
|
||||||
|
else:
|
||||||
|
self.__dest_dir = self.values.general.destinationdirectory
|
||||||
|
|
||||||
|
if not os.path.exists(self.__dest_dir):
|
||||||
|
ctx.ui.warning(_("Destination directory %s does not exist. "
|
||||||
|
"Creating it.") % self.__dest_dir)
|
||||||
|
os.makedirs(self.__dest_dir)
|
||||||
|
|
||||||
|
return self.__dest_dir
|
||||||
|
|
||||||
def subdir(self, path):
|
def subdir(self, path):
|
||||||
subdir = pisi.util.join_path(self.dest_dir(), path)
|
subdir = pisi.util.join_path(self.dest_dir(), path)
|
||||||
|
|||||||
Reference in New Issue
Block a user