Do automatic backup the resume list when it's length is greater than 1 for bug #122527.

svn path=/main/trunk/; revision=2847
diff --git a/bin/emerge b/bin/emerge
index 7faf822..4ffdeb6 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -3146,7 +3146,13 @@
 			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 \
+		("resume" in portage.mtimedb or
+		"resume_backup" in portage.mtimedb):
+		if "resume" not in portage.mtimedb:
+			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"):
@@ -3253,6 +3259,11 @@
 			favorites=portage.mtimedb["resume"]["favorites"]
 			mydepgraph.merge(portage.mtimedb["resume"]["mergelist"])
 		else:
+			if "resume" in portage.mtimedb 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
diff --git a/pym/portage.py b/pym/portage.py
index 9c0c8f1..dd007f1 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -6714,7 +6714,8 @@
 mtimedbkeys=[
 "updates", "info",
 "version", "starttime",
-"resume", "ldpath"
+"resume", "resume_backup",
+"ldpath"
 ]
 mtimedbfile=root+"var/cache/edb/mtimedb"
 try: