summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Stubbs <jstubbs@gentoo.org>2005-10-05 15:40:46 +0000
committerJason Stubbs <jstubbs@gentoo.org>2005-10-05 15:40:46 +0000
commita766f09e2eb75e29853ec85a64a497985c65033b (patch)
tree6acdaf15c0f3c856515034d458b98e4c400198ed
parentc68666f5adbcc363e87ca06c5bd6befe0ade8700 (diff)
downloadportage-a766f09e2eb75e29853ec85a64a497985c65033b.tar.gz
portage-a766f09e2eb75e29853ec85a64a497985c65033b.tar.bz2
portage-a766f09e2eb75e29853ec85a64a497985c65033b.zip
Suggest running emaint when problems with the world file are detected.
svn path=/main/branches/2.0/; revision=2097
-rwxr-xr-xbin/emerge19
1 files changed, 13 insertions, 6 deletions
diff --git a/bin/emerge b/bin/emerge
index a89dab786..b1a8f4eca 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -860,9 +860,6 @@ def getlist(mode):
if myline[0]!="*":
continue
myline=myline[1:]
- if not portage.isvalidatom(myline):
- print "!!! Invalid atom '%s' in your '%s' file" % (myline, mode)
- continue
mynewlines.append(myline.strip())
# Remove everything that is package.provided from our list
@@ -1393,11 +1390,21 @@ class depgraph:
sysdict=genericdict(syslist)
worlddict=genericdict(worldlist)
+ world_problems = False
for x in worlddict.keys():
- if portage.db["/"]["vartree"].dbapi.match(x):
- sysdict[x]=worlddict[x]
+ if not portage.isvalidatom(x):
+ world_problems = True
+ elif not portage.db["/"]["vartree"].dbapi.match(x):
+ world_problems = True
+ elif not portage.db["/"]["porttree"].dbapi.match(x):
+ world_problems = True
else:
- print "\n*** Package in world file is not installed: "+x
+ sysdict[x]=worlddict[x]
+ if world_problems:
+ print "\n!!! Problems have been detected with your world file"
+ print "!!! Please run "+green("emaint --check world")+"\n"
+ del world_problems
+
mylist = sysdict.keys()
for mydep in mylist: