Gentoo Archives: gentoo-dev

From: Zac Medico <zmedico@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:19:48
Message-Id: 448732B8.7090005@gentoo.org
In Reply to: Re: [gentoo-dev] fix binary debug support, part elevenity billion + 1 by Grant Goodyear
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA1
3
4 Grant Goodyear wrote:
5 > Zac Medico wrote: [Wed Jun 07 2006, 01:30:38PM CDT]
6 >> Mike Frysinger wrote:
7 >>> this is a *huge* con ... developers are lazy, *i'm* lazy ... i
8 >>> certainly do not want to go through every single package i maintain
9 >>> and add 'debug-build' to IUSE or 'inherit some-new-eclass'
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 > A "little extra work"? I'm pretty sure that such an eclass would be
15 > required for better than half the tree (every package that contains some
16 > C or C++). If almost everybody has to add the same piece of
17 > boilerplate to their ebuilds, then perhaps a sane package manager should
18 > be able to figure out what to do without the boilerplate. That
19
20 It's a slippery slope when we start to incorporate special cases like that into a generic package manager. Where does it end? The same argument could be made again and again to add more special cases that further pollute the package manager. We already have a standard solution for cases such as this, and that is to share the specialized functionality via an eclass.
21
22 > rationale seems especially true in this case, where nostrip and
23 > debugging flags will do no harm for packages that aren't C or C++.
24 >>> if the large majority of packages are going to be taking advantage of a
25 >>> feature, isnt the logical thing to opt everyone in rather than forcing the
26 >>> majority to opt themselves in ?
27 >> It really depends on the pros/cons applying something on a *global*
28 >> scale, like you propose. A package manager (such as portage) will
29 >> never be able to make debug-build decisions that work well for *every*
30 >> ebuild. That's why it's better for ebuilds to make those decisions
31 >> themselves (with the help of eclasses).
32 >
33 > I would think that your argument would depend on the probability of a
34 > package being an exception to the general rule. How many packages
35 > actually fail to do what is expected when compiled with -g and nostrip
36 > (noting that those cases without binaries to strip don't count)?
37 > Unless that percentage is significant, then I would think that a simple
38 > solution that handles the common case is a very good thing.
39
40 Again, it's a slippery slope...
41
42 > Wouldn't the "simple" solution be to have package.* files that allow the
43 > user to specify FEATURES, CFLAGS, and CXXFLAGS per package? (Of course,
44 > I do realize that it's the lack of such files that lead vapier to
45 > propose his solution, which is rather more convenient for one-off
46 > builds.)
47
48 Well, I'd say that per-package environment variables would be a better way to implement per-package CFLAGS, CXXFLAGS, etc.. There is a patch attached to bug 44796 that implements this. Note that the debug-build.bashrc attached to my last post actually allows per-package debug-build via package.use.
49
50 Zac
51
52 -----BEGIN PGP SIGNATURE-----
53 Version: GnuPG v1.4.3 (GNU/Linux)
54
55 iD8DBQFEhzK3/ejvha5XGaMRAufAAKDm2l8429xS14uPjbYV7Ky5dlFGHgCggXXH
56 rBVkHEMCcJZflR13vA26kog=
57 =DXg0
58 -----END PGP SIGNATURE-----
59 --
60 gentoo-dev@g.o mailing list

Replies