1 |
Grant Goodyear wrote: |
2 |
> Zac Medico wrote: [Wed Jun 07 2006, 01:30:38PM CDT] |
3 |
> |
4 |
>>Mike Frysinger wrote: |
5 |
>> |
6 |
>>>this is a *huge* con ... developers are lazy, *i'm* lazy ... i |
7 |
>>>certainly do not want to go through every single package i maintain |
8 |
>>>and add 'debug-build' to IUSE or 'inherit some-new-eclass' |
9 |
>> |
10 |
>>Sometimes it takes a little extra work to do things right, but |
11 |
>>hopefully it will pay off in the long run. A poor design decision |
12 |
>>made now can haunt us for years to come. |
13 |
> |
14 |
> |
15 |
> A "little extra work"? I'm pretty sure that such an eclass would be |
16 |
> required for better than half the tree (every package that contains some |
17 |
> C or C++). If almost everybody has to add the same piece of |
18 |
> boilerplate to their ebuilds, then perhaps a sane package manager should |
19 |
> be able to figure out what to do without the boilerplate. That |
20 |
> rationale seems especially true in this case, where nostrip and |
21 |
> debugging flags will do no harm for packages that aren't C or C++. |
22 |
|
23 |
I tend to agree here on pragmatic principal as opposed to bowing to |
24 |
"this is the ideal case" that some members of the portage team seem to |
25 |
want. debug-build can always be expanded to turn on generic debugging |
26 |
for other build systems and languages. |
27 |
|
28 |
I realize it's not the "perfect solution." But no one has implemented a |
29 |
better one. People only wait so long for things before getting fed up |
30 |
and saying "it's going in anyway." |
31 |
|
32 |
> |
33 |
> |
34 |
>>>if the large majority of packages are going to be taking advantage of a |
35 |
>>>feature, isnt the logical thing to opt everyone in rather than forcing the |
36 |
>>>majority to opt themselves in ? |
37 |
>> |
38 |
>>It really depends on the pros/cons applying something on a *global* |
39 |
>>scale, like you propose. A package manager (such as portage) will |
40 |
>>never be able to make debug-build decisions that work well for *every* |
41 |
>>ebuild. That's why it's better for ebuilds to make those decisions |
42 |
>>themselves (with the help of eclasses). |
43 |
> |
44 |
> |
45 |
> I would think that your argument would depend on the probability of a |
46 |
> package being an exception to the general rule. How many packages |
47 |
> actually fail to do what is expected when compiled with -g and nostrip |
48 |
> (noting that those cases without binaries to strip don't count)? |
49 |
> Unless that percentage is significant, then I would think that a simple |
50 |
> solution that handles the common case is a very good thing. |
51 |
> |
52 |
> Wouldn't the "simple" solution be to have package.* files that allow the |
53 |
> user to specify FEATURES, CFLAGS, and CXXFLAGS per package? (Of course, |
54 |
> I do realize that it's the lack of such files that lead vapier to |
55 |
> propose his solution, which is rather more convenient for one-off |
56 |
> builds.) |
57 |
|
58 |
We've discussed this multiple times, and it's always been the conclusion |
59 |
that per package.env should go in bashrc, as bashrc is generally more |
60 |
powerful than anything we could devise. The only downside afaik, for |
61 |
bashrc is that you can't do per package FEATURES as FEATURES is a |
62 |
python-side var. But you shouldn't need per package FEATURES by design; |
63 |
FEATURES are for portage, not your ebuild. |
64 |
|
65 |
> |
66 |
> -g2boojum- |
67 |
|
68 |
-- |
69 |
gentoo-dev@g.o mailing list |