mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-12-30 13:51:31 +01:00
185 lines
5.2 KiB
Plaintext
185 lines
5.2 KiB
Plaintext
# Contributor: Eivind Uggedal <eu@eju.no>
|
|
# Contributor: Jake Buchholz Göktürk <tomalok@gmail.com>
|
|
# Maintainer: Jake Buchholz Göktürk <tomalok@gmail.com>
|
|
pkgname=docker
|
|
pkgver=24.0.7
|
|
_cli_commit=afdd53b4e341be38d2056a42113b938559bb1d94 # https://github.com/docker/cli/commits/v$pkgver
|
|
_moby_commit=311b9ff0aa93aa55880e1e5f8871c4fb69583426 # 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"
|
|
_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:
|
|
# 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:
|
|
# - CVE-2019-14271
|
|
# 18.09.8-r0:
|
|
# - CVE-2019-13509
|
|
# 18.09.7-r0:
|
|
# - CVE-2018-15664
|
|
|
|
subpackages="
|
|
$pkgname-engine:engine
|
|
$pkgname-openrc:engine_openrc:noarch
|
|
$pkgname-cli:cli
|
|
$pkgname-doc:cli_doc:noarch
|
|
$pkgname-bash-completion
|
|
$pkgname-fish-completion
|
|
$pkgname-zsh-completion
|
|
"
|
|
|
|
source="
|
|
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
|
|
"
|
|
|
|
builddir="$srcdir"
|
|
_cli_builddir="$srcdir/cli-$pkgver"
|
|
_moby_builddir="$srcdir/moby-$pkgver"
|
|
|
|
_buildtags="seccomp"
|
|
|
|
export GO111MODULE=off # go1.16 defaults to on
|
|
export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
|
|
export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
|
|
export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
|
|
|
|
build() {
|
|
export AUTO_GOPATH=1
|
|
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
|
|
|
|
case "$CARCH" in
|
|
armv7) export GOARM=7;;
|
|
esac
|
|
|
|
# engine (moby)
|
|
msg "building engine"
|
|
cd "$_moby_builddir"
|
|
mkdir -p src/github.com/docker/
|
|
ln -sf "$_moby_builddir" src/github.com/docker/docker
|
|
GOPATH="$PWD" VERSION="$pkgver" hack/make.sh dynbinary
|
|
|
|
# Required for building man-pages
|
|
export GOPATH="$_cli_builddir"
|
|
export GOBIN="$GOPATH/bin"
|
|
export PATH="$GOBIN:$PATH"
|
|
|
|
# cli
|
|
msg "building cli"
|
|
cd "$_cli_builddir"
|
|
mkdir -p "$GOPATH"/src/github.com/docker/
|
|
ln -sf "$_cli_builddir" "$GOPATH"/src/github.com/docker/cli
|
|
LDFLAGS="" make VERSION="$pkgver" dynbinary
|
|
|
|
# docker man
|
|
msg "building docker man pages"
|
|
make manpages
|
|
}
|
|
|
|
package() {
|
|
# 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"
|
|
|
|
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 -Dm644 "$_cli_builddir"/man/man1/* \
|
|
-t "$pkgdir"/usr/share/man/man1/
|
|
|
|
# '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 -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() {
|
|
default_openrc
|
|
depends="log_proxy"
|
|
install_if="openrc $pkgname-engine=$pkgver-r$pkgrel"
|
|
}
|
|
|
|
cli() {
|
|
pkgdesc="Docker CLI"
|
|
depends="ca-certificates"
|
|
|
|
amove usr/bin/docker
|
|
}
|
|
|
|
cli_doc() {
|
|
default_doc
|
|
pkgdesc="Documentation for Docker"
|
|
install_if="docs $pkgname-cli=$pkgver-r$pkgrel"
|
|
}
|
|
|
|
sha512sums="
|
|
b4811e4ecaf1f17e5a53ee4fb34affab79545d87a1662b0f915efb28108989128f8bbf165c4aed111fcb0c851f7ec7d9137eb0f31447d698b058ff4200dba18d cli-24.0.7.tar.gz
|
|
08f22fcbce163c3ba8eb21302fd38ff04fd3f27067f5715a3c527ba2efe67f694fac80bfe6d6b5e22d06d98917e1685a9d3d9b58991f221354f637f4a8bdc526 moby-24.0.7.tar.gz
|
|
dd499b92058fc4d7d19e0c9030b1f390f58ac40be423442732cb7d02067ed2e43c464511772a21d4f347ec34f037ddd00cc1243dc41c8ce85151ac6142611d61 docker.initd
|
|
43432a05e5776910d45364aee9070932aa89f70eb9e69d3b7ed8e17d9a70eaed4c8c29b3524888214c7ddba592399e781a72255f7eb8fafd80c9f532a9481fac docker.confd
|
|
"
|