Denis Dupeyron wrote:

> Well yes, but an ebuild that dies, whatever the reason, hasn't much to
> do with interactivity.

Fine.  Call it the don't-kill-the-emerge-for-silly-reasons philosophy if you
like.  I personally don't prefer it, but a lot of people think it's a good idea.

> What will follow isn't only for you. You guys are focusing on the
> die/filter alternative. Maybe you haven't noticed but I have never
> stated that I'd prefer ebuilds to die or filter. What I wanted to
> discuss is can't we do something globally to avoid these bugs coming
> in, so that we can focus on something else. I don't care yet if it's
> filtering or dying. And never did I talk about educating the masses.

Well, your first two questions asked whether ebuilds should die rather than
filter, and what other flags ebuilds should die on, so go figure that we're
talking about filtering and dying. :o

Is there a way to do this globally across X architectures and Y GCC versions
with Z number of flags across 11191 packages?  That's not even taking into
account multiple flags and their influence on each other.  Trying to find and
filter every combination of the above is like trying to make a list of every
single thing on earth you shouldn't stick up your nose.  It doesn't work that
way.  You just say "hey, don't stick things up your nose.  if you do, you live
with the consequences".  Once in a while someone decides not to listen and does
something stupid.  We all laugh at them, and go about our day.

> I explained I was talking about a global system, with a possibility
> for ebuilds/users that wanted/needed it to opt out. It's much easier
> to "unblock" --fast-math for libao than going through idontknowhowmany
> bugs about the same number of packages that break with --fast-math,
> for example.

You're missing my point.  Flags that are harmful to some codebases are
beneficial or even essential to others.  This is my question to you:  tell me
how you're going decide what options are going to be blacklisted when all of
them have a specific purpose and use, however corner-case that use could be.
There are no "bad" and "good" flags.  There are broken flags, of course.  Every
GCC release we get to guess which ones don't work right any more. ;)

What it sounds like you're interested in is a whitelist.  We already have
strip-flags (see setup-allowed-flags in flag-o-matic.eclass).  Turning that on
globally however would incite rioting.

I suppose a way to match flag and GCC version number against a list of known
broken flags (ie. _not_ flags that can break things, but flags that are broken
themselves.  note the difference.) wouldn't be too bad.  It's generally known
that, say, -frename-registers is broken in 4.0 or -fnew-ra in 3.x just doesn't
work.  The number wouldn't be too high.  Still, I don't know if it would be
worth it.  It's still much easier just to fix breakage if it happens, and
INVALID anyone who files ricer bugs.

> Let's count together the number of GCC versions we should really care
> about. 3.4, 4.1, any others ?

2.95.3, 3.1.1, 3.2.2, 3.2.3, 3.3.2, 3.3.5, 3.3.6, 3.4.1, 3.4.4, 3.4.5, 3.4.6,
4.0.2, 4.1.0, 4.1.1, 4.2, 4.3, 4.x, 5.x, and etc.  You wouldn't propose a
short-term solution that doesn't include all compilers supported by Gentoo,
would you? ;)  Yes, minor bumps have changed flag behaviour in the past.

>> Mad props to the bug-wranglers, but I don't think it'll be a cakewalk to
>> automate this in any sane way.
> Automate what ?

Whatever this vague global mechanism you're talking about that's supposed to end
CFLAG bugs, save us so much time, and prevent users from ever doing stupid
things.  I mean, if it wasn't automagickal, how would it be any different than
what we're doing now?

> Since when is being a learning tool one of the goals of Gentoo ?

... I can't reply to this without being rude, so I'll leave it alone.


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to