Check if packages listed in the --resume list have been removed from the
authorJason Stubbs <jstubbs@gentoo.org>
Sat, 17 Dec 2005 10:43:16 +0000 (10:43 -0000)
committerJason Stubbs <jstubbs@gentoo.org>
Sat, 17 Dec 2005 10:43:16 +0000 (10:43 -0000)
relevant trees and report the problem.  #103564

svn path=/main/trunk/; revision=2392

bin/emerge

index 4ce5130e061db70ec49b159dbf0f3bebdf89b3d3..7b4e7cd36ffeff9bead2eefe3732ec6729fe5a3d 100755 (executable)
@@ -1836,6 +1836,14 @@ class depgraph:
                        if ("--skipfirst" in myopts) and mymergelist:
                                del portage.mtimedb["resume"]["mergelist"][0]
                                del mymergelist[0]
+                       for bigkey in mymergelist:
+                               (pkgtype, root, cpv, action) = bigkey
+                               if pkgtype == "binary" and not portage.db["/"]["bintree"].dbapi.match("="+cpv) or \
+                                  pkgtype == "ebuild" and not portage.db["/"]["porttree"].dbapi.xmatch("match-all", "="+cpv):
+                                       print red("!!! Error: The resume list contains packages that no longer")
+                                       print red("!!!        available to be emerged. Please restart/continue")
+                                       print red("!!!        the merge operation manually.")
+                                       sys.exit(1)
                else:
                        myfavs=portage.grabfile(portage.root+portage.WORLD_FILE)
                        myfavdict=genericdict(myfavs)