On 09/09/2018 07:32 AM, Andrew Savchenko wrote:
> Hi!
> 
> Our current -Werror policy demands unconditional removal:
> https://devmanual.gentoo.org/ebuild-writing/common-mistakes/index.html#-werror-compiler-flag-not-removed
> 
> I think this is wrong, see bugs 665464, 665538 for a recent
> discussion why.
> 
> ...
I agree with the QA team on this. For the upstream maintainer, -Werror
is useful and deserves to be enabled. For the end-user, on the other
hand, it has no real benefit. And for users of a source-based
distribution, it is actively harmful. Here are some random points:

  * A -Werror failure doesn't actually prevent me from installing a
    package, it only prevents me from installing a package with a newer
    compiler (that often provides other security improvements, like
    Spectre mitigation). So if you're using -Werror to prevent a
    "vulnerable" package from being installed, it doesn't work, and can
    actually be harmful if it prevents me from using a better compiler.

  * The build failures from -Werror don't occur only with new installs.
    They also occur during rebuilds for things like USE changes or
    library ABI updates, leaving you with a broken system.

  * Upstream maintainers can't retroactively fix Gentoo versions. If
    some old version foo-1.0 builds with gcc-8.x and is stable, but then
    breaks with gcc-9.x due to a new warning, how is upstream going to
    fix that? They aren't -- and you aren't either without patching a
    supposedly stable package in-place.

  * Breakage with -Werror prevents upgrades of an already-installed
    package. If there's a security vulnerability in an old version and
    if -Werror is preventing me from upgrading (thanks to a gcc upgrade
    in the meantime), then you've just made things much worse.

And so on.

Reply via email to