[paludis-dev] [Paludis] #1366: Do not force ordering of weak blockers (in gentoo)

Paludis trac-paludis at exherbo.org
Tue Jun 5 14:15:05 UTC 2018


#1366: Do not force ordering of weak blockers (in gentoo)
-----------------------+-----------------------------------
    Reporter:  zimous  |       Type:  defect
      Status:  new     |   Priority:  Sometime
   Milestone:          |  Component:  core/paludis/resolver
     Version:  scm     |   Keywords:
  Blocked By:          |   Blocking:
Distribution:  N/A     |
-----------------------+-----------------------------------
 Paludis forces post-ordering of weak (aka soft) blocks.  This is not
 necessary and causes false positive dependency loops which in turn can
 lead to suboptimal ordering or unsolvable cycles in more complicated
 scenarios.

 Minimal testcase: 3 packages a, b, c, all available _only_ in version 1.
 Dependencies:
 a: DEPEND=""
 b: DEPEND="!<a-1"
 c: DEPEND="!<b-1 a"
 Now for "cave resolve b c", paludis detects depency loop of (a-1,b-1,c-1).
 The cause is that the orderer puts _reverse_ arrow for weak blockers in
 the dependency graph (probably) in an attempt to schedule uninstallation
 of weakly blocking package _after_ installation of blocked package.  This
 not at all necessary, just allowed.

 See also the message in the attached patch.

 Remark: A further optimization would be to take into account also the
 exact versions and choices of candidate packages when constructing the
 dependency graph for orderer.

-- 
Ticket URL: <http://paludis.exherbo.org/trac/ticket/1366>
Paludis <http://paludis.exherbo.org/>
Paludis, the Other Package Mangler


More information about the paludis-dev mailing list