summaryrefslogtreecommitdiffstats
path: root/bin/emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-06-21 01:17:51 +0000
committerZac Medico <zmedico@gentoo.org>2006-06-21 01:17:51 +0000
commit2e22288b38e93c449bb2ad4ee9ddec06382f693b (patch)
treebd4728bbe1d41b71734cee8d46f1e1a7467c63a0 /bin/emerge
parenta557ecd1b9d964f4b3fcd3a0fa107e41f2a77f1c (diff)
downloadportage-2e22288b38e93c449bb2ad4ee9ddec06382f693b.tar.gz
portage-2e22288b38e93c449bb2ad4ee9ddec06382f693b.tar.bz2
portage-2e22288b38e93c449bb2ad4ee9ddec06382f693b.zip
By popular demand (including releng), revert the unmerge behavior change from bug #118515 (r3186). This patch is from trunk r3548.
svn path=/main/branches/2.1/; revision=3549
Diffstat (limited to 'bin/emerge')
-rwxr-xr-xbin/emerge18
1 files changed, 9 insertions, 9 deletions
diff --git a/bin/emerge b/bin/emerge
index 80eb2bb21..9561053f9 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -2216,7 +2216,7 @@ def unmerge_overlapping(pkg_key, myroot, mysettings, vartree):
return 1
return 0
-def unmerge(unmerge_action, unmerge_files):
+def unmerge(unmerge_action, unmerge_files, raise_on_missing=True):
candidate_catpkgs=[]
global_unmerge=0
@@ -2337,7 +2337,12 @@ def unmerge(unmerge_action, unmerge_files):
#add a "=" if missing
mymatch=localtree.dep_match("="+x)
if not mymatch:
- raise portage_exception.PackageNotFound(x)
+ if raise_on_missing:
+ raise portage_exception.PackageNotFound(x)
+ else:
+ portage.writemsg("\n--- Couldn't find '%s' to %s.\n" % \
+ (x, unmerge_action), noiselevel=-1)
+ continue
mykey=portage.key_expand(portage.dep_getkey(mymatch[0]),portage.db["/"]["vartree"].dbapi)
if not pkgmap.has_key(mykey):
pkgmap[mykey]={"protected":[], "selected":[], "omitted":[] }
@@ -3218,13 +3223,8 @@ elif "search"==myaction:
sys.exit(1)
searchinstance.output()
elif "unmerge"==myaction or "prune"==myaction or "clean"==myaction:
- try:
- if 1==unmerge(myaction, myfiles):
- post_emerge()
- except portage_exception.PackageNotFound, e:
- portage.writemsg("--- Couldn't find %s to unmerge.\n" % str(e),
- noiselevel=-1)
- sys.exit(1)
+ if 1 == unmerge(myaction, myfiles, raise_on_missing=False):
+ post_emerge()
elif "depclean"==myaction:
# Kill packages that aren't explicitly merged or are required as a