diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-06-20 05:18:47 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-06-20 05:18:47 +0000 |
commit | 9366887ded3808e77843ed64682b33b17242bf0e (patch) | |
tree | 6aec5818c3a642b974240e1f8a238a095e9efac5 | |
parent | 9f023581d3bb939f2f8369c9973889323b67dd5e (diff) | |
download | portage-9366887ded3808e77843ed64682b33b17242bf0e.tar.gz portage-9366887ded3808e77843ed64682b33b17242bf0e.tar.bz2 portage-9366887ded3808e77843ed64682b33b17242bf0e.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). (trunk r6883)
svn path=/main/branches/2.1.2/; revision=6884
-rwxr-xr-x | bin/emerge | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/bin/emerge b/bin/emerge index cec8977f2..27a48ee2c 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): - world_problems = True - else: - sysdict[x]=worlddict[x] - - mylist = sysdict.keys() + continue + elif not vardb.match(x): + 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: + world_problems = True + continue + mylist.append(x) newlist = [] for atom in mylist: |