summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-07-31 21:45:18 -0700
committerZac Medico <zmedico@gentoo.org>2010-07-31 21:45:18 -0700
commitf5e48098ddd114c2448ff0071f4267b3bc4ee880 (patch)
treec13c589f0eec373f5b0a49c9ace8fd359a5122de /bin
parenteef823e9c368d2feeafc187b1ad00092a5086a12 (diff)
downloadportage-f5e48098ddd114c2448ff0071f4267b3bc4ee880.tar.gz
portage-f5e48098ddd114c2448ff0071f4267b3bc4ee880.tar.bz2
portage-f5e48098ddd114c2448ff0071f4267b3bc4ee880.zip
Always use shlex_split() to split CONFIG_PROTECT{,_MASK}.
Diffstat (limited to 'bin')
-rwxr-xr-xbin/dispatch-conf23
-rwxr-xr-xbin/quickpkg7
2 files changed, 17 insertions, 13 deletions
diff --git a/bin/dispatch-conf b/bin/dispatch-conf
index fc9cdd513..a7556a3a3 100755
--- a/bin/dispatch-conf
+++ b/bin/dispatch-conf
@@ -13,11 +13,8 @@
from __future__ import print_function
-if not hasattr(__builtins__, "set"):
- from sets import Set as set
-
-from stat import *
-from random import *
+from stat import ST_GID, ST_MODE, ST_UID
+from random import random
import atexit, re, shutil, stat, sys
try:
@@ -74,7 +71,7 @@ class dispatch:
confs = []
count = 0
-
+ config_root = '/'
self.options = portage.dispatch_conf.read_config(MANDATORY_OPTS)
if "log-file" in self.options:
@@ -91,7 +88,7 @@ class dispatch:
# Build list of extant configs
#
- for path in config_paths.split ():
+ for path in config_paths:
path = portage.normalize_path(path)
try:
mymode = os.stat(path).st_mode
@@ -116,6 +113,10 @@ class dispatch:
# config file freezing support
frozen_files = set(self.options.get("frozen-files", "").split())
auto_zapped = []
+ protect_obj = ConfigProtect(
+ config_root, config_paths,
+ portage.util.shlex_split(
+ portage.settings.get('CONFIG_PROTECT_MASK', '')))
#
# Remove new configs identical to current
@@ -190,7 +191,8 @@ class dispatch:
except OSError:
pass
return False
- elif unmodified or same_cvs or same_wsc or conf ['dir'] in portage.settings ['CONFIG_PROTECT_MASK'].split ():
+ elif unmodified or same_cvs or same_wsc or \
+ not protect_obj.isprotected(conf['current']):
self.replace(newconf, conf['current'])
self.post_process(conf['current'])
if newconf == mrgconf:
@@ -426,6 +428,7 @@ d = dispatch ()
if len(sys.argv) > 1:
# for testing
- d.grind (" ".join(sys.argv[1:]))
+ d.grind(sys.argv[1:])
else:
- d.grind (portage.settings ['CONFIG_PROTECT'])
+ d.grind(portage.util.shlex_split(
+ portage.settings.get('CONFIG_PROTECT', '')))
diff --git a/bin/quickpkg b/bin/quickpkg
index 8e74c2c34..b703ee675 100755
--- a/bin/quickpkg
+++ b/bin/quickpkg
@@ -23,12 +23,13 @@ from portage import xpak
from portage.dbapi.dep_expand import dep_expand
from portage.dep import flatten, paren_reduce, use_reduce
from portage.exception import InvalidAtom, InvalidData, InvalidDependString, PackageSetNotFound
-from portage.util import ConfigProtect, ensure_dirs
+from portage.util import ConfigProtect, ensure_dirs, shlex_split
from portage.dbapi.vartree import dblink, tar_contents
from portage.checksum import perform_md5
from portage.sets import load_default_config, SETPREFIX
def quickpkg_atom(options, infos, arg, eout):
+ settings = portage.settings
root = portage.settings["ROOT"]
trees = portage.db[root]
vartree = trees["vartree"]
@@ -96,8 +97,8 @@ def quickpkg_atom(options, infos, arg, eout):
protect = None
if not include_config:
confprot = ConfigProtect(root,
- portage.settings.get("CONFIG_PROTECT","").split(),
- portage.settings.get("CONFIG_PROTECT_MASK","").split())
+ shlex_split(settings.get("CONFIG_PROTECT", "")),
+ shlex_split(settings.get("CONFIG_PROTECT_MASK", "")))
def protect(filename):
if not confprot.isprotected(filename):
return False