diff options
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 |