From 0ae7a650e2d6c507de3d3e54c0734485ccea232c Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 30 May 2007 02:42:05 +0000 Subject: [PATCH] For bug #61732, support -flag in USE (instead of just +flag). Given the current default USE_ORDER, -flag in IUSE has no effect. svn path=/main/trunk/; revision=6671 --- bin/ebuild.sh | 2 +- pym/emerge/__init__.py | 2 +- pym/portage/__init__.py | 7 ++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/bin/ebuild.sh b/bin/ebuild.sh index 8b9981a1e..e533ca31d 100755 --- a/bin/ebuild.sh +++ b/bin/ebuild.sh @@ -1501,7 +1501,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/pym/emerge/__init__.py b/pym/emerge/__init__.py index 5f4219259..592dda9cc 100644 --- a/pym/emerge/__init__.py +++ b/pym/emerge/__init__.py @@ -598,7 +598,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/__init__.py b/pym/portage/__init__.py index 59716ac69..c61c0bda9 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -1695,7 +1695,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 -- 2.26.2