Commit Graph

27 Commits

Author SHA1 Message Date
Jose Quaresma
2d0f7255a7 docker/proxy: don't use -linkshared unconditionally
The linkshared is not supported in some machines like riscv64 and
when supported we can use the GO_LINKSHARED instaed.
So export GO_LINKSHARED on the recipe to be available for Makefile.

This is currently only used in libnetwork for the proxy build, but
could be used in additional locations in the future.

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-09-20 08:42:10 -04:00
Bruce Ashfield
7cea149bb0 docker: reproducibility add -trimpath to go -> $GO patches
With this, we build and package docker without QA warnings due to
references to TMPDIR.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-09-13 11:25:46 -04:00
Bruce Ashfield
dbe9ce60c2 docker-moby: update to 20.10.17
Bumping moby to version v20.10.17-2-g3949ff121e, which comprises the following commits:

    ff7feeac37 vendor: github.com/containerd/continuity v0.3.0
    6f3f2b6d08 update containerd binary to v1.6.6
    b3bcb15da8 update containerd binary to v1.6.5
    f55b030fa0 system: unbreak build for darwin
    63ab12cd3a Port pkg/system/mknod.go to FreeBSD
    081e538fbd vendor: libnetwork f6ccccb1c082a432c2a5814aaedaca56af33d9ea
    8e9d647c01 [20.10] update golang to 1.17.11
    87ead7fd2a vendor: hcsshim a11a2c44e8a4aa9d66314b1d759ef582df5ab5e8
    27f8322324 vendor: libnetwork 2dab5620d4462865c6151e573b3e7fa5d3b8458b
    829951ec19 docs: api: /containers/{id}/attach/ws: remove unsupported query-args < v1.42
    6cbe73bfc0 Rename Reservation to Reservations in the open API
    d9ed3d7e28 update runc binary to v1.1.2
    a15acb4bd6 [20.10] vendor: golang.org/x/sys v0.0.0-20220412211240-33da011f77ad
    5f2e0b79ad [20.10] update golang to 1.17.10

Bumping libnetwork to version v0.7.0-dev.3-1835-gf6ccccb1, which comprises the following commits:

    af0c46d8 Apply peformance tuning to new sandboxes also
    23ffb31f Set ExternalPortReserved for dummy proxy
    9b82e422 Bump hcsshim
    9db86fb7 Only check if route overlaps routes with scope: LINK

Bumping docker-cli to version v20.10.17, which comprises the following commits:

    7502d7e56 Fix dead external link
    308624c3b fix: remove asterisk from docker command suggestions
    de7d866b6 [20.10] update golang to 1.17.11
    240e4b550 [20.10] vendor: golang.org/x/sys v0.0.0-20220412211240-33da011f77ad
    5d4776bd9 [20.10] update golang to 1.17.10
    49e9c2ae3 vendor: golang.org/x/sys  63515b42dcdf9544f4e6a02fd7632793fde2f72d (for Go 1.17)
    87a3ce269 vendor: golang.org/x/sys d19ff857e887eacb631721f188c7d365c2331456
    1d8abed17 vendor: update x/sys to 134d130e
    31dad66f9 [20.10] update golang to 1.17.9
    80f673bf9 gofmt with go1.17
    3d4cc8e69 [20.10] update remaining files to go1.17.8
    30277a8f8 update go to 1.17.8
    cfef3a7dc docs: deprecated: add entry for "fluent-async-connect" log-opt
    53426025c [20.10] docs: reformat table for compatibility
    573a66463 Describe privileged mode in terms of capabilities
    cf0ab7ac4 [20.10] vendor: github.com/docker/distribution v2.8.1
    d05fd4ffc [20.10] vendor: github.com/opencontainers/image-spec v1.0.2
    870f13825 [20.10] vendor: github.com/docker/docker v20.10.14
    198d6b872 [20.10] circleci: update buildx to v0.8.2
    55a14ec85 [20.10] update remaining Dockerfiles to go 1.16.15
    1f9a0df05 e2e: update docker-compose to 1.29.2
    4ae338b33 docs: reference: remove trailing space to fix yaml formatting
    6380142dd docs: fix (table) formatting, fix some broken links
    82f422fcf docs: build: fix minor markdown and syntax issues
    80fd77903 Update the list of log drivers
    c3d4d623c Fix CMD --ignored-param1 example
    2e82d11de docs: dockerd: fix broken link in blockquote area
    738a6ee1c improve cp documentation with some illustration examples
    246d96bb6 docs: unify "docker create" and "docker run" reference
    2fd0f1705 docs: add missing documentation for --pull flag
    5fa500000 Fix incorrect pointer inputs to `json.Unmarshal`
    1e6a8ce2b Dockerfile: update xx to 1.1
    6f7a931a2 [20.10] use GO_LDFLAGS instead of LDFLAGS to prevent inheriting unrelated options
    91bab605f [20.10] vendor.conf: don't use git:// protocol
    a282e0c5d [20.10] update to go 1.16.15 to address CVE-2022-24921

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-08-09 14:26:28 -04:00
Bruce Ashfield
9d98a04b26 docker: unify common parts of docker-ce and docker-moby recipes
Now that docker-ce is being built from the same repos as docker-moby,
the only unique things in the recipes are the SRCREVs.

We move the common packaging, compile/install routines and configuration
to the .inc files.

We also move the patches to the generic 'files' directory, so they
can be shared.

If we there are SRCREV bumps in the future that diverge moby and
docker, we'll hold patches in their named directorys and tweak
the compile/install routines as necessary.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-04-29 17:09:31 -04:00
Martin Jansa
87b9e054ff docker: move docker.init back to files directory to use it from docker-moby
* it was moved for some reason in:
  http://git.yoctoproject.org/cgit/cgit.cgi/meta-virtualization/commit/?id=929372946aeb85953d1ca6acc428d73fbac52a56

  but docker-moby uses it as well and now started to fail with:
  ERROR: docker-moby-19.03.12+git9dc6525e6118a25fab2be322d1914740ea842495-r0
  do_fetch: Fetcher failure: Unable to find file file://docker.init
  anywhere. ..

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-07-02 12:09:10 -04:00
Bruce Ashfield
929372946a docker-ce/docker-moby: fixup GO compiler calls
With oe-core commit c23f9e80492e4b [tcmode-default: use go-binary-native
by default], we must explictly call the proper cross go binary, versus
just the go-native variant.

These builds were working by luck, since the go compiler was capable of
building the target binaries previously (in its build-from-source
creation). We fixup the calls and we no longer see fpu build issues:

fatal error: gnu/stubs-soft.h: No such file or directory

    7 | # include <gnu/stubs-soft.h>
      |           ^~~~~~~~~~~~~~~~~~

This commit also moves the docker-ce patches from "files" to a named
directory to reduce confusion.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-07-01 12:43:16 -04:00
Phil Coval
a3b36fbb1f docker: fix init script for busybox
Observed issue using BusyBox v1.30.1 not supporting bashism

/etc/init.d/docker.init: line 43: syntax error: unexpected redirection

Change-Id: I9f73564cfb56352fbf7d80723ea938b66eceb5c7
Forwarded: https://lists.yoctoproject.org/g/meta-virtualization
Signed-off-by: Philippe Coval <rzr@users.sf.net>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27 16:54:54 -05:00
Bruce Ashfield
6c48fddd30 docker/moby: 19.03.x update
Updating the moby recipes to the match the 19.03.x updates pulled
into docker/docker-ce

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-26 01:30:59 -04:00
Stefan Agner
e7787cb01b docker-ce: improve hardcoded CC for cross compile
Since commit applied in moby [61a3285 Support cross-compile for arm]
it hardcoded var-CC to support cross-compile for arm

Correct it with "${parameter:-word}" format, it is helpful for user
define toolchains

(Use Default Values.  If parameter is unset or null, the expansion of
word is substituted.  Otherwise, the value of parameter is substituted.)

61a3285864

This fixes a build issue seen when building docker-ce:
  exec: "aarch64-linux-gnu-gcc": executable file not found in $PATH

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-23 02:30:19 -04:00
Hongxu Jia
f73eb0b2c9 docker: improve hardcoded CC for cross compile
Since commit applied in moby [61a3285 Support cross-compile for arm]
it hardcoded var-CC to support cross-compile for arm

Correct it with "${parameter:-word}" format, it is helpful for user
define toolchains

(Use Default Values.  If parameter is unset or null, the expansion of
word is substituted.  Otherwise, the value of parameter is substituted.)

61a3285864

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-07-22 11:36:16 -04:00
Ting Yu
5043d6263a Add pidfile flag to store dockerd PID in /var/run/dockerd.pid
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-12-04 18:15:11 -05:00
Chin Huat Ang
4ef7f8b758 docker: fix broken init script
Fix numerous docker.init issues such as missing runtime dependency
util-linux-unshare, incomplete handling of start/stop etc. operations
and minor typos.

Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-11-20 16:01:38 -05:00
Bruce Ashfield
86db36879f docker/docker-ce: uprev to 18.09
Infrastructure changes triggered updated to supporting parts of the
docker stack, so to make sure that everything stays in sync we update
to the 18.09 release.

There were some minor build differences in this update, but in the
end, things are better since we can use some more of the Make infrastructure
versus calling 'go build' directly.

Also, docker-ce and docker are now virtually the same, except for the
moby based docker pulling in the cli and libnetwork repos independently.
There should be virtually no difference between the results, but we still
keep the two variants for flexibility.

We also drop the unused/legacy 'hi.Dockerfile'.

Tested with both kubernetes and docker unit tests.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-11-05 10:20:54 -05:00
Bruce Ashfield
b1c810c812 docker: remove stale .service file
We use the systemd service file from within the docker git
repo. Removing the unused recipe space version, since it is
invalid and causes confusion.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-08-02 22:57:14 -04:00
Bruce Ashfield
ab3965109b docker: restructure to build docker-proxy using provided Makefile
Rather than invoking go directly to build docker-proxy, we can use
the libnetwork Make infrastructure. This picks up our exported go
enviroment variables, and other sysroot flags.

We also apply one patch to ensure that the cross-go toolchain is
used, and that the proper build flags are used.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-04-09 10:25:48 -04:00
Bruce Ashfield
a5074cecf1 docker: uprev to 18.03.0
Uprev the docker daemon, proxy and cli to 18.03.0.

The SRCREVs for these updates come from the versions logged in the
docker-ce 18.03.0 release. The docker-ce recipe has a pure docker-ce
single repository build, but here, we continue to assemble the individual
parts for maximum flexibility.

Along with the uprev, we add new dependencies required to build the new
version; libtool and pkcconfig (although unused by the recipe itself).

Finally we switch to a Makefile based build of the cli to allow the
commit and docker version to be properly captured in the docker executable.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-04-02 00:34:18 -04:00
Jason Wessel
01a8d45370 nets, docker, runc, oci-*tools: go.bbclass compile fixes
Recently in the oe-core the go.bbclass changed and requires the
defition of the GO_IMPORT variable.  This was intended to simplify how
the compilation works with go packages and it is still a work in
progress.

This patch set makes the recipes compatible to generate the same end
result as before using the new go.bbclass from oe-core.

Any patches that were included in the recipes had to have the paths
adjusted because the new go.bbclass manipulates the notion of S to be
S + "src" + "$GO_IMPORT" internally for the purpose of unpack, patch
and compile.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-09-14 09:49:00 -04:00
Jan Kiszka
de50b56087 docker: Fix and update sysvinit script
Fix daemonization, align args with docker.service, fix line breaks in
log file - and fix INITSCRIPT_PARAMS (there is no variable
OS_DEFAULT_INITSCRIPT_PARAMS).

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-07-17 15:48:43 -04:00
Jason Wessel
3c435ae8f0 docker: Uprev to latest based on runc 1.0-rc3
The build method for docker client changed where by the docker cli is
now required to be pulled in from a separate git tree to be built.

The integration patch to cross compile was also upreved since some
parts of it were accepted upstream while other parts have not been
accepted at this time.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-07-13 13:53:58 -04:00
Bruce Ashfield
c5cd21af5f docker: remove obsolete docker-registry recipe
The docker v1 registry has long been depreciated and moved into the
docker distribution library.

The registry is run via the docker CLI and not through a standalone
server.

This change removes the old registry and adds a .service file + package
for docker registry in the main docker recipe. Anyone that wants to
run a local registry can install the docker-registry package and the
service will start.

Note: No full config.yml file is provided, since the default are sane.
If tweaks are required, we can use ENV vars or consider adding a
config overlay.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-02-27 15:25:39 -05:00
Mark Asselstine
e764db31c1 docker: fixup builds broken by uprev to 1.13
This new version of docker starts to assume that go 1.7 is
used. Specifically in go 1.7 golang.org/x/net/context has been merged
so the include is starting to be shortened to simply "context" which
does not work when using go 1.6. We can continue to use go 1.6 by
using the full pkg path.

Additionally the docker-proxy is not built when using the hacks build
mechanism, as we do to build docker (ie. we don't build docker in a
docker container). We could probably find a way to build docker-proxy
using the build hacks, but for now we will simply drop docker-proxy
from the package. In an embedded env. using the proxy doesn't make a
lot of sense anyways.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-01-20 15:49:06 -05:00
Bruce Ashfield
6f17a76ac1 docker: uprev to 1.11.1
Updating docker to the 1.11.1 release, which uses the open container initiative
components.

With this udpate, we drop patches that are no longer required, and adjust the
install/strip routines to not look for obselete components.

There are now 4 binaries required for docker to work:

  - docker
  - docker-containerd
  - docker-containerd-shim
  - docker-runc

The new containerd and runc recipes provide the latter, while docker provides
the cli and daemon.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2016-05-02 14:02:42 -04:00
Zongchun Yu
acbe424171 docker: uprev to 1.9.0
Signed-off-by: Zongchun Yu <zongchun.yu@nxp.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2016-04-19 15:51:14 -04:00
Amy Fong
fe357d8c80 docker uprev 1.6.2
Uprev docker to 1.6.2

go-capability is upreved to a later git commit
go-dbus is upreved to version 2
go-distribution-digest is added as a new dependency. Only the
   digest part of go-distribution is needed/kept here,
   hence go-distribution-digest
go-logrus is upreved to 0.7.1

Remove PR since it's no longer used

Signed-off-by: Amy Fong <amy.fong@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-06-14 23:00:09 -04:00
Amy Fong
960aff31ba docker engine not running
In yocto builds, preprocessing of binaries can happen after the install
phase.  Some of these can modify the size/sha1sum of the binaries.
e.g. A new .gnu_debuglink can happen

docker will not start because of these modifications. Docker initially
does a sha1sum of dockerinit to identify the dockerinit that it was built
with, this is done for security and for compatibility reasons. Since
this checking is disabled, we should rely on rpm tests for validation
of the binary instead.

Signed-off-by: Amy Fong <amy.fong@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-04-11 00:22:37 -04:00
Bruce Ashfield
19ca5c408a docker: add sysvinit script
Adding a basic sysvinit script to docker .. for those that still use
sysvinit!

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-04-08 13:27:19 -04:00
Amy Fong
e8af612774 Package docker
Adding docker (Linux container runtime)

Signed-off-by: Amy Fong <amy.fong@windriver.com>
2015-03-17 09:46:32 -04:00