projects/aports·blob master · refs

256 lines · 7.4 KiB

1# Contributor: Eivind Uggedal <[email protected]>
2# Contributor: Jake Buchholz Göktürk <[email protected]>
3# Maintainer: Jake Buchholz Göktürk <[email protected]>
4pkgname=docker
5pkgver=29.9.1
6_cli_commit=dfc520dcc28994c4c699b9b219fd2f5a6bcec0ff # https://github.com/docker/cli/releases/tag/v$pkgver
7_moby_commit=b26fb77d3e7b01f9d21b89539c1ab428f5ca431f # https://github.com/moby/moby/releases/tag/v$pkgver
8pkgrel=0
9pkgdesc="Pack, ship and run any application as a lightweight container"
10url="https://www.docker.io/"
11arch="all"
12license="Apache-2.0"
13_engine_deps="ca-certificates containerd iptables tini-static"
14depends="docker-engine=$pkgver-r$pkgrel docker-cli=$pkgver-r$pkgrel docker-cli-buildx"
15makedepends="go btrfs-progs-dev bash linux-headers coreutils lvm2-dev libtool libseccomp-dev
16 $_engine_deps log_proxy nftables-dev"
17options="net chmod-clean"
18install="$pkgname-engine.pre-install"
19
20# secfixes:
21# 29.9.0-r0:
22# - CVE-2026-97032
23# - CVE-2026-78659
24# - CVE-2026-78663
25# - CVE-2026-78669
26# - CVE-2026-56857
27# 29.8.2-r0:
28# - CVE-2026-53493
29# - CVE-2026-92543
30# - CVE-2026-92542
31# 29.6.2-r0:
32# - GHSA-hw3h-2gp9-cxpv
33# - GHSA-qx3x-mv6r-52p6
34# - GHSA-32pv-7hq5-qhwq
35# - GHSA-g2h8-426c-7976
36# - GHSA-388v-wmr2-g2v2
37# 29.6.1-r0:
38# - GHSA-mjcv-p78q-w5fw
39# - GHSA-jpcc-p29g-p8mq
40# - GHSA-72x6-4j93-7w86
41# - GHSA-7236-3392-c5c6
42# 29.5.1-r0:
43# - CVE-2026-41567
44# - CVE-2026-41568
45# - CVE-2026-43206
46# 29.4.3-r0:
47# - CVE-2026-31431
48# 29.4.2-r0:
49# - CVE-2026-31431
50# 29.3.1-r0:
51# - CVE-2026-34040
52# - CVE-2026-33997
53# - CVE-2026-33748
54# - CVE-2026-33747
55# 29.1.2-r0:
56# - CVE-2025-61727
57# - CVE-2025-61729
58# 28.3.3-r0:
59# - CVE-2025-54388
60# 27.1.1-r0:
61# - CVE-2024-41110
62# 26.0.2-r0:
63# - CVE-2024-32473
64# 26.0.0-r0:
65# - CVE-2024-29018
66# 25.0.2-r0:
67# - CVE-2024-23651
68# - CVE-2024-23652
69# - CVE-2024-23653
70# - CVE-2024-23650
71# - CVE-2024-24557
72# 23.0.3-r0:
73# - CVE-2023-28840
74# - CVE-2023-28841
75# - CVE-2023-28842
76# 23.0.2-r0:
77# - CVE-2023-26054
78# 20.10.20-r0:
79# - CVE-2022-39253
80# 20.10.18-r0:
81# - CVE-2022-36109
82# 20.10.16-r0:
83# - CVE-2022-29526
84# 20.10.14-r0:
85# - CVE-2022-24769
86# 20.10.11-r0:
87# - CVE-2021-41190
88# 20.10.9-r0:
89# - CVE-2021-41089
90# - CVE-2021-41091
91# - CVE-2021-41092
92# 20.10.3-r0:
93# - CVE-2021-21285
94# - CVE-2021-21284
95# 19.03.14-r0:
96# - CVE-2020-15257
97# 19.03.11-r0:
98# - CVE-2020-13401
99# 19.03.1-r0:
100# - CVE-2019-14271
101# 18.09.8-r0:
102# - CVE-2019-13509
103# 18.09.7-r0:
104# - CVE-2018-15664
105
106# NOTE: rootless-extras-openrc must be before openrc
107subpackages="
108 $pkgname-engine:engine
109 $pkgname-rootless-extras-openrc:rootless_openrc:noarch
110 $pkgname-openrc:engine_openrc:noarch
111 $pkgname-cli:cli
112 $pkgname-doc:cli_doc:noarch
113 $pkgname-bash-completion
114 $pkgname-fish-completion
115 $pkgname-zsh-completion
116 $pkgname-rootless-extras:rootless:noarch
117 $pkgname-systemd
118 "
119
120source="
121 cli-$pkgver.tar.gz::https://github.com/docker/cli/archive/v$pkgver.tar.gz
122 moby-$pkgver.tar.gz::https://github.com/moby/moby/archive/refs/tags/docker-v$pkgver.tar.gz
123 docker.initd
124 docker.confd
125 docker-rootless-extras.conf
126 docker-user.initd
127 "
128
129builddir="$srcdir"
130_cli_builddir="$srcdir/cli-$pkgver"
131_moby_builddir="$srcdir/moby-docker-v$pkgver"
132
133_buildtags="seccomp"
134
135export CGO_ENABLED=1 # go1.22 needs this
136
137build() {
138 export AUTO_GOPATH=1
139 export GITCOMMIT=$_cli_commit # for cli
140 export DOCKER_GITCOMMIT=$_moby_commit # for moby
141 export DOCKER_BUILDTAGS=$_buildtags
142 export DISABLE_WARN_OUTSIDE_CONTAINER=1
143 unset CC # prevent possible ccache issues
144
145 case "$CARCH" in
146 armv7) export GOARM=7;;
147 esac
148
149 # engine (moby)
150 msg "building engine"
151 cd "$_moby_builddir"
152 GOPATH="$PWD/src" VERSION="$pkgver" hack/make.sh dynbinary
153
154 # Required for building man-pages
155 export GOPATH="$_cli_builddir"
156 export GOBIN="$GOPATH/bin"
157 export PATH="$GOBIN:$PATH"
158
159 # cli
160 msg "building cli"
161 cd "$_cli_builddir"
162 mkdir -p "$GOPATH"/src/github.com/docker/
163 ln -sf "$_cli_builddir" "$GOPATH"/src/github.com/docker/cli
164 LDFLAGS="" make VERSION="$pkgver" dynbinary
165
166 # docker man
167 msg "building docker man pages"
168 make manpages
169}
170
171package() {
172 install -Dm644 "$_cli_builddir"/contrib/completion/fish/$pkgname.fish \
173 "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
174
175 install -Dm644 "$_cli_builddir"/contrib/completion/zsh/_$pkgname \
176 "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
177
178 install -Dm644 "$_cli_builddir"/contrib/completion/bash/$pkgname \
179 "$pkgdir"/usr/share/bash-completion/completions/$pkgname
180
181 install -Dm644 "$_cli_builddir"/man/man1/* \
182 -t "$pkgdir"/usr/share/man/man1/
183
184 # 'build/docker' is a symlink to 'docker-linux-$arch' e.g. 'docker-linux-amd64'
185 install -Dm755 "$_cli_builddir"/build/docker \
186 "$pkgdir"/usr/bin/docker
187
188 install -Dm755 -t "$pkgdir"/usr/bin \
189 "$_moby_builddir"/bundles/dynbinary-daemon/dockerd \
190 "$_moby_builddir"/bundles/dynbinary-daemon/docker-proxy
191
192 # symlink externally provided tini-static binary
193 ln -sf /sbin/tini-static "$pkgdir"/usr/bin/docker-init
194
195 install -Dm755 "$srcdir"/docker.initd "$pkgdir"/etc/init.d/docker
196 install -Dm644 "$srcdir"/docker.confd "$pkgdir"/etc/conf.d/docker
197 install -Dm644 "$_moby_builddir"/contrib/init/systemd/docker.service \
198 "$_moby_builddir"/contrib/init/systemd/docker.socket \
199 -t "$pkgdir"/usr/lib/systemd/system/
200
201 install -Dm755 "$srcdir"/docker-user.initd "$pkgdir"/etc/user/init.d/docker
202}
203
204engine() {
205 pkgdesc="Docker Engine (dockerd)"
206 depends="$_engine_deps"
207
208 amove \
209 usr/bin/dockerd \
210 usr/bin/docker-init \
211 usr/bin/docker-proxy
212}
213
214engine_openrc() {
215 default_openrc
216 depends="log_proxy"
217 install_if="openrc $pkgname-engine=$pkgver-r$pkgrel"
218}
219
220cli() {
221 pkgdesc="Docker CLI"
222 depends="ca-certificates"
223
224 amove usr/bin/docker
225}
226
227cli_doc() {
228 default_doc
229 pkgdesc="Documentation for Docker"
230 install_if="docs $pkgname-cli=$pkgver-r$pkgrel"
231}
232
233rootless() {
234 pkgdesc="Extras to run docker as in rootless mode"
235 url="https://docs.docker.com/engine/security/rootless/"
236 depends="$pkgname rootlesskit slirp4netns fuse-overlayfs"
237
238 install -Dm755 "$_moby_builddir/contrib/dockerd-rootless.sh" "$subpkgdir/usr/bin/dockerd-rootless"
239 install -Dm644 "$srcdir/docker-rootless-extras.conf" "$subpkgdir/usr/lib/modules-load.d/docker-rootless-extras.conf"
240}
241
242rootless_openrc() {
243 pkgdesc="OpenRC scripts for running docker in rootless mode"
244 depends="$pkgname-rootless-extras"
245 install_if="openrc $pkgname-rootless-extras=$pkgver-r$pkgrel"
246 amove etc/user/init.d/docker
247}
248
249sha512sums="
250af77cac61b5f61aa9057429eeb76725fdd2ae94237dd801986490779913cf44c4c75c86f2478f5d15a3e58e5cf59a6e8864509b9e05a2fdc6d8d440cba329c73 cli-29.9.1.tar.gz
2516f52e078d0917e3e13ec1ebeb4c8e31e10ca37436290da3a4b4d520e7837fa7317989beed2ed401c7ddd701f44ed4977b01fa47e222b47257a0292d6a25672ca moby-29.9.1.tar.gz
252d74bd831291c0dca6d95436c42d426ef318b551b9dc1b0d0cc74476dec349828d19376200c779e30bcdb3707a4880ab3bc3cc754d1d5e64bb7cf8d7be62eb763 docker.initd
25343432a05e5776910d45364aee9070932aa89f70eb9e69d3b7ed8e17d9a70eaed4c8c29b3524888214c7ddba592399e781a72255f7eb8fafd80c9f532a9481fac docker.confd
25445499bbd9d607cb782b014a2d5697d7279f327ac630accf249a13785d91e15fb0ba1ae2edc10b6b42fcf40b7ce23ef160a40d8cda17b3084d68fe8c54a84b8f4 docker-rootless-extras.conf
255800126e171f7bb0831deef1bae100d78d2d71c7e9ebceaded009d69284a3f18fdc1316f3e9b947d04427d85c18be6ab11e23d3be4625283a0bd8ced6fbfe6f92 docker-user.initd
256"