tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

-Werror



The removal of -Werror from packages is wrong - here's why:

1.  The authors put it there in the first place.  They did this
consciously, for a reason - because they want their software to be
warning, as well as error free.  It would be good to respect their
wishes.  Now it may be that they don't have the platform or cpp defs
in place which cause warnings.  But I do know that they want to be
informed about this.

2. Moving to new versions of gcc has had this effect in the past.
We'll see it in the future, too. We've never used a club like -Werror,
there's no need.

3.  We're not alone.  Debian/Ubuntu has a large user base, and new
gcc.  So fixes will be coming from Debian packages too.

4.  Authors will be upgrading packages to deal with new versions of
gcc too - they want their software to compile warning and error free
now as before.  So upgrading the package is usually a better long-term
sustainable way of doing this than staying down-level but masking
warnings which are already fixed.  Case in point - xymon.

5.  Switching off -Werror affects the whole package.  A warning in one
place may be benign.  It may be malignant in another place.  This is
exacerbated by conditional compilation, different systems, untested
codepaths etc.

6.  In life, ignoring warnings is the wrong thing to do.  It is the
same in packaging systems.  Case in point:  I ignored lint warnings
when modifying pkg_install way back.  Some tosh about LP64 problems,
but I knew that as NetBSD ran on LP64 just fine, that lint was playing
up.  Well, turns out I was wrong, the warning was good, and I had just
consigned all the alpha users (and there were a lot in those days, it
was the era of the NASA storage arrays) to life without a packaging
system.  I'm grateful to Ross Harvey for pointing out the error of my
ways.  But I also learned to heed warnings.

7. -Werror is such a big club, it's being turned off on all platforms.
This is wrong. Not all platforms are the same, in terms of user base,
ability to get hands dirty, or system basics. And most especially of
users on that platform.

8.  What's the point?  Yes, I could point to a number on a bulk build
log which says I now have n+700 packages a-packaging, but, long term,
that is meaningless.  We have never played the numbers game in pkgsrc,
because we believe that having strength in depth, working
cross-platform, and with good quality packages, is the right thing to
do.

There's more, but I'd bore everyone stupid if I continued.

Not that I haven't already.

Regards,
Alistair


Home | Main Index | Thread Index | Old Index