diff options
author | Zac Medico <zmedico@gentoo.org> | 2006-06-21 01:17:51 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2006-06-21 01:17:51 +0000 |
commit | 2e22288b38e93c449bb2ad4ee9ddec06382f693b (patch) | |
tree | bd4728bbe1d41b71734cee8d46f1e1a7467c63a0 /bin/emerge | |
parent | a557ecd1b9d964f4b3fcd3a0fa107e41f2a77f1c (diff) | |
download | portage-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-x | bin/emerge | 18 |
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 |