summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-11-05 08:01:54 +0000
committerZac Medico <zmedico@gentoo.org>2007-11-05 08:01:54 +0000
commit0fd45502c0d97f21c455053be6a6309e9aa8bb10 (patch)
treeb7c32d967a2f22f57d128f0a7d07142eba684445 /bin/emaint
parentFix 'TypeError: not all arguments converted during string formatting' (diff)
downloadportage-idfetch-0fd45502c0d97f21c455053be6a6309e9aa8bb10.tar.gz
portage-idfetch-0fd45502c0d97f21c455053be6a6309e9aa8bb10.tar.bz2
portage-idfetch-0fd45502c0d97f21c455053be6a6309e9aa8bb10.zip
Add support for package sets in WorldHandler.
svn path=/main/trunk/; revision=8431
Diffstat (limited to 'bin/emaint')
-rwxr-xr-xbin/emaint12
1 files changed, 11 insertions, 1 deletions
diff --git a/bin/emaint b/bin/emaint
index 64af1f01..66a4dddf 100755
--- a/bin/emaint
+++ b/bin/emaint
@@ -32,13 +32,23 @@ class WorldHandler(object):
self.found = os.access(self.world_file, os.R_OK)
vardb = portage.db[myroot]["vartree"].dbapi
+ from portage.sets import make_default_config, SETPREFIX
+ setconfig = make_default_config(portage.settings, portage.db[myroot])
+ sets = setconfig.getSetsWithAliases()
world_atoms = open(self.world_file).read().split()
maxval = len(world_atoms)
if onProgress:
onProgress(maxval, 0)
for i, atom in enumerate(world_atoms):
if not portage.isvalidatom(atom):
- self.invalid.append(atom)
+ if atom.startswith(SETPREFIX):
+ s = atom[len(SETPREFIX):]
+ if s in sets:
+ self.okay.append(atom)
+ else:
+ self.not_installed.append(atom)
+ else:
+ self.invalid.append(atom)
if onProgress:
onProgress(maxval, i+1)
continue