summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-07-30 04:29:11 +0000
committerZac Medico <zmedico@gentoo.org>2007-07-30 04:29:11 +0000
commit0a7b011b785a0f8f67f770eabf6eae9d4f22707d (patch)
tree186c47533af6308e859605e23dc3e72c3dc85ce3 /bin
parent7018f3627812e4787d274e875853407535a64ff2 (diff)
downloadportage-0a7b011b785a0f8f67f770eabf6eae9d4f22707d.tar.gz
portage-0a7b011b785a0f8f67f770eabf6eae9d4f22707d.tar.bz2
portage-0a7b011b785a0f8f67f770eabf6eae9d4f22707d.zip
If a package is in the world set but it's not installed, go ahead and install it if it's available (instead of telling the user to run emaint). (branches/2.1.2 r6884 and r6888)
svn path=/main/branches/2.1.2.9/; revision=7469
Diffstat (limited to 'bin')
-rwxr-xr-xbin/emerge22
1 files changed, 16 insertions, 6 deletions
diff --git a/bin/emerge b/bin/emerge
index d7d36cf57..8e43bb822 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -2177,18 +2177,28 @@ class depgraph:
else:
#world mode
worldlist = getlist(self.settings, "world")
- sysdict = genericdict(getlist(self.settings, "system"))
+ mylist = getlist(self.settings, "system")
worlddict=genericdict(worldlist)
for x in worlddict.keys():
if not portage.isvalidatom(x):
world_problems = True
- elif not self.trees[self.target_root]["vartree"].dbapi.match(x):
+ continue
+ elif not vardb.match(x):
world_problems = True
- else:
- sysdict[x]=worlddict[x]
-
- mylist = sysdict.keys()
+ available = False
+ if "--usepkgonly" not in self.myopts and \
+ portdb.match(x):
+ available = True
+ elif "--usepkg" in self.myopts:
+ mymatches = bindb.match(x)
+ if "--usepkgonly" not in self.myopts:
+ mymatches = visible(mymatches)
+ if mymatches:
+ available = True
+ if not available:
+ continue
+ mylist.append(x)
newlist = []
for atom in mylist: