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

Using -Werror in CFLAGS for a debian package build



Hi -devel,

I was working on nbd-server upstream, and so had ran ./configure with
CFLAGS='-Wall -Werror', which I consider good practice when writing C
code.

What I didn't notice immediately was that gcc was emitting some
warnings, but that the -Werror option was not honored for those
warnings. Investigating turned up #615157 (Cc'd): the gcc maintainers
have decided to disable -Werror for some new warnings, because otherwise
it would cause FTBFS bugs in packages that have -Werror set in their
debian/rules file.

IMHO, this is the wrong way to handle such things.

First and foremost, I do not believe that setting -Werror in a
debian/rules file is the best way to maintain a package; -Werror is a
development option which should not be used in a release build (which a
Debian package is). When a package sets -Werror in its debian/rules
file, it *will* FTBFS when the default compiler is changed, while not
necessarily breaking the package itself. I don't think it adds value.

That's a personal opinion, however, and we don't have a policy on this;
so if a maintainer is willing to deal with the fallout of their packages
failing to build when the default compiler is changed, that should
probably be their problem. So long as they are ready to receive FTBFS
bugs and fix them in a timely manner, oh well. It might still be an
annoyance for a user who wants to build a package on a different
compiler than what happens to be the default one, but it's not a fatal
problem. And I can see how using -Werror *might* increase the quality of
a package; some warnings are emitted on only some architectures, so
having -Werror *could* ensure that architecture-specific bugs are
eliminated before they potentially become a problem. It's not totally
silly, but it still seems a bit excessive.

At any rate, all that is undermined if gcc does not turn all warnings
into errors; if a maintainer uses -Werror in a package, that means they
*want* their package to FTBFS on warnings. Reducing the effect of
-Werror would not seem to help these maintainers; presumably they want
the warnings to be fixed in their source anyway, because eventually this
breakage of -Werror will be reverted, and then their packages will FTBFS
again. And while it's a very bad idea to introduce RC bugs in your
reverse dependencies when we're near or in a freeze, I was under the
impression that we're not currently in such a time, which would suggest
that doing so would be acceptable currently.

Additionally, reducing the effect of -Werror in that manner has an
effect on those who use Debian sid as a development environment; put
otherwise, the Debian default compiler is used for more than just Debian
packages, and I don't think we should be mucking with it in this manner.

Thoughts?

-- 
The volume of a pizza of thickness a and radius z can be described by
the following formula:

pi zz a

Attachment: signature.asc
Description: Digital signature


Reply to: