1 |
On 01/28/2018 12:16 PM, Michał Górny wrote: |
2 |
> W dniu nie, 28.01.2018 o godzinie 10∶09 -0800, użytkownik Zac Medico |
3 |
> napisał: |
4 |
>> On 01/28/2018 09:35 AM, Alec Warner wrote: |
5 |
>>> |
6 |
>>> |
7 |
>>> On Sun, Jan 28, 2018 at 9:51 AM, Zac Medico <zmedico@g.o |
8 |
>>> <mailto:zmedico@g.o>> wrote: |
9 |
>>> |
10 |
>>> The --dynamic-deps=n default causes confusion for users that are |
11 |
>>> accustomed to dynamic deps, therefore add a --changed-deps-report |
12 |
>>> option that is enabled by default (if --usepkgonly is not enabled). |
13 |
>>> |
14 |
>>> The --quiet option will suppress the report if none of the packages |
15 |
>>> having changed dependencies are in the dependency graph, since they |
16 |
>>> are harmless in that case. If any of these packages *are* in the |
17 |
>>> dependency graph, then --quiet suppresses the big NOTE section of |
18 |
>>> the report, but the HINT section is still displayed since it might |
19 |
>>> help users resolve problems that are solved by --changed-deps. |
20 |
>>> |
21 |
>>> Example output is as follows: |
22 |
>>> |
23 |
>>> !!! Detected ebuild dependency change(s) without revision bump: |
24 |
>>> |
25 |
>>> net-misc/openssh-7.5_p1-r3::gentoo |
26 |
>>> sys-fs/udisks-2.7.5::gentoo |
27 |
>>> |
28 |
>>> NOTE: For the ebuild(s) listed above, a new revision may be |
29 |
>>> warranted if there |
30 |
>>> has been a dependency change with significant consequences. |
31 |
>>> Refer to the |
32 |
>>> following page of the Gentoo Development Guide for examples of |
33 |
>>> circumstances that may qualify: |
34 |
>>> |
35 |
>>> |
36 |
>>> https://devmanual.gentoo.org/general-concepts/ebuild-revisions/ |
37 |
>>> <https://devmanual.gentoo.org/general-concepts/ebuild-revisions/> |
38 |
>>> |
39 |
>>> If circumstances qualify, please report a bug which specifies |
40 |
>>> the current |
41 |
>>> version of the ebuild listed above. Changes to ebuilds from |
42 |
>>> the 'gentoo' |
43 |
>>> repository (ending with '::gentoo') can be browsed in GitWeb: |
44 |
>>> |
45 |
>>> https://gitweb.gentoo.org/repo/gentoo.git/ |
46 |
>>> <https://gitweb.gentoo.org/repo/gentoo.git/> |
47 |
>>> |
48 |
>>> Use Gentoo's Bugzilla to report bugs only for the 'gentoo' |
49 |
>>> repository: |
50 |
>>> |
51 |
>>> https://bugs.gentoo.org/ |
52 |
>>> |
53 |
>>> In order to suppress reports about dependency changes, add |
54 |
>>> --changed-deps-report=n to the EMERGE_DEFAULT_OPTS variable in |
55 |
>>> '/etc/portage/make.conf'. |
56 |
>>> |
57 |
>>> HINT: In order to avoid problems involving changed dependencies, use the |
58 |
>>> --changed-deps option to automatically trigger rebuilds when |
59 |
>>> changed |
60 |
>>> dependencies are detected. Refer to the emerge man page for more |
61 |
>>> information about this option. |
62 |
>>> |
63 |
>>> Bug: https://bugs.gentoo.org/645780 |
64 |
>>> |
65 |
>>> |
66 |
>>> I can't really support sending this large report to users. |
67 |
>>> |
68 |
>>> 1) Its fairly common practice today. |
69 |
>>> 2) All users will get the report. |
70 |
>>> 3) A subset of them will file bugs about the report. |
71 |
>>> 4) Devs make a decision about revbumping vs not; there doesn't seem to |
72 |
>>> be a way for devs to say "no this change is intentional, stop nagging |
73 |
>>> users." |
74 |
>> |
75 |
>> I think in practice we need to revbump for most changes. If the changes |
76 |
>> weren't worth propagating, then we wouldn't make them. |
77 |
> |
78 |
> It's not about 'being worth propagating', it's about 'being worth |
79 |
> the rebuild to propagate'. |
80 |
> |
81 |
> I've bumped dependency inside all LLVM ebuilds today. The change fixes |
82 |
> only problem that hits people who: |
83 |
> |
84 |
> a. don't use --deep when upgrading, |
85 |
> |
86 |
> b. use clang with LTO. |
87 |
> |
88 |
> I can't say how many people were hit by it since 5.0.0 was introduced |
89 |
> but yesterday I've got the first (and only) report so far. |
90 |
> |
91 |
> Yes, I could technically revbump and cause people to have to spend most |
92 |
> of the day rebuilding 1-2 versions of LLVM for change that doesn't make |
93 |
> any difference to them. |
94 |
|
95 |
I can see how that would be troublesome for someone who runs ~arch and |
96 |
syncs once or more per day. For a stable user that syncs once a week or |
97 |
less often, it's an entirely different story. |
98 |
|
99 |
> Yes, I could consider the change 'not worth making'. But why shouldn't I |
100 |
> improve stuff for our users when it doesn't harm to do so? |
101 |
> |
102 |
> But with your suggested solution, now we no longer have the choice |
103 |
> 'revbump or not revbump'. Now we have a choice between forcing people to |
104 |
> rebuild via revbump or forcing people to get verbose report that most |
105 |
> likely will result in meaningless bug report and/or rebuild. So I end up |
106 |
> having a choice between 'force people to rebuild' or 'not fix minor bugs |
107 |
> at all'. |
108 |
|
109 |
Instead of suggesting to file a bug report, I think it should link to a |
110 |
wiki page that we will allow us to easily refine the content over time. |
111 |
Hopefully that will address everyone's concerns. |
112 |
|
113 |
My main intent is to provide a safety net for users, such that they'll |
114 |
be automatically notified that that --changed-deps option is available |
115 |
when needed to solve problems involving stale dependencies. |
116 |
-- |
117 |
Thanks, |
118 |
Zac |