Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in sys-libs/glibc: glibc-2.14.1-r2.ebuild glibc-2.12.2.ebuild glibc-9999.ebuild glibc-2.15.ebuild glibc-2.10.1-r1.ebuild glibc-2.14.1-r1.ebuild glibc-2.14.ebuild glibc-2.13-r2.ebuild ChangeLog g
Date: Thu, 19 Jan 2012 23:40:07
Message-Id: pan.2012.01.19.23.38.36@cox.net
In Reply to: Re: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in sys-libs/glibc: glibc-2.14.1-r2.ebuild glibc-2.12.2.ebuild glibc-9999.ebuild glibc-2.15.ebuild glibc-2.10.1-r1.ebuild glibc-2.14.1-r1.ebuild glibc-2.14.ebuild glibc-2.13-r2.ebuild ChangeLog g by Rich Freeman
1 Rich Freeman posted on Thu, 19 Jan 2012 08:56:57 -0500 as excerpted:
2
3 > On Thu, Jan 19, 2012 at 12:37 AM, Duncan <1i5t5.duncan@×××.net> wrote:
4 >> Mike Frysinger posted on Wed, 18 Jan 2012 22:00:52 -0500 as excerpted:
5 >>
6 >>> On Wednesday 18 January 2012 21:42:14 Michael Weber wrote:
7 >>>> Um, what happend to the policy to not f*** around with stable
8 >>>> ebuilds?
9 >>>
10 >>>
11 > I think there is a legitimate issue with changing dependencies on stable
12 > ebuilds. If for whatever reason a mistake is made, you just broke tons
13 > of stable systems - especially if people rebuild with -N. The idea is
14 > that stuff goes through testing before it hits stable, which is why we
15 > call it stable. If you change stable directly, then it isn't stable.
16 > :)
17
18 In theory at least, gentoo/kde has a rather firm policy that no change to
19 either the ebuilds or the eclasses goes directly to tree (stable OR
20 ~arch). Instead, it gets introduced into the overlay first, with several
21 gentoo/kde devs and app-testers plus random brave/stupid-enough-to-run-
22 overlay users like me testing it there, before it's introduced to the
23 main tree, at all.
24
25 Since from my observation at least, they're usually quite good about
26 this, precisely BECAUSE of the possibility of mistakes you mention, and
27 the costs of such a mistake especially for eclasses used by hundreds of
28 packages, I'd be rather surprised if that didn't happen here.
29
30 None-the-less, there are enough differences between overlay and the main
31 tree, that such testing isn't likely to give 100% coverage.
32
33 More importantly, many in-tree packages don't have such an overlay or if
34 they do, such a strict test-in-overlay-first policy. AFAIK glibc is one
35 such package and your point thus remains very valid in general and for
36 that package (and eclasses), even if less so for projects like gentoo/kde
37 with active overlays and strict overlay-first policies.
38
39 >> I'm not going to complain much about a mere single package, glibc,
40 >> triggering a -N rebuild.
41 >>
42 >> But I'm not going to complain about gentoo/kde doing it with 200-ish,
43 >> either (way more if I had all of kde installed, I don't), for several
44 >> reasons:
45 >>
46 >> 1) I'm not only running ~arch, I'm running the overlay.
47 >
48 > I'm running stable amd64 and the same kde issue directly hit stable. Oh,
49 > this is two days after the version bump hit stable - so that is 200
50 > packages twice in two days. So, I will point out that this could have
51 > been better coordinated, although the extra rebuilds are harmless.
52
53 Ouch! If that hit stable too, and was so uncoordinated with stabilizing
54 whole kde versions that they stable-bumped two days before introducing
55 this change, that changes the entire picture.
56
57 D****d right were I a stable user I'd be complaining about that! (Even
58 given the existence of the --exclude option mentioned elsewhere and
59 below. You just don't do that to stable users for multi-hundred-package
60 updates!)
61
62 The USE flag was masked. But they knew a vote was coming on it and they
63 could have either held up stabilizing for a couple extra days to
64 coordinate it, or failing that, just left well enough alone /because/ the
65 flag was masked, until they could drop it in coordination with the next
66 mass stabilization.
67
68 >> 3) Mike's right.  The -N is simply available to give users a way to be
69 >> notified of such changes if they wish to be, presumably thru use of -p
70 >> or -a.
71
72 > So, suppose I don't want to update those 200 kde packages, but I don't
73 > want to ignore the odd package that does come up in -N in the future? Do
74 > I just run a daily emerge -puDN world, look at the output, then manually
75 > remove the 200 kde packages, and then run a manually-constructed emerge
76 > -1 with a bunch of individual packages on it?
77 >
78 > Obviously I'm just going to clench my teeth and run emerge -N anyway
79 > since spending 25 cpu-hours on pointless recompiles is less annoying
80 > than having those packages come up anytime I want to tweak a USE flag or
81 > whatever.
82
83 Piotr mentions the helpful if AFAIK relatively new --exclude option,
84 which I vaguely knew about but haven't actually had occasion to use, in
85 part because my reaction is much like yours, knowing the change is there
86 I'd rather grit my teeth and get it over with than wait.
87
88 Even so, especially for multi-hundred-package projects like kde, it's a
89 big deal, particularly for stable users, who presumably have chosen to
90 use stable in part /because/ they don't want to be bothered with such
91 things, far preferring that it "just work" by the time they get it and
92 not to be bothered with unnecessary churn, even at the cost of being
93 months or years behind, sometimes.
94
95 But since it came up:
96
97 @ Zac: Could the output of an emerge --pretend (or --ask) account for
98 -newuse, and include a boilerplate sentence or so about --exclude, if the
99 proposed package merge list includes any same-version remerges due to
100 --newuse? Or if tracking --newuse packages is too much, just trigger the
101 boilerplate if --newuse is among the passed (or default) options.
102
103 @ gentoo/kde: Barring that or meanwhile, since getting that implemented
104 and stabilized in portage could take a bit... what about putting an e*
105 message mentioning portage's --exclude option in at least kdelibs'
106 pkg_pretend? I believe run from there, it can test and trigger only on
107 --newuse invocation, and doing it only for kdelibs should hit at least the
108 rebuild-all-of-kde cases without spamming, as doing it for every kde
109 package would certainly do.
110
111 > All that said, the kde change is harmless and while it would have been
112 > better to coordinate it (or just introduce it in the next version),
113 > worse things could go wrong.
114
115 Agreed.
116
117 > I'm more concerned about the tendency to introduce flags in our package
118 > manager, have them get promoted in various forums, and then have people
119 > more-or-less rebuked for using them. There is no problem in having
120 > flags that shouldn't be routinely used, but man pages and such should
121 > clearly indicate when this is the case (as is the case with --unmerge
122 > and so on). If we don't warn people not to use a flag,
123 > we shouldn't punish them when they do.
124
125 Agreed in general.
126
127 In the case of --newuse, tho, the above suggested boilerplate message
128 mentioning --exclude would probably go quite some way toward dealing with
129 the situation.
130
131 Are there other such emerge flags (other than the corresponding -N) where
132 a boilerplate message mentioning --exclude would be useful? What about
133 other boilerplate messages for other options?
134
135 --
136 Duncan - List replies preferred. No HTML msgs.
137 "Every nonfree program has a lord, a master --
138 and if you use the program, he is your master." Richard Stallman

Replies