Skip to content

Commit 8bfe02a

Browse files
MiguelWeezardolosipiuk
authored andcommitted
Add more mirrors
Future-proof against Ubuntu codename update This approach works as long the following assumptions hold: - the location of `/etc/os-release` file does NOT change - the name of the UBUNTU_CODENAME environment variable does NOT change - `eclipse-temurin` still uses Ubuntu as it's base
1 parent 78473a5 commit 8bfe02a

File tree

5 files changed

+32
-1
lines changed

5 files changed

+32
-1
lines changed

core/docker/Dockerfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,12 @@
1313
#
1414
FROM eclipse-temurin:17-jdk AS builder
1515

16+
COPY default/apt/sources.list.d /etc/apt/sources.list.d
17+
1618
RUN \
1719
set -xeu && \
20+
. /etc/os-release && \
21+
sed -i "s/\${UBUNTU_CODENAME}/${UBUNTU_CODENAME}/g" /etc/apt/sources.list.d/* && \
1822
echo 'Acquire::Retries "3";' > /etc/apt/apt.conf.d/80-retries && \
1923
echo 'Acquire::http::Timeout "15";' > /etc/apt/apt.conf.d/80-timeouts && \
2024
apt-get update -q && \
@@ -24,8 +28,12 @@ RUN \
2428

2529
FROM eclipse-temurin:17-jdk
2630

31+
COPY default/apt/sources.list.d /etc/apt/sources.list.d
32+
2733
RUN \
2834
set -xeu && \
35+
. /etc/os-release && \
36+
sed -i "s/\${UBUNTU_CODENAME}/${UBUNTU_CODENAME}/g" /etc/apt/sources.list.d/* && \
2937
echo 'Acquire::Retries "3";' > /etc/apt/apt.conf.d/80-retries && \
3038
echo 'Acquire::http::Timeout "15";' > /etc/apt/apt.conf.d/80-timeouts && \
3139
apt-get update -q && \

core/docker/build.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,19 +65,23 @@ cp "$trino_client" "${WORK_DIR}/"
6565
tar -C "${WORK_DIR}" -xzf "${WORK_DIR}/trino-server-${TRINO_VERSION}.tar.gz"
6666
rm "${WORK_DIR}/trino-server-${TRINO_VERSION}.tar.gz"
6767
cp -R bin "${WORK_DIR}/trino-server-${TRINO_VERSION}"
68-
cp -R default "${WORK_DIR}/"
68+
mkdir -p "${WORK_DIR}/default"
69+
cp -R default/etc "${WORK_DIR}/default/"
6970

7071
TAG_PREFIX="trino:${TRINO_VERSION}"
7172

7273
for arch in "${ARCHITECTURES[@]}"; do
7374
echo "🫙 Building the image for $arch"
75+
mkdir -p "${WORK_DIR}/default/apt/sources.list.d"
76+
cp "default/apt/sources.list.d/mirrors-$arch.sources" "${WORK_DIR}/default/apt/sources.list.d/"
7477
docker build \
7578
"${WORK_DIR}" \
7679
--pull \
7780
--platform "linux/$arch" \
7881
-f Dockerfile \
7982
-t "${TAG_PREFIX}-$arch" \
8083
--build-arg "TRINO_VERSION=${TRINO_VERSION}"
84+
rm -fr "${WORK_DIR}/default/apt/sources.list.d"
8185
done
8286

8387
echo "🧹 Cleaning up the build context directory"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Enabled: yes
2+
Types: deb
3+
URIs: https://mirrors.ocf.berkeley.edu/ubuntu/ https://mirror.kumi.systems/ubuntu/
4+
Suites: ${UBUNTU_CODENAME} ${UBUNTU_CODENAME}-updates ${UBUNTU_CODENAME}-backports ${UBUNTU_CODENAME}-security
5+
Components: main restricted universe multiverse
6+
Architectures: amd64
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Enabled: yes
2+
Types: deb
3+
URIs: https://mirrors.ocf.berkeley.edu/ubuntu-ports/ https://mirror.kumi.systems/ubuntu-ports/
4+
Suites: ${UBUNTU_CODENAME} ${UBUNTU_CODENAME}-updates ${UBUNTU_CODENAME}-backports ${UBUNTU_CODENAME}-security
5+
Components: main restricted universe multiverse
6+
Architectures: arm64
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Enabled: yes
2+
Types: deb
3+
URIs: https://mirrors.ocf.berkeley.edu/ubuntu-ports/ https://mirror.kumi.systems/ubuntu-ports/
4+
Suites: ${UBUNTU_CODENAME} ${UBUNTU_CODENAME}-updates ${UBUNTU_CODENAME}-backports ${UBUNTU_CODENAME}-security
5+
Components: main restricted universe multiverse
6+
# This is NOT a typo, Ubuntu calls "little endian" architecture "endian little"
7+
Architectures: ppc64el

0 commit comments

Comments
 (0)