summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-05-30 02:44:41 +0000
committerZac Medico <zmedico@gentoo.org>2007-05-30 02:44:41 +0000
commit2ccc1bdd379690eeaf36181b49ec01dc294f0e36 (patch)
tree7e3fa2b1d7d8cde445b0990fca9bba92aeafbb29
parentb4c02761c93b4a68dd7166366e332734e7f54647 (diff)
downloadportage-2ccc1bdd379690eeaf36181b49ec01dc294f0e36.tar.gz
portage-2ccc1bdd379690eeaf36181b49ec01dc294f0e36.tar.bz2
portage-2ccc1bdd379690eeaf36181b49ec01dc294f0e36.zip
For bug #61732, support -flag in USE (instead of just +flag). Given the current default USE_ORDER, -flag in IUSE has no effect. (trunk r6671)
svn path=/main/branches/2.1.2/; revision=6672
-rwxr-xr-xbin/ebuild.sh2
-rwxr-xr-xbin/emerge2
-rw-r--r--pym/portage.py7
3 files changed, 8 insertions, 3 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 2590fcd9a..25e41ec9d 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -1574,7 +1574,7 @@ if [ "${EBUILD_PHASE}" != "depend" ]; then
# Make IUSE defaults backward compatible with all the old shell code.
iuse_temp=""
for x in ${IUSE} ; do
- if [[ ${x} == +* ]]; then
+ if [[ ${x} == +* ]] || [[ ${x} == -* ]] ; then
iuse_temp="${iuse_temp} ${x:1}"
else
iuse_temp="${iuse_temp} ${x}"
diff --git a/bin/emerge b/bin/emerge
index 7b5e6f378..03446c7c8 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -596,7 +596,7 @@ def genericdict(mylist):
def filter_iuse_defaults(iuse):
for flag in iuse:
- if flag.startswith("+"):
+ if flag.startswith("+") or flag.startswith("-"):
yield flag[1:]
else:
yield flag
diff --git a/pym/portage.py b/pym/portage.py
index 83edfeaa9..ecf14c703 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -1682,7 +1682,12 @@ class config:
if mydb:
slot, iuse = mydb.aux_get(self.mycpv, ["SLOT", "IUSE"])
cpv_slot = "%s:%s" % (self.mycpv, slot)
- pkginternaluse = [x[1:] for x in iuse.split() if x.startswith("+")]
+ pkginternaluse = []
+ for x in iuse.split():
+ if x.startswith("+"):
+ pkginternaluse.append(x[1:])
+ elif x.startswith("-"):
+ pkginternaluse.append(x)
pkginternaluse = " ".join(pkginternaluse)
if pkginternaluse != self.configdict["pkginternal"].get("USE", ""):
self.configdict["pkginternal"]["USE"] = pkginternaluse