-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Grant Goodyear wrote:
> Zac Medico wrote: [Wed Jun 07 2006, 01:30:38PM CDT]
>> Mike Frysinger wrote:
>>> this is a *huge* con ... developers are lazy, *i'm* lazy ... i
>>> certainly do not want to go through every single package i maintain
>>> and add 'debug-build' to IUSE or 'inherit some-new-eclass'
>> Sometimes it takes a little extra work to do things right, but
>> hopefully it will pay off in the long run.  A poor design decision
>> made now can haunt us for years to come.
> 
> A "little extra work"?  I'm pretty sure that such an eclass would be
> required for better than half the tree (every package that contains some
> C or C++).  If almost everybody has to add the same piece of
> boilerplate to their ebuilds, then perhaps a sane package manager should
> be able to figure out what to do without the boilerplate.  That

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.

> rationale seems especially true in this case, where nostrip and
> debugging flags will do no harm for packages that aren't C or C++.
>>> if the large majority of packages are going to be taking advantage of a 
>>> feature, isnt the logical thing to opt everyone in rather than forcing the 
>>> majority to opt themselves in ?
>> It really depends on the pros/cons applying something on a *global*
>> scale, like you propose.  A package manager (such as portage) will
>> never be able to make debug-build decisions that work well for *every*
>> ebuild.  That's why it's better for ebuilds to make those decisions
>> themselves (with the help of eclasses).
> 
> I would think that your argument would depend on the probability of a
> package being an exception to the general rule.  How many packages
> actually fail to do what is expected when compiled with -g and nostrip
> (noting that those cases without binaries to strip don't count)?
> Unless that percentage is significant, then I would think that a simple
> solution that handles the common case is a very good thing.

Again, it's a slippery slope...

> Wouldn't the "simple" solution be to have package.* files that allow the
> user to specify FEATURES, CFLAGS, and CXXFLAGS per package?  (Of course,
> I do realize that it's the lack of such files that lead vapier to
> propose his solution, which is rather more convenient for one-off
> builds.)

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.

Zac

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)

iD8DBQFEhzK3/ejvha5XGaMRAufAAKDm2l8429xS14uPjbYV7Ky5dlFGHgCggXXH
rBVkHEMCcJZflR13vA26kog=
=DXg0
-----END PGP SIGNATURE-----
-- 
gentoo-dev@gentoo.org mailing list

Reply via email to