Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Mar 2018 20:02:23 -0500
From:      Joe Maloney <jmaloney@ixsystems.com>
To:        freebsd-hackers@freebsd.org
Subject:   OpenRC 0.35 for FreeBSD
Message-ID:  <CAFvkmYNBtH-MizOLVnSR0c5VuYRpYEDpyWig2x%2By7PM6rQkL=A@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hello hackers,
I have been working on a single diff version of OpenRC for FreeBSD:

https://github.com/pkgdemon/freebsd/commit/b6885cd533c848a1b4f3582f48e40c883669b35c

Why OpenRC?  The licensing is right, and it's a way of adding modern
features to service management without reinventing the wheel.  That's
my sales pitch.  This newest itteration is a result of a year, and a
half of feedback from the import into TrueOS.  Eventually it will be
upstreamed into TrueOS to further reduce the diff again between
TrueOS, and FreeBSD.

The single commit in this new fork allows coexistence with rc.d.  It
also uses dhcient again although there isn't a service to start it
directly yet but it does get started with netif.  I have just recently
replaced OpenRC's bootmisc service with a dummy service that launches
cleartmp, cleanvar.  Once I replace the remaining 7 or so scripts with
FreeBSD converted scripts I will rework the dependancies to remove the
uncessary dummy scripts during a second audit. I have been working on
a conversion tool which eases some of the conversion of the remaining
89, or so scripts.

As is this implemtnation only touches top level Makefiles, mtree, adds
new files, and adds a modified init which changes pathnames.h to call
/etc/openrc.  This is work in progress so I am not quite done, and I
have been making tickets in the fork to keep track.  I was thinking
for example of making a kenv option which would allow a single init to
switch pathnames settings perhaps.  At the same time I was trying to
avoid being intrusive by touching service, or init.  So therefore
there is service, and rc-service.  There is init, and openrc-init.
There is rc, and openrc.  There is rc.shutdown, and openrc.shutdown.
You just change init_path for loader, and that is that.

I have full details in the wiki at the fork, and tickets for the items
I plan to tackle next:

https://github.com/pkgdemon/freebsd/wiki
https://github.com/pkgdemon/freebsd/issues

I have had a lot of fun working on this learning how base is tied
together, how bsdinstall is started, learning the internals of rc.d
scripts, etc.  I would appreciate any feedback.  Thanks.

Joe Maloney



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFvkmYNBtH-MizOLVnSR0c5VuYRpYEDpyWig2x%2By7PM6rQkL=A>