On Sun, 27 Jul 2014, Michael Biebl wrote: > Am 26.07.2014 23:59, schrieb Henrique de Moraes Holschuh: > > On Sat, 26 Jul 2014, Michael Biebl wrote: > >> If invoke-rc.d by default stops both .socket and .service, the package > >> maintainer no longer has this option. > > > > This is incorrect. > > > > You can extend "invoke-rc.d stop" with a --option that "quiesces the service > > and terminates its running instances, but allows a (possibly immediate) > > on-demand restart of the service by triggers such as socket activation" > > As maintainer of sysv-rc, do you have any suggestions how this interface > should look like? And where and how it should be documented?
Adding the sysvinit ML to Cc. Summary and previous context here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=736258#46 Short summary for sysvinit-devel: 1. Right now, invoke-rc.d stop does not block socket activation in systemd. 2. This causes problems in packages that do not expect it. 3. There's a desire in the systemd camp to have this functionality available, so it is not just a matter of fixing invoke-rc.d. I proposed that invoke-rc.d be extended with a new interface that implements the desired behaviour, and that the current interface (invoke-rc.d stop) must be changed so that it blocks socket activation under systemd. Extending invoke-rc.d: Looks like documentation should be added to the package providing invoke-rc.d, which is currently sysv-rc. There is a README.invoke-rc.d in sysv-rc that needs to be updated. The invoke-rc.d(8) manpage also has to be updated. We might want to clarify things in debian-policy after we finish and deploy the fixed invoke-rc.d implementation for systemd. Here's a not very creative suggestion for the new invoke-rc.d extension: invoke-rc.d --allow-on-demand-activation stop Bikeshedding over that naming is welcome. and for the manpage: INIT SCRIPT ACTIONS ... Note: the stop action will stop the service and also disable any automatic on-demand activation triggers for the stopped service, such as socket activation in systemd. The on-demand triggers will be re-enabled when the service is started again. OPTIONS ... --allow-on-demand-activation By default, when invoke-rc.d stops a service, any further activation of the service will be blocked until the service is explicitly started again. To keep the on-demand triggers enabled (for example: socket activation), use the --allow-on-demand-activation when issuing the stop action. This option is currently only defined for the stop action, and will be ignored on the other actions. For forward compatibility reasons, scripts must not specify this option for any other actions than stop. WARNING: maintainer scripts must be very careful when using this option, as the service might be activated while dpkg is replacing files during a package upgrade, or service configuration is being updated, etc. Services that start multiple executable modules or that have dynamic linked modules should never use this option. -- "One disk to rule them all, One disk to find them. One disk to bring them all and in the darkness grind them. In the Land of Redmond where the shadows lie." -- The Silicon Valley Tarot Henrique Holschuh -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org