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

Bug#919604: lintian: warnings on new-style init scripts



Package: lintian
Version: 2.5.121
Severity: wishlist

Dear Maintainer,

Lintian seems to be very confused by new style init scripts:

	#!/usr/bin/env /lib/init/init-d-script
	### BEGIN INIT INFO
	# Provides:          bcron-sched
	# Should-Start:      $syslog
	# Required-Start:    $time
	# Required-Stop:     $time
	# Default-Start:     2 3 4 5
	# Default-Stop:      0 1 6
	# Short-Description: bcron system scheduler
	### END INIT INFO
	NAME='bcron-start'
	DESC='bcron system scheduler'
	DAEMON=/usr/sbin/bcron-start

	daemon_ () { /usr/bin/daemon --noconfig --name "${NAME}" "$@"; }
	if ! test -x '/usr/bin/daemon' ; then
		log_failure_msg "install \`daemon' package to use ${NAME} script"
		exit 1
	fi

	do_start_cmd_override () {
		daemon_ "${DAEMON}"
	}

	do_stop_cmd_override () {
		if daemon_ --running ; then
			daemon_ --stop
		fi
	}

and outputs a lot of warnings and errors:

	W: bcron: init.d-script-uses-usr-interpreter etc/init.d/bcron-update /usr/bin/env
	W: bcron: init.d-script-does-not-source-init-functions etc/init.d/bcron-sched
	E: bcron: init.d-script-does-not-implement-required-option etc/init.d/bcron-spool restart
	E: bcron: init.d-script-does-not-implement-required-option etc/init.d/bcron-spool force-reload

Rationale:

  * /lib/init/init-d-script is shell script; kFreeBSD does not
    support shell scripts as shebang interpreters, hence /usr/bin/env
  * /lib/init/init-d-script does source init functions
  * /lib/init/init-d-script does implement both restart and force-reload
    in generic way (stop -> start).

Actually,

	#!/usr/bin/env /lib/init/init-d-script
	### BEGIN INIT INFO
	# Provides:          foo
	# Should-Start:      $syslog
	# Required-Start:    $time
	# Required-Stop:     $time
	# Default-Start:     2 3 4 5
	# Default-Stop:      0 1 6
	# Short-Description: foo daemon
	### END INIT INFO
	NAME='foo daemon'
	DESC='foo deamon that frobnicates bars'
	DAEMON=/usr/sbin/foobar

is perfectly fine new style init script. As you can see, there is no
explicit references to stop/start/restart actions, but they are present.

-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=eo.utf8, LC_CTYPE=eo.utf8 (charmap=UTF-8), LANGUAGE=eo.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: runit (via /run/runit.stopit)

Versions of packages lintian depends on:
ii  binutils                       2.31.1-11
ii  bzip2                          1.0.6-9
ii  diffstat                       1.62-1
ii  dpkg                           1.19.2
ii  dpkg-dev                       1.19.2
ii  file                           1:5.35-2
ii  gettext                        0.19.8.1-9
ii  gpg                            2.2.12-1
ii  intltool-debian                0.35.0+20060710.4
ii  libapt-pkg-perl                0.1.34+b1
ii  libarchive-zip-perl            1.64-1
ii  libcgi-pm-perl                 4.40-1
ii  libclass-accessor-perl         0.51-1
ii  libclone-perl                  0.41-1+b1
pn  libdigest-sha-perl             <none>
ii  libdpkg-perl                   1.19.2
ii  libemail-valid-perl            1.202-1
pn  libfile-basedir-perl           <none>
ii  libipc-run-perl                20180523.0-1
ii  liblist-moreutils-perl         0.416-1+b4
ii  libparse-debianchangelog-perl  1.2.0-13
pn  libtext-levenshtein-perl       <none>
pn  libtimedate-perl               <none>
ii  liburi-perl                    1.76-1
ii  libxml-simple-perl             2.25-1
ii  libyaml-libyaml-perl           0.76+repack-1
ii  man-db                         2.8.5-1
ii  patchutils                     0.3.4-2
ii  perl                           5.28.1-3
ii  t1utils                        1.41-3
ii  xz-utils                       5.2.2-1.3

Versions of packages lintian recommends:
pn  libperlio-gzip-perl  <none>

Versions of packages lintian suggests:
pn  binutils-multiarch     <none>
ii  libhtml-parser-perl    3.72-3+b3
pn  libtext-template-perl  <none>

-- no debconf information

Attachment: pgpFWC2APq0ix.pgp
Description: PGP signature


Reply to: