-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgenerate.bash
42 lines (35 loc) · 1.16 KB
/
generate.bash
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
set -eux
tmpdir="$(mktemp -d)"
trap 'rm -rf -- "$tmpdir"' EXIT
for py in 3.8 3.9 3.10 3.11 3.12; do
pkgs="${tmpdir}/${py}/packages"
mkdir -p $(dirname "$pkgs")
touch "$pkgs"
suite="bullseye"
name="python:${py}-slim-${suite}"
docker pull "$name"
digest=$(docker inspect --format='{{index .RepoDigests 0}}' "$name")
pyv=$( \
docker run \
--rm \
-it \
"$digest" \
python -c "from sys import version_info; print(f\"{version_info[0]}.{version_info[1]}.{version_info[2]}\")" \
| tr -d '[:space:]')
docker run \
--rm \
-it \
--entrypoint /bin/sh \
-v "$(pwd)/scripts/debian/list-packages.sh:/list-packages.sh" \
-v "$pkgs:/output" \
"$digest" \
/list-packages.sh
python generate.py \
--py "$py" \
--suite "$suite" \
--image-name "$name" \
--image-digest "$digest" \
--package-list "$pkgs"
mkdir -p "${py}/rootfs/usr/local/share/doc/python${py}"
curl "https://raw.githubusercontent.com/python/cpython/v${pyv}/LICENSE" -o "${py}/rootfs/usr/local/share/doc/python${py}/copyright"
done