Index: portage-2.1_pre3-r1/bin/emerge =================================================================== --- portage-2.1_pre3-r1.orig/bin/emerge +++ portage-2.1_pre3-r1/bin/emerge @@ -2099,36 +2099,17 @@ class depgraph: if (myver != portage.VERSION) and \ ("livecvsportage" not in portage.settings.features): if len(mymergelist) > 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] + for arg in myopts: + if arg in badlongopts: + continue + mynewargv.append(arg) + if "--resume" not in mynewargv: + 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):