Bug#710559: lintian: init.d-script-call-internal-API contradicts /etc/init.d/skeleton
On Fri, May 31, 2013 at 02:20:39PM -0700, Russ Allbery wrote:
> Hello folks,
>
> Part of the new init.d-script-call-internal-API tag appears to be either
> incorrect or premature:
>
> Russ Allbery <rra@debian.org> writes:
>
> > The new init.d-script-call-internal-API tag says:
>
> > W: libapache2-mod-shib2: init.d-script-call-internal-API etc/init.d/shibd
> > N:
> > N: The given init script call an internal API under /lib/init. /lib/init/rw
> > N: has gone away, and the scripts in /lib/init/*.sh represent internal
> > N: implementation details of initscripts. They are not public API for other
> > N: packages to use. Nonetheless, some packages incorrectly reference those
> > N: scripts, notably /lib/init/vars.sh.
> > N:
> > N: Severity: normal, Certainty: possible
> > N:
> > N: Check: init.d, Type: binary
>
> > but /etc/init.d/skeleton has:
>
> > # Load the VERBOSE setting and other rcS variables
> > . /lib/init/vars.sh
>
> > and then uses $VERBOSE extensively, and I don't see any other way for it
> > to be set. This is inconsistent; if what skeleton is doing is wrong, then
> > that file needs to be updated and we need to provide better guidance in
> > the Lintian tag as to how $VERBOSE is supposed to be handled.
>
> Which is wrong here: the tag or /etc/init.d/skeleton? Is there a plan to
> update skeleton to some other style of init script writing?
/etc/init.d/skeleton is wrong; only sysvinit's own internal scripts
should use vars.sh directly. Other scripts should source
/lib/lsb/init-functions and use the log_* functions.
- Josh Triplett
Reply to: