diff options
-rwxr-xr-x | bin/ebuild.sh | 2 | ||||
-rwxr-xr-x | bin/emerge | 2 | ||||
-rw-r--r-- | pym/portage.py | 7 |
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 |