summaryrefslogtreecommitdiff
path: root/portato/backend/portage/package.py
diff options
context:
space:
mode:
authorNecoro <>2008-01-11 17:02:28 +0000
committerNecoro <>2008-01-11 17:02:28 +0000
commit933b7e68f19d6107bff06b29fbbce7f364fba74a (patch)
tree15b4052f870cf0814791debb1394d5bc2b07c781 /portato/backend/portage/package.py
parent8be4bf021300b29e71a9d7a8dee4c41803581656 (diff)
downloadportato-933b7e68f19d6107bff06b29fbbce7f364fba74a.tar.gz
portato-933b7e68f19d6107bff06b29fbbce7f364fba74a.tar.bz2
portato-933b7e68f19d6107bff06b29fbbce7f364fba74a.zip
r598@Devoty: necoro | 2008-01-10 16:36:29 +0100
Handle the new useflag format correctly
Diffstat (limited to 'portato/backend/portage/package.py')
-rw-r--r--portato/backend/portage/package.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/portato/backend/portage/package.py b/portato/backend/portage/package.py
index e5e5603..bc157cf 100644
--- a/portato/backend/portage/package.py
+++ b/portato/backend/portage/package.py
@@ -130,13 +130,20 @@ class PortagePackage (Package):
else:
return reason
- def get_iuse_flags (self, installed = False):
+ def get_iuse_flags (self, installed = False, keep = False):
if installed or not self.is_in_system():
tree = self._settings.vartree
else:
tree = self._settings.porttree
- return list(set(self.get_package_settings("IUSE", tree = tree).split()).difference(self.forced_flags))
+ flags = self.get_package_settings("IUSE", tree = tree).split()
+
+ if not keep: # remove "+"/"-"
+ for ctr, f in enumerate(flags):
+ if f.startswith(("+","-")):
+ flags[ctr] = f[1:]
+
+ return list(set(flags).difference(self.forced_flags))
def get_matched_dep_packages (self, depvar):
# change the useflags, because we have internally changed some, but not made them visible for portage