Re: RFC: OpenRC as Init System for Debian
On Thu, Apr 26, 2012 at 09:49:18AM +0200, Bernd Zeimetz wrote:
> On 04/25/2012 06:42 PM, Roger Leigh wrote:
> > On Wed, Apr 25, 2012 at 08:52:59PM +0800, Patrick Lauer wrote:
> >> I'd like to ask you to evaluate OpenRC as candidate to replace the "old"
> >> have-always-been-there sysvinit/insserv init scripts in Debian.
> > While as others have mentioned that ideally a more dynamic init
> > system such as systemd or upstart is where I think the general
> > consensus is (we all know that sysvinit/insserv is flawed in many
> > ways, even if we can't agree on what should replace it), there is
> > always the possibility of having OpenRC as a sysvinit alternative
> > in the interim, or potentially as a systemd/upstart alternative
> > longer term.
> > Initially, we'd want to package it and make sure that it works
> Does that mean you are working on it already? ;) So far I think using
> OpenRC is the first sane idea in this longish discussion, and while I
> won;t have the time to maintain it I would be happy to help with the
> initial packaging and testing.
Not yet, I hadn't looked at it at all until mentioned on this thread.
But I am exploring it in a bit more detail and discussing it with
the OpenRC developers. It's definitely worth considering. It has
some significant advantages over startpar/insserv. In the longer
term, if systemd/upstart are an inevitability, whether it's worth
doing is perhaps moot.
- startpar computes the inter-script dependencies from the LSB info
when update-rc.d is run. openrc does it dynamically, without there
being a static .depend file. It's probably more robust in
consequence; it can't get out of date or break if there are manual
- the scripts are much cleaner. All the common stuff found in our
scripts is removed. So you just provide functions for start and
stop actions etc. No need for all the boilerplate. The dependency
info is also provided this way as well, so no need to parse comments.
- knows whether services are running or not
- supports cgroups like systemd
- supports kFreeBSD (unlike systemd, the cgroups and other)
- (could potentially support Hurd)
OpenRC doesn't currently parse LSB headers; it would definitely need to
be able to do this before we could adopt it.
systemd (I think) currently understands LSB headers; it would also need
to be able to process OpenRC dependencies as well, AFAIK.
I'm going to investigate it in more detail on a running Gentoo system
and learn a bit more about it before doing anything. If anyone fancies
doing the packaging, I'll be happy to join in. I'll probably be able
to provide a better overview once I know a bit more.
.''`. Roger Leigh
: :' : Debian GNU/Linux http://people.debian.org/~rleigh/
`. `' schroot and sbuild http://alioth.debian.org/projects/buildd-tools
`- GPG Public Key F33D 281D 470A B443 6756 147C 07B3 C8BC 4083 E800