diff options
author | Necoro <> | 2008-01-11 17:02:28 +0000 |
---|---|---|
committer | Necoro <> | 2008-01-11 17:02:28 +0000 |
commit | 933b7e68f19d6107bff06b29fbbce7f364fba74a (patch) | |
tree | 15b4052f870cf0814791debb1394d5bc2b07c781 /portato/backend/portage/package.py | |
parent | 8be4bf021300b29e71a9d7a8dee4c41803581656 (diff) | |
download | portato-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.py | 11 |
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 |