summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-06-25 04:39:46 +0000
committerZac Medico <zmedico@gentoo.org>2006-06-25 04:39:46 +0000
commit5a5e8b0baf4686fd8feed9b85491472c5c6b7851 (patch)
tree8f2fd799d0fa8a56645ee680f04acc5a2ff9e7f6 /bin
parentba913a1253a08a56186e5340c15515cdc80c30e0 (diff)
downloadportage-5a5e8b0baf4686fd8feed9b85491472c5c6b7851.tar.gz
portage-5a5e8b0baf4686fd8feed9b85491472c5c6b7851.tar.bz2
portage-5a5e8b0baf4686fd8feed9b85491472c5c6b7851.zip
Split the command line argument parsing into a function.
svn path=/main/trunk/; revision=3650
Diffstat (limited to 'bin')
-rwxr-xr-xbin/emerge102
1 files changed, 53 insertions, 49 deletions
diff --git a/bin/emerge b/bin/emerge
index 1cddc0e4e..6f5db2ef7 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -3338,59 +3338,11 @@ def action_build(myopts, myaction, myfiles):
+ " problems due to overlapping packages.\n")
post_emerge()
-if __name__ == "__main__":
- settings = portage.settings
- trees = portage.db
- portage.global_updates(
- portage.settings, portage.db, portage.mtimedb["updates"])
-
- spinner = stdout_spinner()
- if "candy" in portage.settings.features:
- spinner.update = spinner.update_scroll
-
- # To enhance usability, make some vars case insensitive by forcing them to
- # lower case.
- portage.settings.unlock()
- for myvar in ("AUTOCLEAN", "NOCOLOR"):
- if myvar in portage.settings:
- portage.settings[myvar] = portage.settings[myvar].lower()
- portage.settings.backup_changes(myvar)
- portage.settings.lock()
- del myvar
-
- if (not sys.stdout.isatty()) or (portage.settings["NOCOLOR"] in ["yes","true"]):
- nocolor()
-
- portage.deprecated_profile_check()
-
- if portage.settings.has_key("PORTAGE_NICENESS"):
- try:
- os.nice(int(portage.settings["PORTAGE_NICENESS"]))
- except (OSError,ValueError), e:
- print "!!! Failed to change nice value to '"+str(portage.settings["PORTAGE_NICENESS"])+"'"
- print "!!!",e
-
- #Freeze the portdbapi for enhanced performance:
- portage.portdb.freeze()
-
- # Kill noauto as it will break merges otherwise.
- if "noauto" in portage.settings.features:
- while "noauto" in portage.settings.features:
- portage.settings.features.remove("noauto")
- portage.settings.unlock()
- portage.settings["FEATURES"] = " ".join(portage.settings.features)
- portage.settings.backup_changes("FEATURES")
- portage.settings.lock()
-
+def parse_opts(tmpcmdline):
myaction=None
myopts=[]
myfiles=[]
- edebug=0
- # process short actions
- tmpcmdline=sys.argv[1:]
- if "--ignore-default-opts" not in tmpcmdline:
- tmpcmdline.extend(portage.settings["EMERGE_DEFAULT_OPTS"].split())
cmdline=[]
for x in tmpcmdline:
if x[0:1]=="-" and x[1:2]!="-":
@@ -3449,6 +3401,58 @@ if __name__ == "__main__":
else:
myfiles.append(x)
+ return myaction, myopts, myfiles
+
+if __name__ == "__main__":
+ settings = portage.settings
+ trees = portage.db
+
+ settings.unlock()
+
+ # To enhance usability, make some vars case insensitive by forcing them to
+ # lower case.
+ for myvar in ("AUTOCLEAN", "NOCOLOR"):
+ if myvar in settings:
+ settings[myvar] = settings[myvar].lower()
+ settings.backup_changes(myvar)
+ del myvar
+
+ # Kill noauto as it will break merges otherwise.
+ if "noauto" in settings.features:
+ while "noauto" in settings.features:
+ settings.features.remove("noauto")
+ settings["FEATURES"] = " ".join(settings.features)
+ settings.backup_changes("FEATURES")
+
+ settings.lock()
+
+ if settings.get("NOCOLOR","") in ("yes","true"):
+ nocolor()
+
+ tmpcmdline = sys.argv[1:]
+ if "--ignore-default-opts" not in tmpcmdline:
+ tmpcmdline.extend(settings["EMERGE_DEFAULT_OPTS"].split())
+ myaction, myopts, myfiles = parse_opts(tmpcmdline)
+ edebug = 0
+
+ portage.global_updates(settings, trees, portage.mtimedb["updates"])
+
+ spinner = stdout_spinner()
+ if "candy" in settings.features:
+ spinner.update = spinner.update_scroll
+
+ portage.deprecated_profile_check()
+
+ try:
+ os.nice(int(settings.get("PORTAGE_NICENESS", "0")))
+ except (OSError, ValueError), e:
+ portage.writemsg("!!! Failed to change nice value to '%s'\n" % \
+ settings["PORTAGE_NICENESS"])
+ portage.writemsg("!!! %s\n" % str(e))
+ del e
+
+ #Freeze the portdbapi for enhanced performance:
+ portage.portdb.freeze()
if "moo" in myfiles:
print """