Description: corosync (2.4.3-0ubuntu1) includes an invalid debian/corosync-qdevice.init script that is used when running "systemctl enable corosync-qdevice.service", instead of using the systemd service definition. This is causing the action to fail. Removing the init script resolves the issue. Debian 9.7.0 also includes the same script, however on Debian systemctl prefers to use systemd service definitions instead of the init scripts, therefore the problem doesn't occur on debian. Bug: https://bugs.launchpad.net/ubuntu/+source/corosync/+bug/1809682 From: Don van der Haghen diff -Nru corosync-2.4.3/debian/changelog corosync-2.4.3/debian/changelog --- corosync-2.4.3/debian/changelog 2018-04-11 18:14:52.000000000 +0200 +++ corosync-2.4.3/debian/changelog 2019-02-03 20:27:20.000000000 +0100 @@ -1,3 +1,9 @@ +corosync (2.4.3-0ubuntu2) bionic; urgency=medium + + * Removed redundant/conflicting debian/corosync-qdevice.init script from package (LP: #1809682) + + -- Don van der Haghen Sun, 03 Feb 2019 20:27:20 +0100 + corosync (2.4.3-0ubuntu1) bionic; urgency=medium * New upstream release (2.4.3) diff -Nru corosync-2.4.3/debian/corosync-qdevice.init corosync-2.4.3/debian/corosync-qdevice.init --- corosync-2.4.3/debian/corosync-qdevice.init 2018-01-31 01:40:31.000000000 +0100 +++ corosync-2.4.3/debian/corosync-qdevice.init 1970-01-01 01:00:00.000000000 +0100 @@ -1,55 +0,0 @@ -#!/bin/sh -# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing. -if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then - set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script -fi -### BEGIN INIT INFO -# Provides: corosync-qdevice -# Required-Start: $remote_fs $syslog corosync -# Required-Stop: $remote_fs $syslog corosync -# Default-Start: -# Default-Stop: 0 1 6 -# Short-Description: Corosync Qdevice daemon -# Description: Starts and stops Corosync Qdevice daemon. -### END INIT INFO - -NAME="corosync-qdevice" -DESC="Corosync Qdevice daemon" -DAEMON="/usr/sbin/$NAME" -PIDFILE="/run/$NAME/$NAME.pid" - -CONFIG="/etc/default/$NAME" -[ -f "$CONFIG" ] && . "$CONFIG" - -DAEMON_ARGS="$COROSYNC_QDEVICE_OPTIONS" - -do_start_prepare() { - if grep -q nocluster /proc/cmdline; then - log_failure_msg "not configured to run at boot" - exit 1 - fi -} - -# do_{start,stop}_cmd from init-d-script, but without the --name option. -# corosync-qdevice is too long for a process name, it gets truncated, -# which makes it incompatible with the --name option. See #843419. -do_start_cmd() { - start-stop-daemon --start --quiet ${PIDFILE:+--pidfile ${PIDFILE}} \ - $START_ARGS \ - --startas $DAEMON --exec $DAEMON --test > /dev/null \ - || return 1 - start-stop-daemon --start --quiet ${PIDFILE:+--pidfile ${PIDFILE}} \ - $START_ARGS \ - --startas $DAEMON --exec $DAEMON -- $DAEMON_ARGS \ - || return 2 -} -do_stop_cmd() { - start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \ - $STOP_ARGS \ - ${PIDFILE:+--pidfile ${PIDFILE}} --exec $DAEMON - RETVAL="$?" - [ "$RETVAL" = 2 ] && return 2 - # Many daemons don't delete their pidfiles when they exit. - rm -f $PIDFILE - return $RETVAL -} diff -Nru corosync-2.4.3/debian/corosync-qdevice.postinst corosync-2.4.3/debian/corosync-qdevice.postinst --- corosync-2.4.3/debian/corosync-qdevice.postinst 1970-01-01 01:00:00.000000000 +0100 +++ corosync-2.4.3/debian/corosync-qdevice.postinst 2019-02-03 20:27:20.000000000 +0100 @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +# For upgrades from older corosync-qdevice version, delete redundant/conflicting init file (LP: #1809682) +if [ "$1" = "configure" ] && [ -e "/etc/init.d/corosync-qdevice" ] ; then + rm -f "/etc/init.d/corosync-qdevice" +fi + +#DEBHELPER#