[lintian] 01/01: Don't emit init.d-script-needs-depends-on-lsb-base if the package ships a native Systemd service file. (Closes: #864999)
This is an automated email from the git hooks/post-receive script.
lamby pushed a commit to branch master
in repository lintian.
commit c32b9949d6226439fd73366ee9b03208dd39395c
Author: Chris Lamb <lamby@debian.org>
Date: Tue Dec 19 17:46:29 2017 +0000
Don't emit init.d-script-needs-depends-on-lsb-base if the package ships a native Systemd service file. (Closes: #864999)
---
checks/init.d.desc | 2 +
checks/init.d.pm | 5 +-
debian/changelog | 3 +
.../init.d-lsb-depends-nonrel/debian/debian/init | 71 ++++++++++++++++++++++
.../debian/debian/service | 5 ++
t/tests/init.d-lsb-depends-nonrel/desc | 5 ++
t/tests/init.d-lsb-depends-nonrel/tags | 0
7 files changed, 89 insertions(+), 2 deletions(-)
diff --git a/checks/init.d.desc b/checks/init.d.desc
index ad7f65e..415fdb2 100644
--- a/checks/init.d.desc
+++ b/checks/init.d.desc
@@ -359,6 +359,8 @@ Severity: important
Certainty: possible
Info: The given init script sources the <tt>/lib/lsb/init-functions</tt> utility
functions without declaring the corresponding dependency on lsb-base.
+ .
+ This dependency is not required for packages that ship a native service file.
Tag: init.d-script-contains-skeleton-template-content
Severity: important
diff --git a/checks/init.d.pm b/checks/init.d.pm
index 4c90c2e..c5e6edd 100644
--- a/checks/init.d.pm
+++ b/checks/init.d.pm
@@ -325,8 +325,9 @@ sub check_init {
$tag{$1} = 1;
}
- if ($l =~ m{^\s*\.\s+/lib/lsb/init-functions}
- && !$info->relation('strong')->implies('lsb-base')) {
+ if ( $l =~ m{^\s*\.\s+/lib/lsb/init-functions}
+ && !$info->relation('strong')->implies('lsb-base')
+ && none { $_->basename =~ m/\.service$/ } $info->sorted_index) {
tag 'init.d-script-needs-depends-on-lsb-base',
$initd_path, "(line $.)";
}
diff --git a/debian/changelog b/debian/changelog
index a241a7e..f4b666b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,9 @@ lintian (2.5.66) UNRELEASED; urgency=medium
XXX: generate tag summary
+ * checks/init.d.{pm,desc}:
+ + [CL] Don't emit init.d-script-needs-depends-on-lsb-base if the
+ package ships a Systemd service file. (Closes: #864999)
* checks/pe.{pm,desc}:
+ [CL] Check for Microsoft Windows Portable Executable (PE) files that
are missing security hardening features. Thanks to Petter
diff --git a/t/tests/init.d-lsb-depends-nonrel/debian/debian/init b/t/tests/init.d-lsb-depends-nonrel/debian/debian/init
new file mode 100644
index 0000000..58e562b
--- /dev/null
+++ b/t/tests/init.d-lsb-depends-nonrel/debian/debian/init
@@ -0,0 +1,71 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: init.d-lsb-depends-nonrel
+# Required-Start: $syslog $remote_fs
+# Required-Stop: $syslog $remote_fs
+# Should-Start: $local_fs
+# Should-Stop: $local_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: init.d-lsb-depends-nonrel
+# Description: init.d-lsb-depends-nonrel
+### END INIT INFO
+
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/bin/init.d-lsb-depends-nonrel
+NAME=init.d-lsb-depends-nonrel
+DESC=init.d-lsb-depends-nonrel
+
+RUNDIR=/var/run/redis
+PIDFILE=$RUNDIR/init.d-lsb-depends-nonrel.pid
+
+test -x $DAEMON || exit 0
+
+if [ -r /etc/default/$NAME ]
+then
+ . /etc/default/$NAME
+fi
+
+. /lib/lsb/init-functions
+
+set -e
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: "
+ if start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON
+ then
+ echo "$NAME."
+ else
+ echo "failed"
+ fi
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ if start-stop-daemon --stop --retry --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON
+ then
+ echo "$NAME."
+ else
+ echo "failed"
+ fi
+ rm -f $PIDFILE
+ sleep 1
+ ;;
+
+ restart|force-reload)
+ ${0} stop
+ ${0} start
+ ;;
+
+ status)
+ status_of_proc -p ${PIDFILE} ${DAEMON} ${NAME}
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload|status}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/t/tests/init.d-lsb-depends-nonrel/debian/debian/service b/t/tests/init.d-lsb-depends-nonrel/debian/debian/service
new file mode 100644
index 0000000..0ff03df
--- /dev/null
+++ b/t/tests/init.d-lsb-depends-nonrel/debian/debian/service
@@ -0,0 +1,5 @@
+[Unit]
+Documentation=https://example.com/
+
+[Install]
+WantedBy=multi-user.target
diff --git a/t/tests/init.d-lsb-depends-nonrel/desc b/t/tests/init.d-lsb-depends-nonrel/desc
new file mode 100644
index 0000000..109ce52
--- /dev/null
+++ b/t/tests/init.d-lsb-depends-nonrel/desc
@@ -0,0 +1,5 @@
+Testname: init.d-lsb-depends-nonrel
+Version: 1.0
+Description: Test for packages missing dependencies on lsb-base (false positive)
+Test-Against:
+ init.d-script-needs-depends-on-lsb-base
diff --git a/t/tests/init.d-lsb-depends-nonrel/tags b/t/tests/init.d-lsb-depends-nonrel/tags
new file mode 100644
index 0000000..e69de29
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/lintian/lintian.git
Reply to: