aboutsummaryrefslogtreecommitdiffstats
path: root/community/docker/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/docker/APKBUILD')
-rw-r--r--community/docker/APKBUILD251
1 files changed, 116 insertions, 135 deletions
diff --git a/community/docker/APKBUILD b/community/docker/APKBUILD
index ee5418afc3b..0ce351df307 100644
--- a/community/docker/APKBUILD
+++ b/community/docker/APKBUILD
@@ -1,26 +1,57 @@
# Contributor: Eivind Uggedal <eu@eju.no>
-# Contributor: Jake Buchholz <tomalok@gmail.com>
-# Maintainer: Jake Buchholz <tomalok@gmail.com>
+# Contributor: Jake Buchholz Göktürk <tomalok@gmail.com>
+# Maintainer: Jake Buchholz Göktürk <tomalok@gmail.com>
pkgname=docker
-pkgver=19.03.11
-_gitcommit=42e35e61f352e527082521280d5ea3761f0dee50 # https://github.com/docker/docker-ce/commits/v$pkgver
+pkgver=26.0.2
+_cli_commit=3c863ff8d3f0b81f25ed3afb60f2822019c4b94f # https://github.com/docker/cli/commits/v$pkgver
+_moby_commit=7cef0d9cd1cf221d8c0b7b7aeda69552649e0642 # https://github.com/moby/moby/commits/v$pkgver
pkgrel=0
pkgdesc="Pack, ship and run any application as a lightweight container"
url="https://www.docker.io/"
arch="all"
license="Apache-2.0"
-depends="docker-engine docker-cli"
-makedepends="go go-md2man btrfs-progs-dev bash linux-headers coreutils lvm2-dev libtool
- libseccomp-dev"
-install="$pkgname.pre-install"
-
-# from components/engine/vendor.conf:
-# grep libnetwork components/engine/vendor.conf
-# grep cobra components/engine/vendor.conf
-_libnetwork_ver=153d0769a1181bf591a9637fd487a541ec7db1e6
-_cobra_ver="0.0.3"
+_engine_deps="ca-certificates containerd iptables tini-static"
+makedepends="go btrfs-progs-dev bash linux-headers coreutils lvm2-dev libtool libseccomp-dev
+ $_engine_deps"
+options="net chmod-clean"
+install="$pkgname-engine.pre-install"
# secfixes:
+# 26.0.2-r0:
+# - CVE-2024-32473
+# 26.0.0-r0:
+# - CVE-2024-29018
+# 25.0.2-r0:
+# - CVE-2024-23651
+# - CVE-2024-23652
+# - CVE-2024-23653
+# - CVE-2024-23650
+# - CVE-2024-24557
+# 23.0.3-r0:
+# - CVE-2023-28840
+# - CVE-2023-28841
+# - CVE-2023-28842
+# 23.0.2-r0:
+# - CVE-2023-26054
+# 20.10.20-r0:
+# - CVE-2022-39253
+# 20.10.18-r0:
+# - CVE-2022-36109
+# 20.10.16-r0:
+# - CVE-2022-29526
+# 20.10.14-r0:
+# - CVE-2022-24769
+# 20.10.11-r0:
+# - CVE-2021-41190
+# 20.10.9-r0:
+# - CVE-2021-41089
+# - CVE-2021-41091
+# - CVE-2021-41092
+# 20.10.3-r0:
+# - CVE-2021-21285
+# - CVE-2021-21284
+# 19.03.14-r0:
+# - CVE-2020-15257
# 19.03.11-r0:
# - CVE-2020-13401
# 19.03.1-r0:
@@ -35,55 +66,47 @@ subpackages="
$pkgname-openrc:engine_openrc:noarch
$pkgname-cli:cli
$pkgname-doc:cli_doc:noarch
- $pkgname-bash-completion:cli_bashcomp:noarch
- $pkgname-fish-completion:cli_fishcomp:noarch
- $pkgname-zsh-completion:cli_zshcomp:noarch
- $pkgname-vim:cli_vim:noarch
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
"
source="
- docker-$pkgver.tar.gz::https://github.com/docker/docker-ce/archive/v$pkgver.tar.gz
- libnetwork-$_libnetwork_ver.tar.gz::https://github.com/docker/libnetwork/archive/$_libnetwork_ver.tar.gz
- cobra-$_cobra_ver.tar.gz::https://github.com/spf13/cobra/archive/v$_cobra_ver.tar.gz
+ cli-$pkgver.tar.gz::https://github.com/docker/cli/archive/v$pkgver.tar.gz
+ moby-$pkgver.tar.gz::https://github.com/moby/moby/archive/v$pkgver.tar.gz
docker.initd
docker.confd
- netns-mips64-fork.patch
- stat-struct-fixes-mips64.patch
- configurable_buildmode.patch
"
-builddir="$srcdir"/docker-ce-$pkgver
-_cli_builddir="$builddir"/components/cli
-_daemon_builddir="$builddir"/components/engine
-_buildtags="seccomp"
+builddir="$srcdir"
+_cli_builddir="$srcdir/cli-$pkgver"
+_moby_builddir="$srcdir/moby-$pkgver"
-_libnetwork_builddir="$srcdir"/libnetwork-$_libnetwork_ver
+_buildtags="seccomp"
-case "$CARCH" in
- mips64*) _buildmode=exe ;;
- riscv64) _buildmode=exe ;;
- *) _buildmode=pie ;;
-esac
+export GO111MODULE=off # go1.16 defaults to on
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+export CGO_ENABLED=1 # go1.22 needs this
build() {
export AUTO_GOPATH=1
- export GITCOMMIT=$_gitcommit # for cli
- export DOCKER_GITCOMMIT=$_gitcommit # for engine
+ export GITCOMMIT=$_cli_commit # for cli
+ export DOCKER_GITCOMMIT=$_moby_commit # for moby
export DOCKER_BUILDTAGS=$_buildtags
+ export DISABLE_WARN_OUTSIDE_CONTAINER=1
unset CC # prevent possible ccache issues
- # libnetwork (docker-proxy)
- msg "building docker-proxy"
- cd "$_libnetwork_builddir"
- mkdir -p src/github.com/docker/
- ln -s "$_libnetwork_builddir" src/github.com/docker/libnetwork
- GOPATH="$PWD" go build -v -ldflags="-linkmode=external" -o docker-proxy github.com/docker/libnetwork/cmd/proxy
+ case "$CARCH" in
+ armv7) export GOARM=7;;
+ esac
- # daemon
- msg "building daemon"
- cd "$_daemon_builddir"
+ # engine (moby)
+ msg "building engine"
+ cd "$_moby_builddir"
mkdir -p src/github.com/docker/
- ln -s "$_daemon_builddir" src/github.com/docker/docker
+ ln -sf "$_moby_builddir" src/github.com/docker/docker
GOPATH="$PWD" VERSION="$pkgver" hack/make.sh dynbinary
# Required for building man-pages
@@ -95,120 +118,78 @@ build() {
msg "building cli"
cd "$_cli_builddir"
mkdir -p "$GOPATH"/src/github.com/docker/
- ln -s "$_cli_builddir" "$GOPATH"/src/github.com/docker/cli
- LDFLAGS="" make VERSION="$pkgver" BUILDMODE=$_buildmode dynbinary
+ ln -sf "$_cli_builddir" "$GOPATH"/src/github.com/docker/cli
+ LDFLAGS="" make VERSION="$pkgver" dynbinary
# docker man
msg "building docker man pages"
- cd "$srcdir"
- # cobra
- mkdir -p "$GOPATH"/src/github.com/spf13/
- ln -sf "$PWD"/cobra-$_cobra_ver "$GOPATH"/src/github.com/spf13/cobra
-
- # convert md to man pages
- msg "generating man pages"
- cd "$_cli_builddir"
- # make manpages (from cli/Makefile, but using installed go-md2man)
- mkdir -p ./man/man1
- # Generate man pages from cobra commands
- go build -o /tmp/gen-manpages github.com/docker/cli/man
- /tmp/gen-manpages --root "$(pwd)" --target "$(pwd)/man/man1"
- # generate legacy manpages from markdown
- ./man/md2man-all.sh -q
+ make manpages
}
-# docker itself is a meta package
package() {
- mkdir -p "$pkgdir"
-}
+ # docker itself is a meta package
+ # note that cli-buildx is circular to have with this toplevel
+ depends="docker-engine=$pkgver-r$pkgrel docker-cli=$pkgver-r$pkgrel docker-cli-buildx"
-engine() {
- pkgdesc="Docker Engine (dockerd)"
- depends="ca-certificates containerd iptables tini-static"
+ install -Dm644 "$_cli_builddir"/contrib/completion/fish/$pkgname.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
+
+ install -Dm644 "$_cli_builddir"/contrib/completion/zsh/_$pkgname \
+ "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
+
+ install -Dm644 "$_cli_builddir"/contrib/completion/bash/$pkgname \
+ "$pkgdir"/usr/share/bash-completion/completions/$pkgname
- install -Dm755 "$_daemon_builddir"/bundles/dynbinary-daemon/dockerd \
- "$subpkgdir"/usr/bin/dockerd
+ install -Dm644 "$_cli_builddir"/man/man1/* \
+ -t "$pkgdir"/usr/share/man/man1/
- install -Dm755 "$_libnetwork_builddir"/docker-proxy \
- "$subpkgdir"/usr/bin/docker-proxy
+ # 'build/docker' is a symlink to 'docker-linux-$arch' e.g. 'docker-linux-amd64'
+ install -Dm755 "$_cli_builddir"/build/docker \
+ "$pkgdir"/usr/bin/docker
+
+ install -Dm755 -t "$pkgdir"/usr/bin \
+ "$_moby_builddir"/bundles/dynbinary-daemon/dockerd \
+ "$_moby_builddir"/bundles/dynbinary-daemon/docker-proxy
# symlink externally provided tini-static binary
- ln -s /sbin/tini-static "$subpkgdir"/usr/bin/docker-init
+ ln -sf /sbin/tini-static "$pkgdir"/usr/bin/docker-init
+
+ install -Dm755 "$srcdir"/docker.initd "$pkgdir"/etc/init.d/docker
+ install -Dm644 "$srcdir"/docker.confd "$pkgdir"/etc/conf.d/docker
+}
+
+engine() {
+ pkgdesc="Docker Engine (dockerd)"
+ depends="$_engine_deps"
+
+ amove \
+ usr/bin/dockerd \
+ usr/bin/docker-init \
+ usr/bin/docker-proxy
}
engine_openrc() {
- pkgdesc="OpenRC init scripts for Docker"
- depends=""
+ default_openrc
+ depends="log_proxy"
install_if="openrc $pkgname-engine=$pkgver-r$pkgrel"
-
- install -Dm755 "$srcdir"/docker.initd "$subpkgdir"/etc/init.d/docker
- install -Dm644 "$srcdir"/docker.confd "$subpkgdir"/etc/conf.d/docker
}
cli() {
pkgdesc="Docker CLI"
depends="ca-certificates"
- # 'build/docker' is a symlink to 'docker-linux-$arch' e.g. 'docker-linux-amd64'
- install -Dm755 "$_cli_builddir"/build/docker \
- "$subpkgdir"/usr/bin/docker
+ amove usr/bin/docker
}
cli_doc() {
+ default_doc
pkgdesc="Documentation for Docker"
- depends=""
install_if="docs $pkgname-cli=$pkgver-r$pkgrel"
-
- mkdir -p "$subpkgdir"/usr/share/man/man1
- gzip -9 "$_cli_builddir"/man/man1/*
- install -Dm644 "$_cli_builddir"/man/man1/* \
- "$subpkgdir"/usr/share/man/man1
-}
-
-cli_bashcomp() {
- pkgdesc="Bash completion for Docker"
- depends=""
- install_if="bash-completion $pkgname-cli=$pkgver-r$pkgrel"
-
- install -Dm644 "$_cli_builddir"/contrib/completion/bash/$pkgname \
- "$subpkgdir"/usr/share/bash-completion/completions/$pkgname
-}
-
-cli_fishcomp() {
- pkgdesc="Fish shell completion for Docker"
- depends=""
- install_if="fish<3 $pkgname-cli=$pkgver-r$pkgrel" # fish above version 3 has docker completion
-
- install -Dm644 "$_cli_builddir"/contrib/completion/fish/$pkgname.fish \
- "$subpkgdir"/usr/share/fish/completions/$pkgname.fish
-}
-
-cli_zshcomp() {
- pkgdesc="Zsh completion for Docker"
- depends=""
- install_if="zsh $pkgname-cli=$pkgver-r$pkgrel"
-
- install -Dm644 "$_cli_builddir"/contrib/completion/zsh/_$pkgname \
- "$subpkgdir"/usr/share/zsh/site-functions/_$pkgname
-}
-
-cli_vim() {
- pkgdesc="Vim syntax for Docker"
- depends=""
- install_if="vim $pkgname-cli=$pkgver-r$pkgrel"
-
- local f=
- for f in ftdetect/dockerfile.vim syntax/dockerfile.vim; do
- install -Dm644 "$_daemon_builddir"/contrib/syntax/vim/$f \
- "$subpkgdir"/usr/share/vim/vimfiles/$f
- done
}
-sha512sums="316023781ba1b7f7732c4e898482c243ad0c487b19ddbb6f0db668f1fed64892367d4a88d8aae8dc99336900fa33d0cab1b2d7ec0070f1187d03e58b79bb636b docker-19.03.11.tar.gz
-79d3249fad1fb95e069aefb5fea6d1431afd9e14a36e2c09d5ad42cb55991dfd8c9e6d2b051277f2e2a6e6773842de541826bb1c102f65e4ac9baec6112896b0 libnetwork-153d0769a1181bf591a9637fd487a541ec7db1e6.tar.gz
-c38db9432a168f913b41a1e1b11d84bedfade82ff70791be9d343a6cc86b8a05b18bae344d67ebd8bae4c98662db7ac664a9dc86fa9b9ad4aa5c96cbf0178efb cobra-0.0.3.tar.gz
-e3a882a732f498ea62a770e1d91cfb910d4206156dd9a8546cf6af94dcb9c6201e0f712a86e3ad352fbae4f0eedb2b4055976af69385c671dc8e9a43b78bc31b docker.initd
-f25523f43376ccef71a49618e556e0a16db3acad29eb09fe86c4e572562bdea0bc1eabab00159278835ad9d7c007f2cd10b2ed31f7213b0d9074582dc80a976f docker.confd
-2bdc5c226b7ebefe93bbe6b2900c259de43ee1fb49ac527966942b262e72f4ca441fecc7406c6c737f5c9694fc0141ba5e779bc7d269c8e644553efd89862b01 netns-mips64-fork.patch
-89b047fe8379d230572fba120ea8d5784a26467d9239558e77e29a8c1b4bd78d55d12c8fe5969dafd981a551c8c2b640b747fe3c4d89adc438c4a7911ea94aa0 stat-struct-fixes-mips64.patch
-04100dbeb03009beb0f4bdff5f7af481c5668c8e8d2f952603c78a51cb7551b671c980a321b058d2c570cea07e7213b1dab359dedb6907215eff33b7e5181887 configurable_buildmode.patch"
+sha512sums="
+833fe77ac6111fb4796b50b0a4263490876a54dc442c46c2fdcef04a9be3fe3cc829e5ab7f39ef3368f1bc59511d62063e077ce0cfc9747bc249e2cc071fc1b3 cli-26.0.2.tar.gz
+ff99e16d4818a9477c9da28edb0c9f065fdb9c1e5977da68993ab5ad9bcace9a14b746c09002233e51ae7a3b8b61286fe8c5cf4d56ce077350bc7c1a4e03d18a moby-26.0.2.tar.gz
+dd499b92058fc4d7d19e0c9030b1f390f58ac40be423442732cb7d02067ed2e43c464511772a21d4f347ec34f037ddd00cc1243dc41c8ce85151ac6142611d61 docker.initd
+43432a05e5776910d45364aee9070932aa89f70eb9e69d3b7ed8e17d9a70eaed4c8c29b3524888214c7ddba592399e781a72255f7eb8fafd80c9f532a9481fac docker.confd
+"