bird on Xenial doesn't restart after reboot
Is this the right place to report and discuss an apparent bug with packaging in ppa:cz.nic-labs/bird ? If not, please advise where would be better. If it is the right place... I'd like to report that bird on Xenial doesn't restart after a reboot, using bird version 1.6.0-1+xenial+1 from http://ppa.launchpad.net/cz.nic-labs/bird/ubuntu xenial/main amd64. It appears the package is a bit inconsistent in its init system handling: - It installs init configuration files for SysV, upstart and systemd. - Its postinst (install-time) script calls 'update-rc.d bird defaults' and 'invoke-rc.d bird start'. On Xenial (which uses systemd), the invoke-rc.d call goes through to systemd - or at least, systemctl status bird indicates running after an 'invoke-rc.d bird start', and inactive after an 'invoke-rc.d bird stop' - but the update-rc.d call does not call on to 'systemctl enable bird'. Hence the observation that bird is not restarted on reboot. Thoughts? From analogy with other packages (that are systemd-enabled when installed), I think the fix may be as simple as: - adding '--with systemd' to the dh invocation - adding dh-systemd as a build dep. Thanks, Neil
On 7.8.2016 01:22, Neil Jerram wrote: Hi Neil! It should be fixed now. Ondrej
Is this the right place to report and discuss an apparent bug with packaging in ppa:cz.nic-labs/bird ? If not, please advise where would be better.
If it is the right place... I'd like to report that bird on Xenial doesn't restart after a reboot, using bird version 1.6.0-1+xenial+1 from http://ppa.launchpad.net/cz.nic-labs/bird/ubuntu xenial/main amd64.
It appears the package is a bit inconsistent in its init system handling:
- It installs init configuration files for SysV, upstart and systemd.
- Its postinst (install-time) script calls 'update-rc.d bird defaults' and 'invoke-rc.d bird start'.
On Xenial (which uses systemd), the invoke-rc.d call goes through to systemd - or at least, systemctl status bird indicates running after an 'invoke-rc.d bird start', and inactive after an 'invoke-rc.d bird stop' - but the update-rc.d call does not call on to 'systemctl enable bird'. Hence the observation that bird is not restarted on reboot.
Thoughts? From analogy with other packages (that are systemd-enabled when installed), I think the fix may be as simple as:
- adding '--with systemd' to the dh invocation
- adding dh-systemd as a build dep.
Thanks,
Neil
Hi Ondrej, I'm really sorry for not having tested this carefully before now - but unfortunately it appears that this is not completely fixed yet. On a system where bird 1.6.0-2+xenial+1 is installed: - systemctl still reports that the bird service is disabled: ubuntu@ip-172-31-63-57:~$ systemctl status bird ● bird.service - BIRD Internet Routing Daemon (IPv4) Loaded: loaded (/lib/systemd/system/bird.service; disabled; vendor preset: enabled) Active: active (running) since Mon 2016-09-12 13:09:46 UTC; 1h 31min ago [...] - In /var/lib/dpkg/info/bird.postinst there are no deb-systemd-helper calls; whereas I do see these in one of my own packages that is built --with systemd. I guess the problem is that debian/rules needs to have an override for dh_systemd_enable, and to use --name, similarly as it does for dh_installinit, in order to deal correctly with how the .service files are named On Mon, Aug 8, 2016 at 4:21 PM Ondrej Filip <feela@network.cz> wrote:
On 7.8.2016 01:22, Neil Jerram wrote:
Hi Neil! It should be fixed now.
Ondrej
Is this the right place to report and discuss an apparent bug with packaging in ppa:cz.nic-labs/bird ? If not, please advise where would be better.
If it is the right place... I'd like to report that bird on Xenial doesn't restart after a reboot, using bird version 1.6.0-1+xenial+1 from http://ppa.launchpad.net/cz.nic-labs/bird/ubuntu xenial/main amd64.
It appears the package is a bit inconsistent in its init system handling:
- It installs init configuration files for SysV, upstart and systemd.
- Its postinst (install-time) script calls 'update-rc.d bird defaults' and 'invoke-rc.d bird start'.
On Xenial (which uses systemd), the invoke-rc.d call goes through to systemd - or at least, systemctl status bird indicates running after an 'invoke-rc.d bird start', and inactive after an 'invoke-rc.d bird stop' - but the update-rc.d call does not call on to 'systemctl enable bird'. Hence the observation that bird is not restarted on reboot.
Thoughts? From analogy with other packages (that are systemd-enabled when installed), I think the fix may be as simple as:
- adding '--with systemd' to the dh invocation
- adding dh-systemd as a build dep.
Thanks,
Neil
participants (2)
-
Neil Jerram -
Ondrej Filip