From 56a249218ba1519965f0bccaf9aca676a50b7ce6 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 5 Feb 2006 19:22:00 +0000 Subject: replace existing "restarting emerge via exec()" functionality with a new approach that uses --resume and myopts svn path=/main/trunk/; revision=2667 --- bin/emerge | 36 ++++++++---------------------------- 1 file changed, 8 insertions(+), 28 deletions(-) (limited to 'bin/emerge') diff --git a/bin/emerge b/bin/emerge index 5ee4bc23f..6885cef58 100755 --- a/bin/emerge +++ b/bin/emerge @@ -1783,7 +1783,7 @@ class depgraph: ("livecvsportage" not in portage.settings.features): if mylist.index(x) mergecount: - myargv=sys.argv - myr=0 - for myra in range(len(myargv)): - if myargv[myr][0:len("portage")]=="portage": - del myargv[myr] - myr-=1 - if myargv[myr][0:len("sys-apps/portage")]=="sys-apps/portage": - del myargv[myr] - myr-=1 - myr+=1 emergelog(" *** RESTARTING emerge via exec() after change of portage version.") + del portage.mtimedb["resume"]["mergelist"][0] portage.portageexit() - # Remove --ask from options before restarting mynewargv=[] - badlongopts = ["--ask","--tree","--changelog"] - badshortopts = ["a","t","l"] - for arg in myargv: - if arg[0:2] == "--": - if arg in badlongopts: - continue - mynewargv += [arg] - elif arg[0] == "-": - myarg = "-" - for ch in arg[1:]: - if ch in badshortopts: - continue - myarg += ch - mynewargv += [myarg] - else: - mynewargv += [arg] + badlongopts = ("--ask","--tree","--changelog","--skipfirst","--resume") + for arg in myopts: + if arg in badlongopts: + continue + mynewargv.append(arg) + mynewargv.append("--resume") os.execv("/usr/lib/portage/bin/emerge", mynewargv) if ("--pretend" not in myopts) and ("--fetchonly" not in myopts) and ("--fetch-all-uri" not in myopts): -- cgit v1.2.3-1-g7c22