Thanks for your analysis, it explains what's happening. On Wed, Jul 09, 2014 at 01:18:33AM +0200, Michael Biebl wrote: > Am 09.07.2014 01:14, schrieb Michael Biebl: > > So, what to do about this: I'd say it's a bug to (re)start a SysV init > > script from an if-up.d hook without actually checking if the service is > > actually already runnig. > > Because you simply disregard any dependencies which have been specified > > in the LSB header. > > You'd need something like systemd's try-restart, i.e. only restart a > service if already running. > > Something like > service shorewall status && service shorewall restart > > should have a similar effect.
I've tried this, and it does make the boot complete successfully. However, as a consequence, the shorewall service is not running after boot (because for some reason it fails to properly start the first time), and will never be running again unless I explicitly "start" it manually (because the test on the left hand side of && will always be false). Arguably, this might be a bug in shorewall's init script (that shouldn't fail at boot) or, more likely, due to the fact that shorewall lacks a service description that tells systemd to retry running it later on, when the network is available. If you've any idea/tip about this, I'd appreciate. In the meantime, feel free to deal as you please with this bug. Cheers. -- Stefano Zacchiroli . . . . . . . z...@upsilon.cc . . . . o . . . o . o Maître de conférences . . . . . http://upsilon.cc/zack . . . o . . . o o Former Debian Project Leader . . @zack on identi.ca . . o o o . . . o . « the first rule of tautology club is the first rule of tautology club »
signature.asc
Description: Digital signature