Package: rsyslog
Version: 8.4.2-1

I am repackaging rsyslog and used your maintainer scripts. These are
sometimes failing as they are missing the default "exit 0" command on
the end.

For example preinst:

#!/bin/sh

set -e

if [ "$1" = "install" ] && [ -n "$2" ] ; then
        [ -f /etc/logrotate.d/rsyslog.disabled ] && mv -f
/etc/logrotate.d/rsyslog.disabled /etc/logrotate.d/rsyslog
fi

if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" lt "5.7.8-1" ; then
        rm -f /etc/systemd/system/sockets.target.wants/rsyslog.socket
fi

# In wheezy we ship the syslog.service symlink directly in the package, in
# jessie we use init-system-helpers to create it dynamically in postinst.
# During the upgrade there is a time frame when the symlink does not exist.
# If systemd is reloaded at this point, it loses track of the rsyslogd process.
# To work around this problem, create a (runtime) copy of the syslog.service
# symlink before the upgrade and remove it again afterwards. See #724796
if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" lt "7.4.1-2" ; then
        if [ -d /run/systemd/system ] && [ -L
/etc/systemd/system/syslog.service ] ; then
                ln -sf /lib/systemd/system/rsyslog.service
/run/systemd/system/syslog.service
        fi
fi

This will fail if all the "if" statements will not match.

I would propose you to use the debhelper's default scripts (see the
"exit 0" on the end):

#!/bin/sh
# preinst script for rsyslog
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <new-preinst> `install'
#        * <new-preinst> `install' <old-version>
#        * <new-preinst> `upgrade' <old-version>
#        * <old-preinst> `abort-upgrade' <new-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package


case "$1" in
    install|upgrade)
    ;;

    abort-upgrade)
    ;;

    *)
        echo "preinst called with unknown argument \`$1'" >&2
        exit 1
    ;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0

It's a little effort and will increase quality of rsyslog packaging.

Best regards,
-- 
Peter Viskup

Reply via email to