Gentoo Archives: gentoo-dev

From: Martin Vaeth <martin@×××××.de>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: don't rely on dynamic deps
Date: Mon, 28 Jul 2014 19:32:02
Message-Id: slrnltd98h.3q6.martin@epidot.math.uni-rostock.de
In Reply to: Re: [gentoo-dev] Re: don't rely on dynamic deps by Ian Stakenvicius
1 Ian Stakenvicius <axs@g.o> wrote:
2 >
3 > Keeping every single dependency around and valid just so that pkg_*rm
4 > can completely cleanly seems like so much overkill, though..
5
6 It is not only overkill, it would require a merging strategy which
7 AFAIK portage currently does not use and which would lead to blockers:
8
9 If you really want to guarantee that all := dependencies are
10 satisfied in the moment of unmerging, you need to do the following.
11
12 Assume foo depends on bar:=. Now if bar gets an upgrade, first
13 foo must be unmerged, then bar must be upgraded, and then
14 foo must be reemerged.
15
16 If you have a circular dependency of := chains, an upgrade
17 is impossible forever: You would manually have to break this
18 chain by setting some useflags exactly in the same way as
19 you did when you manages to install the chain for the first time.
20 Otherwise, you will just miss the possibly avilable updates
21 forever.
22
23 The problems if you really want to guarantee that all
24 dependencies are still installed when unmerging a package
25 are hardly reasonably solvable.
26
27 One should better make a rule that if an ebuild has such a
28 special requirement that it needs a certain version for
29 being unmerged, it must block all other versions
30 (one could make a syntax for the := case or even disallow
31 this case for such ebuilds) instead of letting the PM jump
32 through hoops for the "normal" cases.