Commit Graph

37 Commits

Author SHA1 Message Date
Angelo Compagnucci
8291bc7793 package/go: rename BR2_PACKAGE_HOST_GO_{ARCH_SUPPORTS,CGO_LINKING_SUPPORTS}
The hidden Config.in option BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS name is
not very clear as to whether it says whether Go is available for the
target architecture or the host architecture.

Until now, this was fine since there was support for host Go
packages. But as we are about to introduce support for building host
Go packages, we need to clarify the meaning of
BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS. Since it says whether the target
architecture has support for Go or not, we rename it to
BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS.

And since BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS is tightly related,
we rename it to BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS.

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
Tested-by: Adam Duskett <aduskett@gmail.com>
[Thomas: entirely rewrite commit log]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-17 17:20:53 +01:00
Peter Korsgaard
ce76a98902 package/runc: blacklist Codesourcery ARM toolchain
Fixes:
http://autobuild.buildroot.net/results/018e309caa0fc662aa2993e47b2037fb6c569011/

This toolchain uses glibc 2.18, which does not provide O_TMPFILE support.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-03-04 16:25:44 +01:00
Christian Stewart
905e976a6a runc: depend on linux headers >= 3.11 for O_TMPFILE
Fixes:
http://autobuild.buildroot.net/results/63e9d88ae5177541be463f1e2aafec59aa410479

Add dependency on headers >= 3.11 for O_TMPFILE, used by runc after the
fix for CVE-2019-5736 and propagate to the reverse dependencies of runc.

Notice that C library support for O_TMPFILE is also needed, which was added
in glibc 2.19 and musl 0.9.15.

Signed-off-by: Christian Stewart <christian@paral.in>
[Peter: squash series, extend commit message, mention C library dependency,
	fix indentation]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-02-27 10:05:49 +01:00
Christian Stewart
424a90241c docker-engine: fix runc version check warning
Fixes the startup warning from Docker:

failed to retrieve runc version: unknown output format: runc version commit ...

Introduces a patch to replace the faulty version detection logic in the Docker
engine.

Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-02-12 20:21:44 +01:00
Christian Stewart
087e5147c3 docker-engine: bump to v18.09.2
Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-02-12 20:21:39 +01:00
Peter Korsgaard
6e3f7fbc07 package/runc: add upstream security fix for CVE-2019-5736
The vulnerability allows a malicious container to (with minimal user
interaction) overwrite the host runc binary and thus gain root-level
code execution on the host. The level of user interaction is being able
to run any command (it doesn't matter if the command is not
attacker-controlled) as root within a container in either of these
contexts:

  * Creating a new container using an attacker-controlled image.
  * Attaching (docker exec) into an existing container which the
    attacker had previous write access to.

For more details, see the advisory:

https://www.openwall.com/lists/oss-security/2019/02/11/2

The fix for this issue uses fexecve(3), which isn't available on uClibc, so
add a dependency on !uclibc to runc and propagate to the reverse
dependencies (containerd/docker-engine).

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-02-12 20:04:14 +01:00
Matt Weber
590e9e05b6 packages: update sysv S* scripts to 644
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-02-08 11:35:22 +01:00
Peter Korsgaard
1c47edee82 package/docker-engine: drop unused _DAEMON option
Since commit de336584d2 (package/docker-engine: split docker-{cli, engine},
bump to v18.09.0), the docker-engine package only builds the daemon part,
and the .mk file no longer use the _DAEMON option, so drop it.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Tested-by: Christian Stewart <christian@paral.in>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-02-02 12:06:03 +01:00
Peter Korsgaard
30f23f9980 package/docker-engine: add sysv init script
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Acked-by: Christian Stewart <christian@paral.in>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-01-31 08:33:09 +01:00
Christian Stewart
de336584d2 package/docker-engine: split docker-{cli, engine}, bump to v18.09.0
Docker upstream has split the Docker daemon and CLI into separate
codebases:

 - github.com/docker/engine: daemon, "dockerd" binary
 - github.com/docker/cli: "docker" command line interface

This commit splits the docker-engine package into docker-engine and
docker-cli.  Conveniently, the Docker project has begun maintaining
two separate release-tagged repositories for the CLI and daemon as of
v18.06-ce-rc1. Previous versions were tagged in a common "docker-ce"
repository which makes compilation awkward for Buildroot, especially
due to some limitations in the new Go package infrastructure.

Docker repositories "engine" and "cli" recently started tagging
releases. Select the latest stable release, v18.09.0.

The CLI is no longer automatically included with the engine. Users
will need to select BR2_PACKAGE_DOCKER_CLI to produce a both docker
and dockerd target binaries.

Docker CLI can be statically compiled. This enables usage of the
system docker client binary to access the parent daemon API from
within containers, where shared libraries are not available.

While at it, drop the useless host-go dependency from docker-engine,
since it's already added by the golang-package infrastructure.

Signed-off-by: Christian Stewart <christian@paral.in>
[Thomas: drop the host-go dependency from both docker-cli and
docker-engine]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-03 21:11:03 +01:00
Angelo Compagnucci
390b8cdba7 package/docker-engine: convert to golang infrastructure
Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
[Thomas:
 - adapt to the changes in the golang-package infrastructure
 - keep the logic to support BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-03-31 20:20:02 +02:00
Christian Stewart
8d125cd9f6 docker-engine: add dependency on docker-proxy
docker-proxy is needed by docker-engine at runtime, and was
previously not included. This leads to the following error
when attempting to port-map ports to a container:

  $ docker run -p 8080:8080 nginx
  docker: Error response from daemon: driver failed programming external
  connectivity on endpoint:
  exec: "docker-proxy": executable file not found in $PATH.

Docker expects the docker-proxy binary to exist in the PATH.

Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-11 22:34:50 +01:00
Arnout Vandecappelle
0f9c0bf3d5 Globally replace $(HOST_DIR)/usr/bin with $(HOST_DIR)/bin
Since things are no longer installed in $(HOST_DIR)/usr, the callers
should also not refer to it.

This is a mechanical change with
git grep -l '$(HOST_DIR)/usr/bin' | xargs sed -i 's%$(HOST_DIR)/usr/bin%$(HOST_DIR)/bin%g'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-05 15:19:29 +02:00
Christian Stewart
4014ed27c3 docker-engine: bump to version 17.05.0-ce
Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-06-12 10:12:22 +02:00
Christian Stewart
93c7571334 docker-engine: fix journald logging driver
The Docker engine can optionally log to systemd-journald. For this
driver to work correctly, Docker needs to build against
systemd-journald's client library.

This patch conditionally adds a build-time dependency on systemd and
enables compiling the journald driver in docker-engine if systemd is
used as the Buildroot init process.

Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-05-30 09:13:49 +02:00
Waldemar Brodkorb
2480b2e125 Revert "lvm2: disable build with uClibc-ng"
This reverts commit 66f136a9f6.

Issue fixed with uClibc-ng update to 1.0.24.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-01 09:14:12 +02:00
Adam Duskett
8fd62b4e37 package/d*/Config.in: fix ordering of statements
The check-package script when ran gives warnings on ordering issues
on all of these Config files.  This patch cleans up all warnings
related to the ordering in the Config files for packages starting with
the letter d in the package directory.

The appropriate ordering is: type, default, depends on, select, help
See http://nightly.buildroot.org/#_config_files for more information.

Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-04-29 21:15:31 +02:00
Christian Stewart
5d5b92f229 docker-engine: fix handling of vendor tree
The latest docker-engine release changes the vendor tree slightly. The
Go tool will recognize a ./vendor directory and use it as a vendor tree
automatically, but only when run inside a valid GOPATH. This patch
adjusts how the GOPATH is built - now docker/docker is linked into a
blank tree, and the Go tool recognizes the ./vendor directory correctly.

Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-04-18 17:46:37 +02:00
Ricardo Martincoski
6eb5cf144f package: remove consecutive empty lines
Occurrences were searched using [1]:
check-package --include-only ConsecutiveEmptyLines $(find * -type f)
and manually removed.

[1] http://patchwork.ozlabs.org/patch/729666/

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-04-06 22:40:33 +02:00
Fabrice Fontaine
00b1f4c0d2 docker-engine: bump to version 17.04.0-ce
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-04-06 21:49:50 +02:00
Baruch Siach
66f136a9f6 lvm2: disable build with uClibc-ng
lvm2 needs floorl() amnd nearbyintl(), which uClibc does not provide
for all architectures.

The simplest solution is to just disable lvm2 for uClibc.

Fixes:
  http://autobuild.buildroot.net/results/733/733c4d52f22d5f104b835d0f1c64e8a555ec1339/
  http://autobuild.buildroot.net/results/9ce/9ce371b59f0113d10261ede919a7e4f2ce377b3c/
  http://autobuild.buildroot.net/results/e48/e48fbec55160428b84c8d3b2ca957e8f6432c8e1/

Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Thomas: adjust commit log, as suggested by Yann E. Morin.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-04-02 23:38:18 +02:00
Fabrice Fontaine
49d8153ee5 docker-engine: bump to version 17.03.1-ce
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-04-01 16:12:13 +02:00
Christian Stewart
8d060da530 package/docker-engine: introduce option to build CLI client statically
This is useful when bind-mounting the docker client binary into
containers for a docker-in-docker setup.

The Docker CLI communicates with the daemon over a socket. It is
sometimes useful to bind-mount the Docker CLI and socket into containers at
run-time, so that scripts within the containers can call the Docker API
in the host using a client compatible with the host daemon.

Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-03-19 21:23:40 +01:00
Fabrice Fontaine
22ab6d84ff docker-engine: bump to version 17.03.0-ce
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-03-03 23:52:47 +01:00
Fabrice Fontaine
e8d4c34b54 docker-engine: bump to version 1.13.1
- Remove patch as it has been applied upstream since 1.13
 - go packages are now in vendor instead of vendor/src so update
slightly the configure and build commands

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-02-26 15:06:57 +01:00
Rahul Bedarkar
4427fe2821 package: fix reverse dependencies of util-linux
Commit 006a328ad6 ("util-linux: fix build with ncurses") removed
dependency on BR2_USE_WCHAR, but failed to update the reverse
dependencies of util-linux.

This commit fixes all such reverse dependencies by removing dependency
on BR2_USE_WCHAR as it is not required by package itself.

Fixes: 006a328ad6 ("util-linux: fix build with ncurses")
Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-01-28 21:02:51 +13:00
Peter Korsgaard
157ddf77e4 docker-engine: security bump to version 1.12.6
Fixes runC privilege escalation (CVE-2016-9962).

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-01-23 19:07:35 +11:00
Christian Stewart
0533484eb7 docker-engine: fix docker version output
At compile-time the docker build scripts generate a version file used
to build the output of the docker version command. This file is
generated somewhat properly by the Buildroot build system, however the
version number and commit ID are incorrectly formatted. This patch fixes
the output to the correct format.

This is important as some tools like WeaveWorks won't even start unless
they can parse the Docker Version output correctly.

[Peter: strip v from version using patsusbt]
Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-25 23:09:35 +01:00
Christian Stewart
3eddce6ea0 docker-engine: bump version to v1.12.5
Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-23 09:15:19 +01:00
Peter Korsgaard
35e5e7d499 docker-engine: security bump to 1.12.3
Fixes CVE-2016-8867: https://forums.docker.com/t/docker-1-12-2-security-advisory/23975

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-15 17:10:15 +01:00
Peter Korsgaard
c4a7d95e19 docker-engine: needs pkg-config
Fixes:
http://autobuild.buildroot.org/results/fcc/fcc32f6cdc46f354a016a9b137d4f51d4054cdb6/
http://autobuild.buildroot.org/results/083/0832b7be86c525522e2caed66246d5aeb365afb2/
http://autobuild.buildroot.org/results/ede/ede0ddf0c5685ece8443a9b1bbd5c63b4d98af33/

pkg-config is used for some of the docker-engine dependencies (at least
libseccomp and libsystemd), so make sure it is available.

The make.sh script used to configure docker-engine uses the PKG_CONFIG
variable, but the libseccomp-golang go module simply uses whatever
pkg-config binary it finds in the path at build time, so also pass
TARGET_MAKE_ENV to ensure our cross-pkg-config is used.

For consistency and robustness against future changes, use both approaches
for the configure and build steps.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-15 17:08:52 +01:00
Romain Naour
6874d691ce package/lvm2: disable for musl toolchains
lvm2 doesn't build with musl toolchains due to several assignment of read-only
variable like stdin, stdout and stderr.
Also, it use mallinfo function which is not available with musl.

These issues has been reported upstream [2] but some of them remains
even with the latest stable release 2.02.163.

Fixes:
http://autobuild.buildroot.net/results/3d4df873a3d4fa199e03d8aa8694eafeac474e5a
[...]

[1] http://lists.busybox.net/pipermail/buildroot/2016-August/170592.html
[2] https://www.redhat.com/archives/linux-lvm/2016-February/msg00024.html

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-25 23:25:32 +02:00
Christian Stewart
092d3e5e0c docker-engine: add iptables runtime dependency
The Docker engine calls iptables internally:

https://github.com/docker/libnetwork/blob/2c921b/iptables/iptables.go#L400

Signed-off-by: Christian Stewart <christian@paral.in>
[Thomas: fix indentation.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-19 23:18:45 +02:00
Christian Stewart
cd73cac9d5 docker-engine: bump to v1.12.2
Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-19 09:47:31 +02:00
Yann E. MORIN
b8cc37fc7a package/docker-engine: fix unmet dependencies
Properly propagate dependencies from docker-containerd to fix the
following unmet dependencies:

    warning: (BR2_PACKAGE_DOCKER_ENGINE_DAEMON) selects
    BR2_PACKAGE_DOCKER_CONTAINERD which has unmet direct dependencies
    (BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS &&
    BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS && BR2_TOOLCHAIN_HAS_THREADS &&
    BR2_USE_MMU && BR2_USE_WCHAR)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-09-11 15:43:57 +02:00
Christian Stewart
cd7db14272 package/docker-engine: bump to v1.12.0
Bump docker-engine to the latest stable v1.12.0 from v1.12.0-rc3.

Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit f892015d78)
2016-08-26 00:04:01 +02:00
Christian Stewart
e099f37013 docker-engine: new package
Docker is a platform to build, ship, and run applications in portable
containers.

Signed-off-by: Christian Stewart <christian@paral.in>
[Thomas: drop LIBRARY_PATH, as suggested by Christian.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-27 23:22:54 +02:00