diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-03-25 20:49:47 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-03-25 20:53:40 -0700 |
commit | 4e2abb474f0fc624c51948f0939e3123f6382992 (patch) | |
tree | 53fa4019cc738f0696d12c128ad082769ff967e7 /pym/_emerge/unmerge.py | |
parent | ac13a18708d6223accb85d12ba895bc121df89c6 (diff) | |
download | portage-4e2abb474f0fc624c51948f0939e3123f6382992.tar.gz portage-4e2abb474f0fc624c51948f0939e3123f6382992.tar.bz2 portage-4e2abb474f0fc624c51948f0939e3123f6382992.zip |
unmerge: fix return code for bug #409647
Diffstat (limited to 'pym/_emerge/unmerge.py')
-rw-r--r-- | pym/_emerge/unmerge.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/pym/_emerge/unmerge.py b/pym/_emerge/unmerge.py index c76afdf73..0acdf998c 100644 --- a/pym/_emerge/unmerge.py +++ b/pym/_emerge/unmerge.py @@ -1,9 +1,10 @@ -# Copyright 1999-2011 Gentoo Foundation +# Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 from __future__ import print_function import logging +import signal import sys import textwrap import portage @@ -503,7 +504,8 @@ def unmerge(root_config, myopts, unmerge_action, clean_world=1, clean_delay=1, ordered=0, raise_on_error=0, scheduler=None, writemsg_level=portage.util.writemsg_level): """ - Returns 1 if successful, otherwise 0. + Returns os.EX_OK if no errors occur, 1 if an error occurs, and + 130 if interrupted due to a 'no' answer for --ask. """ if clean_world: @@ -515,7 +517,7 @@ def unmerge(root_config, myopts, unmerge_action, writemsg_level=writemsg_level) if rval != os.EX_OK: - return 0 + return rval enter_invalid = '--ask-enter-invalid' in myopts vartree = root_config.trees["vartree"] @@ -526,7 +528,7 @@ def unmerge(root_config, myopts, unmerge_action, if "--pretend" in myopts: #we're done... return - return 1 + return os.EX_OK if "--ask" in myopts: if userquery("Would you like to unmerge these packages?", enter_invalid) == "No": @@ -535,7 +537,7 @@ def unmerge(root_config, myopts, unmerge_action, print() print("Quitting.") print() - return 0 + return 128 + signal.SIGINT #the real unmerging begins, after a short delay.... if clean_delay and not autoclean: countdown(int(settings["CLEAN_DELAY"]), ">>> Unmerging") @@ -574,5 +576,5 @@ def unmerge(root_config, myopts, unmerge_action, sets["selected"].remove(SETPREFIX + s) sets["selected"].unlock() - return 1 + return os.EX_OK |