blob: 0ce351df30761b8bb3c984ff0daa56e895c5454d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
|
# 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=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"
_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:
# - 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"}"
export CGO_ENABLED=1 # go1.22 needs this
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="
833fe77ac6111fb4796b50b0a4263490876a54dc442c46c2fdcef04a9be3fe3cc829e5ab7f39ef3368f1bc59511d62063e077ce0cfc9747bc249e2cc071fc1b3 cli-26.0.2.tar.gz
ff99e16d4818a9477c9da28edb0c9f065fdb9c1e5977da68993ab5ad9bcace9a14b746c09002233e51ae7a3b8b61286fe8c5cf4d56ce077350bc7c1a4e03d18a moby-26.0.2.tar.gz
dd499b92058fc4d7d19e0c9030b1f390f58ac40be423442732cb7d02067ed2e43c464511772a21d4f347ec34f037ddd00cc1243dc41c8ce85151ac6142611d61 docker.initd
43432a05e5776910d45364aee9070932aa89f70eb9e69d3b7ed8e17d9a70eaed4c8c29b3524888214c7ddba592399e781a72255f7eb8fafd80c9f532a9481fac docker.confd
"
|