Re: [debhelper-devel] [Bug 1312836] Re: [systemd] dh_installinit does not create /etc/rc*.d/S??foo if there is an /etc/init/foo.conf
On Tue, May 13, 2014 at 05:28:10AM -, Martin Pitt wrote: > thanks for the explanations! > Steve Langasek [2014-05-12 16:09 -]: > > 2. The masking support is done via startpar + startpar-upstart-bridge, > > which is only available once we're insserv enabled. > Ah, good to know. So startpar knows about upstart jobs and won't > create static runlevel symlinks? insserv still creates the links. Startpar, which is the component that runs as boot, recognizes that the init scripts should be masked by upstart jobs. > Because /etc/init/rc.conf doesn't seem to have any particular magic for > ignoring rc?.d/ links which have a corresponding upstart job. Correct. > > 1) fix all per-package deltas in Ubuntu that removed initscripts from the > > package in favor of upstart jobs (i.e.: bring the packages in line with > > current Debian policy wrt upstart jobs) > That's https://www.debian.org/doc/debian-policy/ch-opersys.html#s-upstart > , right? I.e. we'll also need to update the init.d scripts in these > packages to add init_is_upstart(). Or to ensure the package is including /lib/lsb/init-functions and is used with upstart >= 1.12.1-0ubuntu6, which includes Dimitri's change to make all LSB init scripts DTRT automatically. > > 2) undo the insserv/sysvinit/startpar changes that have disabled insserv in > > Ubuntu > > 4) drop the debhelper change > Just to ensure that I understood this: For 1) we just put back the > init.d scripts but *without* rc?.d/ links, i. e. we build all those > packages with the current dh_installinit which does the "does this > have an upstart job?" test. Correct. > Otherwise we'd create a dependency loop between 1) and 2) as we would then > actually run these init.d scripts. Then we do 2) and for 4) we rebuild > all these packages again with the "new" dh_installinit so that these > packages do get rc?.d symlinks. Yes, exactly. -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developerhttp://www.debian.org/ slanga...@ubuntu.com vor...@debian.org -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1312836 Title: [systemd] dh_installinit does not create /etc/rc*.d/S??foo if there is an /etc/init/foo.conf To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/debhelper/+bug/1312836/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
Re: [debhelper-devel] [Bug 1312836] Re: [systemd] dh_installinit does not create /etc/rc*.d/S??foo if there is an /etc/init/foo.conf
Hey Steve, thanks for the explanations! Steve Langasek [2014-05-12 16:09 -]: > 2. The masking support is done via startpar + startpar-upstart-bridge, > which is only available once we're insserv enabled. Ah, good to know. So startpar knows about upstart jobs and won't create static runlevel symlinks? Because /etc/init/rc.conf doesn't seem to have any particular magic for ignoring rc?.d/ links which have a corresponding upstart job. > 1) fix all per-package deltas in Ubuntu that removed initscripts from the > package in favor of upstart jobs (i.e.: bring the packages in line with > current Debian policy wrt upstart jobs) That's https://www.debian.org/doc/debian-policy/ch-opersys.html#s-upstart , right? I. e. we'll also need to update the init.d scripts in these packages to add init_is_upstart(). > 2) undo the insserv/sysvinit/startpar changes that have disabled insserv in > Ubuntu > 4) drop the debhelper change Just to ensure that I understood this: For 1) we just put back the init.d scripts but *without* rc?.d/ links, i. e. we build all those packages with the current dh_installinit which does the "does this have an upstart job?" test. Otherwise we'd create a dependency loop between 1) and 2) as we would then actually run these init.d scripts. Then we do 2) and for 4) we rebuild all these packages again with the "new" dh_installinit so that these packages do get rc?.d symlinks. Thanks, Martin -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1312836 Title: [systemd] dh_installinit does not create /etc/rc*.d/S??foo if there is an /etc/init/foo.conf To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/debhelper/+bug/1312836/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
Re: [debhelper-devel] [Bug 1312836] Re: [systemd] dh_installinit does not create /etc/rc*.d/S??foo if there is an /etc/init/foo.conf
On Mon, May 12, 2014 at 03:40:42PM -, Martin Pitt wrote: > Adding a debhelper task, to check if we can drop that "autoscripts > /postinst-init*: Only call update-rc.d when there's no upstart job" > delta. No, we cannot. This would cause the init script to be run on boot via /etc/init/rc.conf, in addition to the upstart job being run, with undefined behavior. Before you can drop this debhelper delta, we need insserv enabled in Ubuntu, which first requires repairing the delta of packages that have had their init scripts dropped completely in Ubuntu (at this point, possibly mostly just the initscripts package). > Whether we can just do that depends on this question: If there is > an /etc/rc?.d/S??foo and an /etc/init/foo.conf, does upstart only run > the upstart job and the init.d script gets "masked" by that > automatically (1)? Or would upstart run both (2)? 2. The masking support is done via startpar + startpar-upstart-bridge, which is only available once we're insserv enabled. So the steps are: 1) fix all per-package deltas in Ubuntu that removed initscripts from the package in favor of upstart jobs (i.e.: bring the packages in line with current Debian policy wrt upstart jobs) 2) undo the insserv/sysvinit/startpar changes that have disabled insserv in Ubuntu 3) test insserv extensively in Ubuntu to make sure we're getting the expected result 4) drop the debhelper change -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1312836 Title: [systemd] dh_installinit does not create /etc/rc*.d/S??foo if there is an /etc/init/foo.conf To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/debhelper/+bug/1312836/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs