Gentoo Archives: gentoo-dev

From: Alec Warner <antarus@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] fix binary debug support, part elevenity billion + 1
Date: Wed, 07 Jun 2006 20:17:44
Message-Id: 4487319D.1000103@gentoo.org
In Reply to: Re: [gentoo-dev] fix binary debug support, part elevenity billion + 1 by Grant Goodyear
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

Replies