Bug#910444: OpenRC called by update-rc.d should read defaults from headers

Benda Xu heroxbd at gentoo.org
Wed Oct 24 03:27:10 BST 2018


Hi Adam,

Adam Borowski <kilobyte at angband.pl> writes:

> But something is amiss: that refactorization happened a year ago, yet there
> was no breakage I nor anyone else noticed.  And I obviously installed quite
> a few daemons in the meantime on systems running unstable (although I don't
> recall any on unstable in last 1-2 months).  Yet on current unstable
> installing new init scripts with openrc is broken (tested with 0.38 and
> 0.34.something) -- if it could have worked before, what did change?
> I'm pretty confused...

The update-rc.d calling of OpenRC is designed to be like this: insserv
makes new symlinks in /etc/rc?.d/, and then OpenRC interprets the
symlinks to populate the state to its own /etc/runlevels.

However, after the refactorization, OpenRC runs before insserv.  With a
refresh new installation of /initscripts/, OpenRC finds nothing in
/etc/rc?.d and it does nothing.  Only after that insserv installs
symlinks there.  At this stage, OpenRC knows nothing of /initscripts/.

But, the next time if some other daemon is installed, OpenRC is called
again by update-rc.d and it finds the left overs of /initscripts/
symlinks and synchroizes them.  Bug disappears!

That's why this bug is so hard to discover.  Many thanks to Axel!

Cheers,
Benda




More information about the Pkg-systemd-maintainers mailing list