Synchronize portage update/restart logic in dblink.merge() and
authorZac Medico <zmedico@gentoo.org>
Tue, 4 Nov 2008 17:52:04 +0000 (17:52 -0000)
committerZac Medico <zmedico@gentoo.org>
Tue, 4 Nov 2008 17:52:04 +0000 (17:52 -0000)
depgraph.display() so it's consistent with Scheduler._is_restart_necessary().
Thanks to Jeremy Olexa <darkside@g.o> for reporting.

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

pym/_emerge/__init__.py
pym/portage/dbapi/vartree.py

index 773c01d34c7c599a9910fe4f2816b299570e8530..597aace59d770793c28c1658fd4bf060421f700b 100644 (file)
@@ -7531,15 +7531,9 @@ class depgraph(object):
                                        not self._opts_no_restart.intersection(self.myopts) and \
                                        pkg.root == self._running_root.root and \
                                        portage.match_from_list(
-                                       portage.const.PORTAGE_PACKAGE_ATOM, [pkg]):
-
-                                       pn, ver, rev = pkg.pv_split
-                                       if rev == "r0":
-                                               myversion = ver
-                                       else:
-                                               myversion = "%s-%s" % (ver, rev)
-
-                                       if myversion != portage.VERSION and "--quiet" not in self.myopts:
+                                       portage.const.PORTAGE_PACKAGE_ATOM, [pkg]) and \
+                                       not vardb.cpv_exists(pkg.cpv) and \
+                                       "--quiet" not in self.myopts:
                                                if mylist_index < len(mylist) - 1:
                                                        p.append(colorize("WARN", "*** Portage will stop merging at this point and reload itself,"))
                                                        p.append(colorize("WARN", "    then resume the merge."))
index 418d873885f4d7d12c68cc18e349cb62018baa67..5694671159381908cbb91ece5d62f3281bc7946b 100644 (file)
@@ -3712,7 +3712,8 @@ class dblink(object):
                if self.vartree.dbapi._categories is not None:
                        self.vartree.dbapi._categories = None
                if self.myroot == "/" and \
-                       match_from_list(PORTAGE_PACKAGE_ATOM, [self.mycpv]):
+                       match_from_list(PORTAGE_PACKAGE_ATOM, [self.mycpv]) and \
+                       not self.vartree.dbapi.cpv_exists(self.mycpv):
                        settings = self.settings
                        base_path_orig = os.path.dirname(settings["PORTAGE_BIN_PATH"])
                        from tempfile import mkdtemp