From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v3 2/8] dumb-init: new package
Date: Sun, 1 Apr 2018 14:43:25 +0200 [thread overview]
Message-ID: <20180401144325.52bc543f@windsurf> (raw)
In-Reply-To: <20180304004346.331-3-christian@paral.in>
Hello,
On Sat, 3 Mar 2018 19:43:40 -0500, Christian Stewart wrote:
> dumb-init is a minimal init process to act as PID 1 for containers.
>
> Static compilation is used, as dumb-init will typically be executed inside a
> container.
For the poor souls that are not Docker gurus, it is not immediately
clear why static linking is needed. dumb-init runs inside the
container, but the container is going to contain (!) other programs.
Will all those programs be statically linked ? Probably not.
So maybe what's happening is that dumb-init is *executed* inside the
container but is actually provided by the host environment outside the
container, and you want to be able to use the same dumb-init binary
regardless of what the container contains. Is that the use case ?
If so, extending the commit log would be nice.
The next issue is that your package assumes that static linking is
possible. But Buildroot defaults to BR2_SHARED_LIBS, which means that
the toolchain may not necessarily provide libc.a and allow static
linking.
So probably dumb-init should "depends on !BR2_SHARED_LIBS", which means
it wouldn't be visible by default. A Config.in comment would be needed,
like:
comment "dumb-init needs a toolchain w/ static library"
depends on BR2_SHARED_LIBS
Alternatively, you could decide to build dumb-init statically only
if !BR2_SHARED_LIBS, but that means that in the default Buildroot
configurations, dumb-init would be linked dynamically.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2018-04-01 12:43 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-04 0:43 [Buildroot] [PATCH v3 0/8] upgrade docker-engine and associated components Christian Stewart
2018-03-04 0:43 ` [Buildroot] [PATCH v3 1/8] tini: new package Christian Stewart
2018-03-04 0:43 ` [Buildroot] [PATCH v3 2/8] dumb-init: " Christian Stewart
2018-03-31 15:42 ` Romain Naour
2018-03-31 17:42 ` Christian Stewart
2018-04-01 12:43 ` Thomas Petazzoni [this message]
2018-04-06 21:50 ` Christian Stewart
2018-04-07 6:20 ` Thomas Petazzoni
2018-04-10 16:24 ` Christian Stewart
2018-03-04 0:43 ` [Buildroot] [PATCH v3 3/8] docker-engine: add support for init processes Christian Stewart
2018-03-04 0:43 ` [Buildroot] [PATCH v3 4/8] docker-proxy: new package Christian Stewart
2018-03-11 21:34 ` Peter Korsgaard
2018-03-04 0:43 ` [Buildroot] [PATCH v3 5/8] docker-engine: add dependency on docker-proxy Christian Stewart
2018-03-11 21:35 ` Peter Korsgaard
2018-03-04 0:43 ` [Buildroot] [PATCH v3 6/8] runc: bump to 9f9c96235cc Christian Stewart
2018-03-04 0:43 ` [Buildroot] [PATCH v3 7/8] docker-containerd: bump to v1.0.2 Christian Stewart
2018-03-04 0:43 ` [Buildroot] [PATCH v3 8/8] docker-engine: bump to v18.03.0-ce-rc1 Christian Stewart
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=20180401144325.52bc543f@windsurf \
--to=thomas.petazzoni@bootlin.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.