Merged from trunk -r15336 and -r15339
authorFabian Groffen <grobian@gentoo.org>
Thu, 11 Feb 2010 19:05:09 +0000 (19:05 -0000)
committerFabian Groffen <grobian@gentoo.org>
Thu, 11 Feb 2010 19:05:09 +0000 (19:05 -0000)
   | 15336   | Ignore blockers in DEPEND of built packages when             |
   | zmedico | --with-bdeps is enabled.                                     |

   | 15339   | Make previous commit use eerror for logging.                 |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=15340

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

index 766b188fd1c7d10ccf85df6a30e7441f937c3476..eb7463a9261bb5aa59ac8071765b7b3ce13f12b0 100644 (file)
@@ -1140,9 +1140,14 @@ class depgraph(object):
                deps = (
                        (bdeps_root, edepend["DEPEND"],
                                self._priority(buildtime=(not bdeps_optional),
-                               optional=bdeps_optional)),
-                       (myroot, edepend["RDEPEND"], self._priority(runtime=True)),
-                       (myroot, edepend["PDEPEND"], self._priority(runtime_post=True))
+                               optional=bdeps_optional),
+                               pkg.built),
+                       (myroot, edepend["RDEPEND"],
+                               self._priority(runtime=True),
+                               False),
+                       (myroot, edepend["PDEPEND"],
+                               self._priority(runtime_post=True),
+                               False)
                )
 
                debug = "--debug" in self._frozen_config.myopts
@@ -1151,7 +1156,7 @@ class depgraph(object):
                        if not strict:
                                portage.dep._dep_check_strict = False
 
-                       for dep_root, dep_string, dep_priority in deps:
+                       for dep_root, dep_string, dep_priority, ignore_blockers in deps:
                                if not dep_string:
                                        continue
                                if debug:
@@ -1186,7 +1191,7 @@ class depgraph(object):
 
                                if not self._add_pkg_dep_string(
                                        pkg, dep_root, dep_priority, dep_string,
-                                       allow_unsatisfied):
+                                       allow_unsatisfied, ignore_blockers=ignore_blockers):
                                        return 0
 
                except portage.exception.AmbiguousPackageName as e:
@@ -1213,7 +1218,7 @@ class depgraph(object):
                return 1
 
        def _add_pkg_dep_string(self, pkg, dep_root, dep_priority, dep_string,
-               allow_unsatisfied):
+               allow_unsatisfied, ignore_blockers=False):
                depth = pkg.depth + 1
                debug = "--debug" in self._frozen_config.myopts
                strict = pkg.type_name != "installed"
@@ -1248,6 +1253,11 @@ class depgraph(object):
                for atom, child in self._minimize_children(
                        pkg, dep_priority, root_config, selected_atoms[pkg]):
 
+                       if ignore_blockers and atom.blocker:
+                               # For --with-bdeps, ignore build-time only blockers
+                               # that originate from built packages.
+                               continue
+
                        mypriority = dep_priority.copy()
                        if not atom.blocker and vardb.match(atom):
                                mypriority.satisfied = True
index f82fc0374c5e7af2cc4e6bfc6f6913881570cd86..89df6e73f69d5e43f2b5e35cdd17910ed5a16055 100644 (file)
@@ -3454,9 +3454,8 @@ class dblink(object):
                                        # in a totally undefined state, hence we just bleed
                                        # like hell and continue to hopefully finish all our
                                        # administrative and pkg_postinst stuff.
-                                       showMessage(colorize("WARN", _("WARNING:"))
-                                                       + " Could not chmod or unlink %s: %s\n" % (file_name, ose),
-                                                       level=logging.WARN, noiselevel=-1)
+                                       self._eerror("postrm", 
+                                               "Could not chmod or unlink '%s': %s\n" % (file_name, ose))
                                finally:
                                        if bsd_chflags and pflags != 0:
                                                # Restore the parent flags we saved before unlinking