Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: "Michał Górny" <mgorny@g.o>, gentoo-portage-dev@l.g.o, Alec Warner <antarus@g.o>
Cc: Zac Medico <zmedico@g.o>
Subject: Re: [gentoo-portage-dev] [PATCH] emerge: add --changed-deps-report option (bug 645780)
Date: Sun, 28 Jan 2018 20:48:42
Message-Id: 88ebd924-6876-3130-da13-3c5cbf86325d@gentoo.org
In Reply to: Re: [gentoo-portage-dev] [PATCH] emerge: add --changed-deps-report option (bug 645780) by "Michał Górny"
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

Attachments

File name MIME type
signature.asc application/pgp-signature