Skip to content

Commit f975275

Browse files
committed
Use GLIBC 2.34 compatible knockd for Java 17 images and older
1 parent de75f2e commit f975275

5 files changed

Lines changed: 22 additions & 2 deletions

File tree

.github/workflows/build.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,31 +72,41 @@ jobs:
7272
baseImage: eclipse-temurin:17-jre-focal
7373
platforms: linux/amd64,linux/arm/v7,linux/arm64
7474
mcVersion: 1.20.4
75+
# For GLIBC_2.34 support
76+
knockdRepoOrg: Metalcape/knock
7577
# JAVA 16
7678
- variant: java16
7779
baseImage: adoptopenjdk:16-jre-hotspot
7880
platforms: linux/amd64,linux/arm/v7,linux/arm64
7981
mcVersion: 1.16.5
82+
# For GLIBC_2.34 support
83+
knockdRepoOrg: Metalcape/knock
8084
# Pin version for pre-Java 17
8185
mcHelperVersion: 1.51.3-java8
8286
# JAVA 11
8387
- variant: java11
8488
baseImage: adoptopenjdk:11-jre-hotspot
8589
platforms: linux/amd64,linux/arm/v7,linux/arm64
8690
mcVersion: 1.16.4
91+
# For GLIBC_2.34 support
92+
knockdRepoOrg: Metalcape/knock
8793
# Pin version for pre-Java 17
8894
mcHelperVersion: 1.51.3-java8
8995
# JAVA 8: NOTE: Unable to go past 8u312 because of Forge dependencies
9096
- variant: java8
9197
baseImage: eclipse-temurin:8u312-b07-jre-focal
9298
platforms: linux/amd64,linux/arm/v7,linux/arm64
9399
mcVersion: 1.12.2
100+
# For GLIBC_2.34 support
101+
knockdRepoOrg: Metalcape/knock
94102
# Pin version for Java 8, also be sure to set in verify-pr.yml
95103
mcHelperVersion: 1.51.3-java8
96104
- variant: java8-jdk
97105
baseImage: eclipse-temurin:8u312-b07-jdk-focal
98106
platforms: linux/amd64,linux/arm64
99107
mcVersion: 1.12.2
108+
# For GLIBC_2.34 support
109+
knockdRepoOrg: Metalcape/knock
100110
# Pin version for Java 8, also be sure to set in verify-pr.yml
101111
mcHelperVersion: 1.51.3-java8
102112
env:
@@ -161,6 +171,7 @@ jobs:
161171
build-args: |
162172
BASE_IMAGE=${{ matrix.baseImage }}
163173
${{ matrix.mcHelperVersion && format('MC_HELPER_VERSION={0}', matrix.mcHelperVersion) }}
174+
${{ matrix.knockdRepoOrg && format('KNOCKD_REPO_ORG={0}', matrix.knockdRepoOrg) }}
164175
cache-from: type=gha,scope=${{ matrix.variant }}
165176
# no cache-to to avoid cross-cache update from next build step
166177

@@ -217,5 +228,6 @@ jobs:
217228
VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }}
218229
REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
219230
${{ matrix.mcHelperVersion && format('MC_HELPER_VERSION={0}', matrix.mcHelperVersion) }}
231+
${{ matrix.knockdRepoOrg && format('KNOCKD_REPO_ORG={0}', matrix.knockdRepoOrg) }}
220232
cache-from: type=gha,scope=${{ matrix.variant }}
221233
cache-to: type=gha,mode=max,scope=${{ matrix.variant }}

.github/workflows/verify-pr.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,14 @@ jobs:
4343
baseImage: eclipse-temurin:17-jre-focal
4444
platforms: linux/amd64
4545
mcVersion: 1.20.4
46+
# For GLIBC_2.34 support
47+
knockdRepoOrg: Metalcape/knock
4648
- variant: java8
4749
baseImage: eclipse-temurin:8u312-b07-jre-focal
4850
platforms: linux/amd64
4951
mcVersion: 1.12.2
52+
# For GLIBC_2.34 support
53+
knockdRepoOrg: Metalcape/knock
5054
# Pin version for Java 8, be sure to also set in build.yml
5155
mcHelperVersion: 1.51.3-java8
5256
env:
@@ -71,6 +75,7 @@ jobs:
7175
build-args: |
7276
BASE_IMAGE=${{ matrix.baseImage }}
7377
${{ matrix.mcHelperVersion && format('MC_HELPER_VERSION={0}', matrix.mcHelperVersion) }}
78+
${{ matrix.knockdRepoOrg && format('KNOCKD_REPO_ORG={0}', matrix.knockdRepoOrg) }}
7479
cache-from: type=gha,scope=${{ matrix.variant }}
7580

7681
- name: Build for test
@@ -88,6 +93,7 @@ jobs:
8893
build-args: |
8994
BASE_IMAGE=${{ matrix.baseImage }}
9095
${{ matrix.mcHelperVersion && format('MC_HELPER_VERSION={0}', matrix.mcHelperVersion) }}
96+
${{ matrix.knockdRepoOrg && format('KNOCKD_REPO_ORG={0}', matrix.knockdRepoOrg) }}
9197
cache-from: type=gha,scope=${{ matrix.variant }}
9298

9399
- name: Run tests

Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ ARG EXTRA_DEB_PACKAGES=""
1212
ARG EXTRA_DNF_PACKAGES=""
1313
ARG EXTRA_ALPINE_PACKAGES=""
1414
ARG FORCE_INSTALL_PACKAGES=1
15+
ARG KNOCKD_VERSION=0.8.1
16+
ARG KNOCKD_REPO_ORG=Opvolger/knock
1517
RUN --mount=target=/build,source=build \
1618
TARGET=${TARGETARCH}${TARGETVARIANT} \
1719
/build/run.sh install-packages

build/alpine/install-packages.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ apk add --no-cache -U \
3838
${EXTRA_ALPINE_PACKAGES}
3939

4040
# Download and install patched knockd
41-
curl -fsSL -o /tmp/knock.tar.gz https://github.com/Metalcape/knock/releases/download/0.8.1/knock-0.8.1-alpine-amd64.tar.gz
41+
curl -fsSL -o /tmp/knock.tar.gz "https://github.com/${KNOCKD_REPO_ORG}/releases/download/${KNOCKD_VERSION}/knock-${KNOCKD_VERSION}-alpine-amd64.tar.gz"
4242
tar -xf /tmp/knock.tar.gz -C /usr/local/ && rm /tmp/knock.tar.gz
4343
ln -s /usr/local/sbin/knockd /usr/sbin/knockd
4444
setcap cap_net_raw=ep /usr/local/sbin/knockd

build/ubuntu/install-packages.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ apt-get install -y \
3838
apt-get clean
3939

4040
# Download and install patched knockd
41-
curl -fsSL -o /tmp/knock.tar.gz https://github.com/Opvolger/knock/releases/download/0.8.1/knock-0.8.1-$TARGET.tar.gz
41+
curl -fsSL -o /tmp/knock.tar.gz "https://github.com/${KNOCKD_REPO_ORG}/releases/download/${KNOCKD_VERSION}/knock-${KNOCKD_VERSION}-$TARGET.tar.gz"
4242
tar -xf /tmp/knock.tar.gz -C /usr/local/ && rm /tmp/knock.tar.gz
4343
ln -s /usr/local/sbin/knockd /usr/sbin/knockd
4444
setcap cap_net_raw=ep /usr/local/sbin/knockd

0 commit comments

Comments
 (0)