Package: lintian
Severity: wishlist
X-Debbugs-Cc: [email protected], [email protected]
We're trying to document Build-Profiles in Debian policy #757760 and as
part of that effort, we also document the nocheck build profile. A key
aspect of this profile is that issuing it should not change output
artifacts. There also is a use case for not producing packages
containing tests programs or samples and that is covered by a separate
noinsttest build profile.
How does lintian come into play? A number of packages use nocheck where
noinsttest should be used and there is an easy way to detect this
particular problem. If debian/control matches
^Build-Profiles:.*[<! ]nocheck[> ]
then it is varying the packages built with the nocheck build profile and
this is explicitly prohibited by the proposed policy change.
Could you add a check for this? I suggest severity error, because there
is no doubt that this is being wrong.
How many packages are affected?
$ grep '^ .*nocheck' .../deb.debian.org_debian_dists_sid_main_source_Sources
libhipblas0-tests deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
libhipcub-tests deb libdevel optional arch=amd64,arm64,ppc64el profile=!nocheck
libhipfft0-tests deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
libhipfft0-tests deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
libhipsolver0-tests deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
libhipsparse1-tests deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
lomiri-tests deb x11 optional arch=any profile=!nocheck
librccl1-tests deb libdevel optional arch=amd64,arm64,ppc64el profile=!nocheck
librocblas0-bench deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
librocblas0-tests deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
librocblas0-tests-data deb libdevel optional arch=all profile=!nocheck
librocblas4-bench deb libdevel optional arch=amd64,arm64 profile=!nocheck
librocblas4-tests deb libdevel optional arch=amd64,arm64 profile=!nocheck
librocblas4-tests-data deb libdevel optional arch=all profile=!nocheck
librocfft0-tests deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
librocfft0-tests deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
librocprim-tests deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
libhiprand1-tests deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
librocrand1-tests deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
librocrand1-tests deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
librocsolver0-bench deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
librocsolver0-tests deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
librocsolver0-bench deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
librocsolver0-tests deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
librocsparse0-tests deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
librocsparse0-tests-data deb libdevel optional arch=all profile=!nocheck
librocsparse1-tests deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
librocsparse1-tests-data deb libdevel optional arch=all profile=!nocheck
librocthrust-tests deb libdevel optional arch=amd64,arm64,ppc64el
profile=!nocheck
$
Proposed metadata:
Tag: varies-content-with-nocheck
Severity: error
Check: ?
Explanation: The nocheck build profile is used to disable binary
packages from being built while the profile is expected to not vary
the resulting artifacts at all. There is a use case for skipping
the installation of benchmarks, samples and test programs and it is
served by the noinsttest build profile. If a build dependency is
required for running build-time tests or installed tests, it should
be annotated <!nocheck> <!noinsttest>. Then it can only be skipped
when supplying both profiles at the same time.
Helmut