<!nocheck> meaning in Build-Depends
Trying to understand what exactly <!nocheck>
does next to a package in build-depends (for example, Perl). Debian Wiki says:
Terms can be negated by using an exclamation mark as a prefix
So <!nocheck>
is the negation of <nocheck>
. (But where is the default value specified?)
No test suite should be run, and build dependencies used only for that purpose should be ignored. Builds that set this profile must also add nocheck to DEB_BUILD_OPTIONS
- To what test suite does it refer? I suppose it is not the source package's, because it wouldn't make sense for each individual dependency to have a chance block that.
- And if build dependencies used only for that purpose would be ignored, why would they be listed anyway?
1 answer
So
<!nocheck>
is the negation of<nocheck>
.
This is, unfortunately, not true: the negation is within the term. !nocheck
is the negation of nocheck
but both are build profile specs.
The default is “no build profile”. This means anything that uses <someterm>
is ignored and anything that uses <!someterm>
(or no <…>
at all) is honoured.
If you set a build profile, e.g. -Pnocheck
at the dpkg-buildpackage
command line, then <nocheck>
(and no <…>
at all) are honoured and <!nocheck>
is ignored.
The extra descriptions there about how terms are combined apply if you have more than one profile, but for just one like nocheck
, it works like this:
Build-Depends \ -P
|
"" |
-Pnocheck |
---|---|---|
somepkg |
used | used |
somepkg <nocheck> |
skipped | used |
somepkg <!nocheck> |
used | skipped |
0 comment threads