1 |
On Sun, Jul 27, 2014 at 10:05 AM, "Paweł Hajdan, Jr." |
2 |
<phajdan.jr@g.o> wrote: |
3 |
> On 7/21/14, 11:52 PM, Alexander Berntsen wrote: |
4 |
>> Michał has documented the shortcomings of dynamic deps in our wiki[0]. |
5 |
>> (Thank you!) [...] |
6 |
>> [0] <https://wiki.gentoo.org/wiki/Project:Portage/Dynamic_dependencies> |
7 |
> |
8 |
> There's one more thing I'd like to ask about: |
9 |
> |
10 |
> For "Minor linking change w/ dependency change (unnecessary linking |
11 |
> removed)" the "dynamic deps" cell is red with "revbump + mostly |
12 |
> unnecessary rebuild", and "static deps" says "applied after rebuild". |
13 |
> |
14 |
> Arguably with dynamic deps one could also skip the revbump, and the |
15 |
> update would similarly be applied after rebuild. |
16 |
|
17 |
With dynamic deps you'd need to revbump if there is a linking change. |
18 |
Otherwise portage would just allow the dependency to be removed, and |
19 |
then linking will break, since the executable is unnecessarily linked |
20 |
to the dependency (in that scenario). |
21 |
|
22 |
If you wanted to apply the change after rebuild then you'd need to |
23 |
have a way to communicate to portage whether a dependency removal can |
24 |
be applied immediately (extraneous unlinked dependency) or only after |
25 |
rebuild (extraneous linked dependency). The table speaks mostly to |
26 |
portage as-is without additions like those posted in this thread. |
27 |
|
28 |
I think that USE changes basically involve potentially-unnecessary |
29 |
rebuilds no mater what in most real-life cases. Most people use the |
30 |
--newuse option when updating their system, so even if static |
31 |
dependencies don't require rebuilds they're going to get them anyway. |
32 |
Not using --newuse can cause different issues. |
33 |
|
34 |
One thing I would question in that table is "applied immediately (but |
35 |
can break hard when dynamic-deps stop working))." How can dynamically |
36 |
removing an "unused dependency" cause something to break, setting |
37 |
aside bugs in the package manager? If removing a dependency causes |
38 |
something to break, how can it be "unused?" |
39 |
|
40 |
Rich |