1 |
On Saturday 30 September 2006 15:34, Brian Harring wrote: |
2 |
> If that's what folks want, sure, but what you're proposing is just |
3 |
> sliding NEEDED in as the defacto solution without labeling it as such. |
4 |
|
5 |
no idea what this means |
6 |
|
7 |
> Re-read your emails, and mine please. The scenario I pointed out was |
8 |
> ctrl+c'ing the merge while it's doing a rebuild for lib1 to lib2. |
9 |
|
10 |
then let me turn it around ... how exactly does your solution account for all |
11 |
these little details ? i dont recall you outlining anything ... |
12 |
|
13 |
> > > How exactly is this forcing wasted rebuilds? You're stating that |
14 |
> > > maintainers are going to bump it willy nilly. As I said, it is a key |
15 |
> > > that would be bumped *as needed*, and would only affected pkgs that |
16 |
> > > specified that node as a binding dep (specially marked atom). |
17 |
> > |
18 |
> > no, i mean for example scenarios where a package provides more than one |
19 |
> > library (say libfoo and libbar) and only one of those changes ABI values |
20 |
> > (say libfoo.0 -> libfoo.1). if another package links against just |
21 |
> > libbar, you've got a pointless rebuild. |
22 |
> |
23 |
> If one changes it's version, it's a fair bet that any consumer of that |
24 |
> pkg is linked to more then just that lib; as such they would be |
25 |
> rebuilt *anyways*. |
26 |
|
27 |
it isnt guaranteed ... you asked for a pointless rebuild and i gave you |
28 |
one ... one that is not falsely flagged when reviewing the NEEDED list |
29 |
|
30 |
the other example is where the ABI changes for one arch but not for any |
31 |
other ... what do you do, force ABI rebuild for everyone ? ok, maybe that |
32 |
arch was x86 so we say screw you to the smaller arch teams ... but what if |
33 |
that arch was a smaller arch team ? |
34 |
|
35 |
> Sorry, but if a developer is bumping a pkg and doesn't even look to |
36 |
> see if the damn thing is potentially going to break others via soname |
37 |
> changes, that maintainer is being an idiot. |
38 |
|
39 |
and yet it does happen and again, we're looking at this from different |
40 |
angles ... you'd rather assume the developer is 100% competent and never gets |
41 |
things wrong; i'd rather assume nothing and let the details be discovered |
42 |
automatically. |
43 |
|
44 |
in the end, the people using Gentoo are the ones that suffer and i'm tired of |
45 |
seeing systems broken beyond usuability because a developer unleashed a |
46 |
package without realizing the consequences of it |
47 |
|
48 |
> > > Realistically, just the same as the NEEDED solution has holes, the |
49 |
> > > maintaining dev can screw up and miss a BINCOMPAT bump. Difference is |
50 |
> > > that they can do something for BINCOMPAT; hell, QA checks can be |
51 |
> > > automated to catch missing BINCOMPAT bumps. |
52 |
|
53 |
i bet a post-emerge would make this painless and automate the QA step ... |
54 |
after src_install(), you run something like `scanelf -qsRS ${D}` and save the |
55 |
results in vdb/SONAME ... and then on subsequent installs, you run it again |
56 |
and if the SONAME changes but BINCOMPAT did not, you bail with a die message |
57 |
telling the user to go file a bug and preventing the merge which would have |
58 |
broken his system |
59 |
|
60 |
> > > KEYWORDed arches bit, bit unlikely that the underlying arch is |
61 |
> > > actually going to screw with the soname, thus I'd want actual examples |
62 |
> > > backing it up. |
63 |
> > |
64 |
> > how about libc.so from glibc and libgcc.so from gcc ? or would you like |
65 |
> > other packages ? |
66 |
> |
67 |
> Considering such a change would be internal ABI, NEEDED doesn't |
68 |
> actually fix anything; if it were a soname change, level playing |
69 |
> ground again. |
70 |
|
71 |
it is a SONAME change, why else would i mention this |
72 |
|
73 |
> Reiterating; devs should know the high level affects of their changes. |
74 |
|
75 |
reiterating: you're hoping for the best; i'm looking at our history and |
76 |
assuming that devs will make mistakes as everyone does |
77 |
|
78 |
> If it's going to change the soname version, they should know from the |
79 |
> get go- unless it's an arch specific breakage (which I still posit is |
80 |
> the rare/corner case), they will *see* it for their arch and bump it |
81 |
> already. |
82 |
|
83 |
maybe, but it's still a possibility which analyzing of SONAME would catch |
84 |
|
85 |
> Stating that things are broken doesn't make NEEDED automagically |
86 |
> better either; *both* enable a way to fix it, so you need to justify |
87 |
> the "accounting for the worst; not hoping for the best". |
88 |
|
89 |
justify how ? would you like me to dig up the bugs where devs bumped packages |
90 |
into stable and the SONAME change broke a ton of people's systems ? has it |
91 |
never happened to you ? |
92 |
|
93 |
> > > > or dig |
94 |
> > > > through the source code line by line and hope to catch all such cases |
95 |
> > > > by hand/eye ? |
96 |
> > > |
97 |
> > > Bit of FUD here, although I spose I'll just point out that if so's |
98 |
> > > change as massively as you're implying above, the affects on -p are |
99 |
> > > that much worse. |
100 |
> > |
101 |
> > awesome, mark something you disagree with as FUD, problem solved. my |
102 |
> > point is that you can never know completely for sure the behavior of a |
103 |
> > package without digging through the entire source code. |
104 |
> |
105 |
> It's FUD due to the fact NEEDED suffers the same fucking issue. The |
106 |
> irony is that BINCOMPAT would at least give a knob to mark it as a |
107 |
> breakage, NEEDED cannot. |
108 |
|
109 |
and then you get angry ? try to have a discussion without getting all anxious |
110 |
as that only wastes time |
111 |
|
112 |
there's a few issues here, not just one ... |
113 |
- ABI change w/no SONAME bump - impossible to catch without reading source; |
114 |
BINCOMPAT would allow for it; NEEDED would not |
115 |
- ABI change w/SONAME bump - BINCOMPAT would not catch; NEEDED would |
116 |
|
117 |
> Frankly, if you don't believe me or think my points are correct about |
118 |
> how a NEEDED based solution is going to suck, zac/jason/genone/anyone |
119 |
> else. They're going to point out the same flaws. |
120 |
|
121 |
if you dont want to hash out ideas on a development list but rather just |
122 |
declare one right and one wrong, then feel free to leave. if you're confused |
123 |
about my intentions here then let me set you straight. i see advantages to |
124 |
both sides and i'm going to argue out problems until we have something good |
125 |
to push back into portage. i dont really care if the final solution is "my |
126 |
idea" or not; such personal ties is just stupid and helps no one. |
127 |
-mike |