dispatch-conf: substitute ${EPREFIX} archive-dir
authorZac Medico <zmedico@gentoo.org>
Thu, 8 Dec 2011 20:20:54 +0000 (12:20 -0800)
committerZac Medico <zmedico@gentoo.org>
Thu, 8 Dec 2011 20:20:54 +0000 (12:20 -0800)
This allows prefix installs to avoid hardcoding archive-dir.

cnf/dispatch-conf.conf
pym/portage/dispatch_conf.py

index c4ab33f990dc41f807a2a1597025200e2495e0e5..7eea44c8e46a1730b071906728cd25ef1d56a020 100644 (file)
@@ -3,7 +3,7 @@
 #
 
 # Directory to archive replaced configs
-archive-dir=/etc/config-archive
+archive-dir=${EPREFIX}/etc/config-archive
 
 # Use rcs for storing files in the archive directory?
 # WARNING: When configured to use rcs, read and execute permissions of
index f5beba5c01f205ea436c0f471308c8833356e68c..abd3ac1416d920ff1b642c8f6dd62ce44ff64476 100644 (file)
@@ -13,6 +13,7 @@ import os, sys, shutil
 import portage
 from portage.env.loaders import KeyValuePairFileLoader
 from portage.localization import _
+from portage.util import varexpand
 
 RCS_BRANCH = '1.1.1'
 RCS_LOCK = 'rcs -ko -M -l'
@@ -59,6 +60,10 @@ def read_config(mandatory_opts):
             else:
                 print(_('dispatch-conf: Missing option "%s" in /etc/dispatch-conf.conf; fatal') % (key,), file=sys.stderr)
 
+    # archive-dir supports ${EPREFIX} expansion, in order to avoid hardcoding
+    variables = {"EPREFIX": eprefix}
+    opts['archive-dir'] = varexpand(opts['archive-dir'], mydict=variables)
+
     if not os.path.exists(opts['archive-dir']):
         os.mkdir(opts['archive-dir'])
         # Use restrictive permissions by default, in order to protect