tech-pkg archive

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

Re: pkglint and PKG_SKIP_REASON



On Mon, May 02, 2016 at 08:01:58AM +0200, Roland Illig wrote:
 > <p dir="ltr"><br>

please fix your mailer :-)

 >> It seems that pkglint has started(?) to generate messages of the form
 >>
 >>    WARN: Makefile:123: Definition of PKG_SKIP_REASON is deprecated. Use PKG_FAIL_REASON instead. 
 >>
 >> Since when is PKG_SKIP_REASON deprecated? And who decided to have 
 >> pkglint start complaining about it?
 >
 > Since November 2006.

!

Has it been not actually issuing the warning until recently? Because
not that long ago I went through and audited all uses of
PKG_FAIL_REASON and PKG_SKIP_REASON (and other related settings) and
I'm sure I would have noticed at the time if pkglint were
complaining.

 > If I remember correctly, I decided that on my own because back then
 > I didn?t see the need for it, as all its existing appearances
 > could be replaced with {ONLY,NOT}_FOR_PLATFORM.

Ah, most of them can, yes. However, in that case the pkglint message
should not say to use PKG_FAIL_REASON!

 >> There's an important distinction between PKG_SKIP_REASON and 
 >> PKG_FAIL_REASON.
 > 
 > PKG_SKIP_REASON probably does not count into the number of failed
 > packages. What else did I miss about it?

The intent (not sure to what extent it's been rolled out yet still) is
that PKG_FAIL_REASON causes a failure in the bulk reports -- not just
a count but also a failure report that anyone looking will continue to
see until it's fixed. However, PKG_SKIP_REASON is supposed to cause
the package to disappear from the bulk reports.

It's the same as (and the implementation of, too) NOT_FOR_PLATFORM vs.
BROKEN_ON_PLATFORM; the former is for cases where the package doesn't
make sense (e.g. libao-sun on macos) so having it showing up in every
build report is annoying noise; the latter is for things that
Someone(TM) ought to get around to fixing.

This distinction was only clearly articulated while you were away, so
it's not surprising you didn't see it... but can you update pkglint to
not object to PKG_SKIP_REASON?

(Also, checking for constructs of the form '.if $(OPSYS) == "foo"
PKG_SKIP_REASON+=doesn't support foo' and suggesting NOT_FOR_PLATFORM
instead might be worthwhile, but this is probably complicated with a
low yield.)

-- 
David A. Holland
dholland%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index