-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 http://bugs.gentoo.org/show_bug.cgi?id=122527
When emerge would normally discard resume data, the attached patch causes it to save the resume data in mtimedb["resume_backup"] if the length of the mergelist is greater than 1. When the user calls `emerge --resume` and there is nothing else to resume, the "resume_backup" is automatically used instead. Feedback would be appreciated. Zac -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) iD8DBQFD8VAS/ejvha5XGaMRAs+DAJ9vgbAxvZphYtt0+nPFVwlpdq2e/QCfaBek mvnVDeUN2Ir8dxbwC8P+h1s= =wx8a -----END PGP SIGNATURE-----
Index: pym/portage.py =================================================================== --- pym/portage.py (revision 2711) +++ pym/portage.py (working copy) @@ -6724,7 +6724,8 @@ mtimedbkeys=[ "updates", "info", "version", "starttime", -"resume", "ldpath" +"resume", "resume_backup", +"ldpath" ] mtimedbfile=root+"var/cache/edb/mtimedb" try: Index: bin/emerge =================================================================== --- bin/emerge (revision 2711) +++ bin/emerge (working copy) @@ -3224,7 +3224,12 @@ print darkgreen("These are the packages that would be %s, in order:") % action print - if ("--resume" in myopts) and portage.mtimedb.has_key("resume"): + if ("--resume" in myopts) and (portage.mtimedb.has_key("resume") or \ + portage.mtimedb.has_key("resume_backup")): + if not portage.mtimedb.has_key("resume"): + portage.mtimedb["resume"] = portage.mtimedb["resume_backup"] + del portage.mtimedb["resume_backup"] + portage.commit_mtimedb() myresumeopts=portage.mtimedb["resume"]["myopts"][:] for opt in ("--skipfirst", "--ask", "--verbose"): @@ -3331,6 +3336,10 @@ favorites=portage.mtimedb["resume"]["favorites"] mydepgraph.merge(portage.mtimedb["resume"]["mergelist"]) else: + if portage.mtimedb.has_key("resume") and len(portage.mtimedb["resume"]["mergelist"]) > 1: + portage.mtimedb["resume_backup"] = portage.mtimedb["resume"] + del portage.mtimedb["resume"] + portage.commit_mtimedb() portage.mtimedb["resume"]={} portage.mtimedb["resume"]["myopts"]=myopts portage.mtimedb["resume"]["favorites"]=favorites