Am 17.08.2018 um 15:13 schrieb Felipe Sateler:

> Hmm. Commit 6f95680ffc9b1605841eb7d3d8eb92c790e6c73a looks like the
> culprit of the regression. But I'd like to understand why this happens.
> Shouldn't update-rc.d have enabled the service?

The lldpad or corosync package ship a native systemd unit.
Looking at the generated postinst:

> # Automatically added by dh_installinit/11.2.1
> if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = 
> "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
>       if [ -x "/etc/init.d/corosync" ]; then
>               update-rc.d corosync defaults >/dev/null
>               if [ -n "$2" ]; then
>                       _dh_action=restart
>               else
>                       _dh_action=start
>               fi
>               invoke-rc.d corosync $_dh_action || exit 1
>       fi
> fi
> # End automatically added section
> # Automatically added by dh_installsystemd/11.2.1
> if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = 
> "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
>       # This will only remove masks created by d-s-h on package removal.
>       deb-systemd-helper unmask 'corosync.service' >/dev/null || true
> 
>       # was-enabled defaults to true, so new installations run enable.
>       if deb-systemd-helper --quiet was-enabled 'corosync.service'; then
>               # Enables the unit on first installation, creates new
>               # symlinks on upgrades if the unit file has changed.
>               deb-systemd-helper enable 'corosync.service' >/dev/null || true
>       else
>               # Update the statefile to add new symlinks (if any), which need 
> to be
>               # cleaned up on purge. Also remove old symlinks.
>               deb-systemd-helper update-state 'corosync.service' >/dev/null 
> || true
>       fi
> fi
> # End automatically added section

The problem is, that dh_installsystemd enables the service *after* a
start attempt has been made and
systemctl is-enabled checks for the state of the native service unit.

With dh_systemd_enable/start, the enable part was before the start.
It's a bit like https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=887904

The old code worked, as it checked the status of the SysV init script,
not the enabled state of the native service file.

-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Pkg-systemd-maintainers mailing list
Pkg-systemd-maintainers@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-systemd-maintainers

Reply via email to