From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 0/9] Introducing service supervision/management with s6
Date: Tue, 9 Aug 2016 21:54:12 +0200 [thread overview]
Message-ID: <20160809215412.7a766bf1@itchy> (raw)
In-Reply-To: <20160809041444.GQ22524@waldemar-brodkorb.de>
Hi!
Le Tue, 9 Aug 2016 06:14:44 +0200,
Waldemar Brodkorb <wbx@openadk.org> a ?crit :
> > This series provides all the packages for programs and libraries to
> > build an embedded system with service supervision and management
> > using s6 from http://skarnet.org.
> >
> > Note that these packages only provide the mechanism for
> > supervising/managing services using s6, not the policy. Packages to
> > provide a policy suitable for Buildroot-based embedded systems,
> > using s6 as init (instead of SysV or systemd), will be provided
> > later. An example is available in the buildroot-s6 demo project
> > [1].
>
> Is there a reason s6 series depends on glibc or musl?
The problem with uclibc-ng is twofold:
1. a compilation issue.
2. a runtime lock-up.
I've finally found time to tackle these issues ;-).
When configuring skalibs, a runtime test is created to check if
posix_spawnp() is present. For whichever reason, when using uclib-ng.
this function is provided by librt. So by default the test fails and
instead of using posix_spawnp(), the function child_spawn0() from
skalibs falls back to a fork/execve homegrown version. This fallback
function is buggy but this has been fixed [0], but this is not
available in skalibs 2.3.10.0.
Anyway, the ./configure script from skalibs can be patched to check
for posix_spawnp() in librt. But then, for each package skarnet
program/library, this extra library should be passed to the build
process (e.g. execline):
```
ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
EXECLINE_MAKE_OPTS = EXTRA_LIBS="-lrt"
endif
```
Unfortunately, posix_spawnp() is buggy, which results in the `if`
command from execline going into an infinite loop. This due to a
incorrect pointer update in __spawni(). I sent a patch upstream to
fix this [2].
So the limitation can now be removed, provided I add one patch for
skalibs and one for uclibc-ng. I'll check with the skalibs maintainer
to see if there is a cleaner way to handle the uclibc-ng librt issue,
because I'd prefer to avoid using the EXTRA_LIBS variable trick in all
the skarnet packages.
Or I can also backport [1] as a temporary workaround.
> I once played with s6, but was scared about pre-configring for all
> architectures. Do you think your patch to skalibs has any chance to
> be upstreamed?
The patch for detecting the endianness was previously discussed [3]. As
Thomas P. suggested some improvements for type size checks, I'll bump
the topic once this part has been reworked.
[1]
http://git.skarnet.org/cgi-bin/cgit.cgi/skalibs/commit/?id=2dc76616b2b0884f0203cf36b58f94c5656c0c81
[2]
http://mailman.uclibc-ng.org/pipermail/devel/2016-August/001126.html
[3]
http://www.mail-archive.com/supervision at list.skarnet.org/msg01034.html
Best regards,
--
ELB
prev parent reply other threads:[~2016-08-09 19:54 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-08 21:02 [Buildroot] [PATCH 0/9] Introducing service supervision/management with s6 Eric Le Bihan
2016-08-08 21:02 ` [Buildroot] [PATCH 1/9] skalibs: new package Eric Le Bihan
2016-08-09 8:06 ` Thomas Petazzoni
2016-08-09 20:16 ` Eric Le Bihan
2016-08-09 20:35 ` Thomas Petazzoni
[not found] ` <20160809221532.3f36d369@itchy>
2016-12-04 18:08 ` Eric Le Bihan
2016-08-08 21:02 ` [Buildroot] [PATCH 2/9] execline: " Eric Le Bihan
2016-08-09 8:09 ` Thomas Petazzoni
2016-08-09 20:22 ` Eric Le Bihan
2016-08-09 20:36 ` Thomas Petazzoni
2016-08-08 21:02 ` [Buildroot] [PATCH 3/9] s6: " Eric Le Bihan
2016-08-08 21:02 ` [Buildroot] [PATCH 4/9] s6-dns: " Eric Le Bihan
2016-08-08 21:02 ` [Buildroot] [PATCH 5/9] s6-networking: " Eric Le Bihan
2016-08-08 21:02 ` [Buildroot] [PATCH 6/9] s6-rc: " Eric Le Bihan
2016-08-08 21:02 ` [Buildroot] [PATCH 7/9] s6-portable-utils: " Eric Le Bihan
2016-08-08 21:02 ` [Buildroot] [PATCH 8/9] s6-linux-utils: " Eric Le Bihan
2016-08-08 21:02 ` [Buildroot] [PATCH 9/9] s6-linux-init: " Eric Le Bihan
2016-08-09 4:14 ` [Buildroot] [PATCH 0/9] Introducing service supervision/management with s6 Waldemar Brodkorb
2016-08-09 19:54 ` Eric Le Bihan [this message]
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=20160809215412.7a766bf1@itchy \
--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