summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-06-26 04:02:42 +0000
committerZac Medico <zmedico@gentoo.org>2006-06-26 04:02:42 +0000
commitc862f984b1fa92a56af4cc7b010f675b3fb84e4e (patch)
treecacf893fbdfc0539dcc2e8eea6a34fe347ea93da /bin
parentbd320c7891db639a175deb2b65efa87a98881296 (diff)
downloadportage-c862f984b1fa92a56af4cc7b010f675b3fb84e4e.tar.gz
portage-c862f984b1fa92a56af4cc7b010f675b3fb84e4e.tar.bz2
portage-c862f984b1fa92a56af4cc7b010f675b3fb84e4e.zip
Ensure that the PORTAGE_DEBUG environment variable has a valid integer value.
svn path=/main/trunk/; revision=3664
Diffstat (limited to 'bin')
-rwxr-xr-xbin/emerge29
1 files changed, 23 insertions, 6 deletions
diff --git a/bin/emerge b/bin/emerge
index b41a219a3..1acde4c24 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -3568,13 +3568,30 @@ def emerge_main():
portage.settings.lock()
# Set various debug markers... They should be merged somehow.
- if ("--debug" in myopts):
- portage.settings.unlock()
- portage.settings["PORTAGE_DEBUG"]="1"
- portage.settings.backup_changes("PORTAGE_DEBUG")
+ settings.unlock()
+ PORTAGE_DEBUG = 0
+ try:
+ PORTAGE_DEBUG = int(settings.get("PORTAGE_DEBUG", str(PORTAGE_DEBUG)))
+ if PORTAGE_DEBUG not in (0, 1):
+ portage.writemsg("!!! Invalid value: PORTAGE_DEBUG='%i'\n" % \
+ PORTAGE_DEBUG, noiselevel=-1)
+ portage.writemsg("!!! PORTAGE_DEBUG must be either 0 or 1\n",
+ noiselevel=-1)
+ PORTAGE_DEBUG = 0
+ except ValueError, e:
+ portage.writemsg("!!! %s\n" % str(e), noiselevel=-1)
+ portage.writemsg("!!! Unable to parse integer: PORTAGE_DEBUG='%s'\n" %\
+ settings["PORTAGE_DEBUG"], noiselevel=-1)
+ del e
+ if "--debug" in myopts:
+ PORTAGE_DEBUG = 1
+ settings["PORTAGE_DEBUG"] = str(PORTAGE_DEBUG)
+ settings.backup_changes("PORTAGE_DEBUG")
+ settings.lock()
+
+ if settings.get("PORTAGE_DEBUG", "") == "1":
portage.debug=1
- portage.settings.lock()
- if "python-trace" in portage.settings.features:
+ if "python-trace" in settings.features:
import portage_debug
portage_debug.set_trace(True)