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 |