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

Re: DEB_BUILD_OPTIONS=nowerror



On Fri, 24 Feb 2023 at 10:58:37 +0100, Johannes Schauer Marin Rodrigues wrote:
> I question the conflation of a hypothetical DEB_BUILD_OPTIONS=nowerror with
> other linters like shellcheck (or other tools for other programming languages).

Compiler warnings and lint tools do share some properties:

* they often indicate a bug, but can easily have false positives
* upgrading the "toolchain" (the compiler or the lint tool) frequently
  improves its ability to detect potential bugs, but can also detect new
  false positives
* if they indicate a bug, the bug is not necessarily reachable in practice
* if a "toolchain" upgrade indicates a new bug, the bug is reasonably
  likely to be non-RC

so I think it probably does make sense to think about them in a similar
way.

Compare with a typical functional test (unit test or similar), where a
failure indicates that something is observably wrong with the software
under test - not just a potential bug, but something that the author of
the test has decided is sufficiently wrong behaviour to fail the test,
as detected by a test that is maintained alongside the package itself.

If lint tools and compiler warnings are gated by the same option, I'd
call it (no)fatalwarnings, and I think there is rough consensus (but not
necessarily 100%) that making compiler warnings and lint warnings fatal
during a released package build is the wrong default. Something I've
sometimes done is to gate this sort of thing on whether debian/changelog
says UNRELEASED (=> fatal warnings) or something else (=> non-fatal
warnings).

    smcv


Reply to: