Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] systemd: bumped to version 206
Date: Sat, 31 Aug 2013 22:06:00 +0200	[thread overview]
Message-ID: <52224CA8.4050204@free.fr> (raw)
In-Reply-To: <20130831134654.661a11a6@skate>

Le 31/08/2013 13:46, Thomas Petazzoni a ?crit :

> I believe we have several options:
> 
>  (1) No longer allow the usage of 'udev' without systemd. This is I
>      believe what would match the best the upstream decision of making
>      udev and systemd more and more integrated together. This would
>      mean remove the separate 'udev' package, and turn the 'udev' /dev
>      management method into a 'udev+systemd' management method, which
>      would force the "init method" to be systemd. This is probably the
>      easiest solution, but I guess some users might be disappointed:
>      they might be using udev for some reason, but still may not want
>      all the systemd/dbus stuff. That said, using udev without systemd
>      seems to go against the choices of the upstream systemd project.

This is my first option.
> 
>  (2) Continue to use an old standalone udev, but ensure that the choice
>      of udev and systemd are mutually exclusive. This is not very
>      satisfying since the old udev we have is no longer maintained, so
>      it does not look like a solution that is very future-proof.

This is a no-go.

>  (3) Package one of more recent 'udev' versions that have been
>      extracted from systemd sources, as a separate 'udev' package that
>      would be mutually exclusive with systemd. It's a bit like (2) but
>      with a more recent udev version. However, it's unclear how those
>      forked versions of udev will be maintained over time.

Currently, we have two contestants:

 1) The developers of Linux From Scratch extracted the udev code from
systemd source tree:
http://www.linuxfromscratch.org/lfs/view/development/chapter06/udev.html. This
does not look very maintainable, so I will not bet on it.

 2) The developers of Gentoo forked udev:
https://github.com/gentoo/eudev. They want eudev to be system
initialization neutral, so we might expect it not to diverge too much
from upstream. And it will live as long as Gentoo lives (or moves to mdev!).

>  (4) See if it's possible to make the systemd package only provide
>      udev. I think it is possible to install only udev, but as far as I
>      remember, D-Bus was still required at build time, unless you did
>      some tricks.

In the systemd source tree there is only one Makefile to compile the
cathedral. A while ago, a patch was posted on hotplug mailing list to
compile only udev (http://www.spinics.net/lists/hotplug/msg05503.html).
This does not look very maintainable. So compiling the cathedral and
copying the files seems a better choice to me.

> To be honest, as I'm not really using udev myself, choice (1) seems to
> have my preference. If udev users are not happy with the fact that they
> must now use systemd, then they should work that out with upstream (and
> I wish them good luck!).
> 
> What do you think about this?

I would also go with choice (1). But out of curiosity, I'll try to
package eudev and implement choice (4) and see what comes out.

> runit ? s6 ? What are these ?

Runit and s6 are Unix init systems with service supervision. They
implement the same features as Systemd, but with less *cough*
freedesktop bloat. They both derive from daemontools from D.J. Berstein
(http://cr.yp.to/daemontools.html).

Service supervision is very handy in embedded devices that have to be
remotely administrated (like ADSL residential gateways, Femtocells, or
smart meters).

These systems also offer a cleaner way of defining services (I
personally think that the unit file concept is the killer feature of
systemd)

The creator of s6 (http://skarnet.org/software/s6/) has a lengthy
explanation about the history and benefits of these tools.

Runit can be used as a replacement to systemd in Arch Linux
(https://github.com/chneukirchen/ignite). It is also available in
Busybox! But I prefer the original implementation.

I've deployed products running s6, without any issues. But I lean
towards runit because:

 - s6 depends on a set of libraries that follow the /package
(slashpackage) hierarchy (http://cr.yp.to/slashpackage.html). You have
to twist your brain a little bit to wrap around this concept when mixed
with a traditional LSB. I've got a patch set to build these using an old
Buildroot. I'll update them and post them if someone is interested.
 - it is a one-man-army project.

Runit keeps the things simple and is also available in Debian.

Both do fit in embedded devices. I'll try to evaluate OpenRC one day.

  reply	other threads:[~2013-08-31 20:06 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-30 14:32 [Buildroot] [PATCH 1/1] systemd: bumped to version 206 eric.le.bihan.dev at free.fr
2013-08-30 14:36 ` Thomas Petazzoni
2013-08-30 16:38   ` eric.le.bihan.dev at free.fr
2013-08-31 11:46     ` Thomas Petazzoni
2013-08-31 20:06       ` Eric Le Bihan [this message]
2013-09-01  7:24         ` Thomas Petazzoni
2013-09-02  6:18 ` Arnout Vandecappelle
2013-09-02  9:18   ` Eric Le Bihan
  -- strict thread matches above, loose matches on Subject: below --
2013-09-01 16:54 Olivier Schonken
2013-09-02 15:04 ` Eric Le Bihan
2013-09-07 16:52   ` Olivier Schonken
2013-09-08 11:30     ` Eric Le Bihan
2013-09-15 18:15       ` Thomas Petazzoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52224CA8.4050204@free.fr \
    --to=eric.le.bihan.dev@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox