1 |
Dnia 2014-07-27, o godz. 10:42:19 |
2 |
Rich Freeman <rich0@g.o> napisał(a): |
3 |
|
4 |
> On Sun, Jul 27, 2014 at 10:05 AM, "Paweł Hajdan, Jr." |
5 |
> <phajdan.jr@g.o> wrote: |
6 |
> > On 7/21/14, 11:52 PM, Alexander Berntsen wrote: |
7 |
> >> Michał has documented the shortcomings of dynamic deps in our wiki[0]. |
8 |
> >> (Thank you!) [...] |
9 |
> >> [0] <https://wiki.gentoo.org/wiki/Project:Portage/Dynamic_dependencies> |
10 |
> > |
11 |
> > There's one more thing I'd like to ask about: |
12 |
> > |
13 |
> > For "Minor linking change w/ dependency change (unnecessary linking |
14 |
> > removed)" the "dynamic deps" cell is red with "revbump + mostly |
15 |
> > unnecessary rebuild", and "static deps" says "applied after rebuild". |
16 |
> > |
17 |
> > Arguably with dynamic deps one could also skip the revbump, and the |
18 |
> > update would similarly be applied after rebuild. |
19 |
> |
20 |
> One thing I would question in that table is "applied immediately (but |
21 |
> can break hard when dynamic-deps stop working))." How can dynamically |
22 |
> removing an "unused dependency" cause something to break, setting |
23 |
> aside bugs in the package manager? If removing a dependency causes |
24 |
> something to break, how can it be "unused?" |
25 |
|
26 |
Consider the following: |
27 |
|
28 |
1. A depends on B, both are installed, |
29 |
|
30 |
2. dependency on B is removed, emerge --depclean uninstalls B thanks |
31 |
to dynamic-deps, |
32 |
|
33 |
3. B is treecleaned (nothing depends on it), |
34 |
|
35 |
4. old version of A is removed (user doesn't update it yet), therefore |
36 |
dependency on B is restored from vdb. |
37 |
|
38 |
So, now user has package A installed which has unsatisfied dependency |
39 |
on non-available package. |
40 |
|
41 |
-- |
42 |
Best regards, |
43 |
Michał Górny |