* [gentoo-commits] portage r12599 - main/trunk/pym/_emerge
@ 2009-02-11 20:34 Zac Medico (zmedico)
0 siblings, 0 replies; only message in thread
From: Zac Medico (zmedico) @ 2009-02-11 20:34 UTC (permalink / raw
To: gentoo-commits
Author: zmedico
Date: 2009-02-11 20:34:40 +0000 (Wed, 11 Feb 2009)
New Revision: 12599
Modified:
main/trunk/pym/_emerge/__init__.py
Log:
Inside depgraph._select_atoms(), only trigger the circular dependency
avoidance code for buildtime dependencies. This solves a problem with
virtual/mysql inappropriately pulling in mysql-community from PDEPEND
when satisfying deps of plain mysql. Thanks to Krzysiek Pawlik <nelchael@g.o>
for reporting this issue:
http://archives.gentoo.org/gentoo-dev/msg_efce154d642fe6ede38d084a33c7f949.xml
Modified: main/trunk/pym/_emerge/__init__.py
===================================================================
--- main/trunk/pym/_emerge/__init__.py 2009-02-10 21:37:57 UTC (rev 12598)
+++ main/trunk/pym/_emerge/__init__.py 2009-02-11 20:34:40 UTC (rev 12599)
@@ -5118,7 +5118,8 @@
vardb = self.roots[dep_root].trees["vartree"].dbapi
try:
selected_atoms = self._select_atoms(dep_root,
- dep_string, myuse=myuse, parent=pkg, strict=strict)
+ dep_string, myuse=myuse, parent=pkg, strict=strict,
+ priority=dep_priority)
except portage.exception.InvalidDependString, e:
show_invalid_depstring_notice(jbigkey, dep_string, str(e))
return 0
@@ -5751,12 +5752,20 @@
return self._select_atoms_highest_available(*pargs, **kwargs)
def _select_atoms_highest_available(self, root, depstring,
- myuse=None, parent=None, strict=True, trees=None):
+ myuse=None, parent=None, strict=True, trees=None, priority=None):
"""This will raise InvalidDependString if necessary. If trees is
None then self._filtered_trees is used."""
pkgsettings = self.pkgsettings[root]
if trees is None:
trees = self._filtered_trees
+ if not getattr(priority, "buildtime", False):
+ # The parent should only be passed to dep_check() for buildtime
+ # dependencies since that's the only case when it's appropriate
+ # to trigger the circular dependency avoidance code which uses it.
+ # It's important not to trigger the same circular dependency
+ # avoidance code for runtime dependencies since it's not needed
+ # and it can promote an incorrect package choice.
+ parent = None
if True:
try:
if parent is not None:
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-02-11 20:34 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-11 20:34 [gentoo-commits] portage r12599 - main/trunk/pym/_emerge Zac Medico (zmedico)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox