Subject: [bug#71697] [PATCH v3 2/2] scripts: lint: Honor package property to exclude checkers.

From: Simon Tournier <[email-masked]>
Date: Fri, 12 Jul 2024 19:20:08 +0200

Hi,

On Wed, 26 Jun 2024 at 15:28, Maxim Cournoyer <[email-masked]> wrote:

>> Could we not instead create a GUIX_LINT_OPTIONS, similar to
>> GUIX_BUILD_OPTIONS? Then anyone wishing to universally exclude certain
>> checkers (or disable network checks) on their own system would be free
>> to do so.
>
> That would be a good option to have too, on top of the other one.

Well, I am not convinced it would be helpful.  Because if you have:

    GUIX_LINT_EXCLUDE=archival,home-page guix lint -L . foobar

is as complicated as:

    guix lint -L . -x archival,home-page foobar

And if ones does:

    export GUIX_LINT_EXCLUDE=archival

then the checker ’archival’ would be always excluded, i.e., for the
third-party custom packages – that’s what the aim :-) – but also when
the person would contribute to Guix proper – and that’s against our
quality assurance, IMHO.

Somehow, from my point of view, the idea of the patch set is only to
provide a complementary mechanism of “--exclude”.  Consider that I am
packaging something for Guix proper and I am bored by some checker
because it takes time, or because the warning annoys me or because it
sends again and again the exact same request to SWH or because whatever
other reasons, then I can just temporarily turn off that checker when
developing and looping over “guix lint”, either via --exclude or either
via the package property.  Once the package is ready, I submit it with
all checkers turned on.

Obviously, a third-party channel could use this mechanism to turn off
the checkers.  It’s up to them. :-)

Well, maybe the wording of the manual could be tweaked if it does not
capture this idea.

Cheers,
simon