Skip to content

Commit 6e7c5af

Browse files
committed
docker: Copy GPG key from the build phase to reduce spurious failures
1 parent ffa3fc5 commit 6e7c5af

File tree

9 files changed

+51
-78
lines changed

9 files changed

+51
-78
lines changed

scripts/docker/build/debian12/Dockerfile

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,11 @@ RUN git clean -fdxx \
4242

4343
#
4444
# Install build dependencies
45+
# Debian sid fails if debian/control doesn't exist due to an issue
46+
# in one of the included make files, so we create a blank file.
4547
#
4648
RUN if [ -e ./debian/control.in ]; then \
49+
touch -t 202001010000 debian/control; \
4750
debian/rules debian/control; \
4851
fi; \
4952
echo 'y' | mk-build-deps -irt'apt-get -yV' debian/control
@@ -61,20 +64,12 @@ ARG DEBIAN_FRONTEND=noninteractive
6164

6265
COPY --from=build /usr/local/src/repositories/*.deb /tmp/
6366

64-
#
65-
# We need curl to get the signing key
66-
#
67-
RUN apt-get update \
68-
&& apt-get install -y curl \
69-
&& apt-get clean \
70-
&& rm -r /var/lib/apt/lists/*
71-
7267
#
7368
# Set up NetworkRADIUS extras repository
69+
# Reuse the signing key from the build stage instead of fetching it again
7470
#
75-
RUN install -d -o root -g root -m 0755 /etc/apt/keyrings \
76-
&& curl -o /etc/apt/keyrings/packages.networkradius.com.asc "https://packages.inkbridgenetworks.com/pgp/packages%40networkradius.com" \
77-
&& echo "deb [signed-by=/etc/apt/keyrings/packages.networkradius.com.asc] http://packages.networkradius.com/extras/debian/bookworm bookworm main" > /etc/apt/sources.list.d/networkradius-extras.list
71+
COPY --from=build /etc/apt/keyrings/packages.networkradius.com.asc /etc/apt/keyrings/packages.networkradius.com.asc
72+
RUN echo "deb [signed-by=/etc/apt/keyrings/packages.networkradius.com.asc] http://packages.networkradius.com/extras/debian/bookworm bookworm main" > /etc/apt/sources.list.d/networkradius-extras.list
7873

7974
ARG freerad_uid=101
8075
ARG freerad_gid=101

scripts/docker/build/debian13/Dockerfile

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,11 @@ RUN git clean -fdxx \
4242

4343
#
4444
# Install build dependencies
45+
# Debian sid fails if debian/control doesn't exist due to an issue
46+
# in one of the included make files, so we create a blank file.
4547
#
4648
RUN if [ -e ./debian/control.in ]; then \
49+
touch -t 202001010000 debian/control; \
4750
debian/rules debian/control; \
4851
fi; \
4952
echo 'y' | mk-build-deps -irt'apt-get -yV' debian/control
@@ -61,20 +64,12 @@ ARG DEBIAN_FRONTEND=noninteractive
6164

6265
COPY --from=build /usr/local/src/repositories/*.deb /tmp/
6366

64-
#
65-
# We need curl to get the signing key
66-
#
67-
RUN apt-get update \
68-
&& apt-get install -y curl \
69-
&& apt-get clean \
70-
&& rm -r /var/lib/apt/lists/*
71-
7267
#
7368
# Set up NetworkRADIUS extras repository
69+
# Reuse the signing key from the build stage instead of fetching it again
7470
#
75-
RUN install -d -o root -g root -m 0755 /etc/apt/keyrings \
76-
&& curl -o /etc/apt/keyrings/packages.networkradius.com.asc "https://packages.inkbridgenetworks.com/pgp/packages%40networkradius.com" \
77-
&& echo "deb [signed-by=/etc/apt/keyrings/packages.networkradius.com.asc] http://packages.networkradius.com/extras/debian/trixie trixie main" > /etc/apt/sources.list.d/networkradius-extras.list
71+
COPY --from=build /etc/apt/keyrings/packages.networkradius.com.asc /etc/apt/keyrings/packages.networkradius.com.asc
72+
RUN echo "deb [signed-by=/etc/apt/keyrings/packages.networkradius.com.asc] http://packages.networkradius.com/extras/debian/trixie trixie main" > /etc/apt/sources.list.d/networkradius-extras.list
7873

7974
ARG freerad_uid=101
8075
ARG freerad_gid=101

scripts/docker/build/debiansid/Dockerfile

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -64,20 +64,12 @@ ARG DEBIAN_FRONTEND=noninteractive
6464

6565
COPY --from=build /usr/local/src/repositories/*.deb /tmp/
6666

67-
#
68-
# We need curl to get the signing key
69-
#
70-
RUN apt-get update \
71-
&& apt-get install -y curl \
72-
&& apt-get clean \
73-
&& rm -r /var/lib/apt/lists/*
74-
7567
#
7668
# Set up NetworkRADIUS extras repository
69+
# Reuse the signing key from the build stage instead of fetching it again
7770
#
78-
RUN install -d -o root -g root -m 0755 /etc/apt/keyrings \
79-
&& curl -o /etc/apt/keyrings/packages.networkradius.com.asc "https://packages.inkbridgenetworks.com/pgp/packages%40networkradius.com" \
80-
&& echo "deb [signed-by=/etc/apt/keyrings/packages.networkradius.com.asc] http://packages.networkradius.com/extras/debian/sid sid main" > /etc/apt/sources.list.d/networkradius-extras.list
71+
COPY --from=build /etc/apt/keyrings/packages.networkradius.com.asc /etc/apt/keyrings/packages.networkradius.com.asc
72+
RUN echo "deb [signed-by=/etc/apt/keyrings/packages.networkradius.com.asc] http://packages.networkradius.com/extras/debian/sid sid main" > /etc/apt/sources.list.d/networkradius-extras.list
8173

8274
ARG freerad_uid=101
8375
ARG freerad_gid=101

scripts/docker/build/rocky10/Dockerfile

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,15 @@ RUN dnf config-manager --set-enabled crb
2020
#
2121
# Set up NetworkRADIUS extras repository
2222
#
23+
RUN curl -o /etc/pki/rpm-gpg/packages.networkradius.com.asc "https://packages.networkradius.com/pgp/packages%40networkradius.com"
2324
RUN echo $'[networkradius-extras]\n\
2425
name=NetworkRADIUS-extras-$releasever\n\
2526
baseurl=http://packages.networkradius.com/extras/rocky/$releasever/\n\
2627
enabled=1\n\
2728
gpgcheck=1\n\
28-
gpgkey=https://packages.networkradius.com/pgp/packages@networkradius.com'\
29+
gpgkey=file:///etc/pki/rpm-gpg/packages.networkradius.com.asc'\
2930
> /etc/yum.repos.d/networkradius-extras.repo
30-
RUN rpm --import https://packages.networkradius.com/pgp/packages@networkradius.com
31+
RUN rpm --import /etc/pki/rpm-gpg/packages.networkradius.com.asc
3132

3233
#
3334
# Create build directory
@@ -89,15 +90,17 @@ COPY --from=build /root/rpms /tmp/
8990

9091
#
9192
# Set up NetworkRADIUS extras repository
93+
# Reuse the signing key from the build stage instead of fetching it again
9294
#
95+
COPY --from=build /etc/pki/rpm-gpg/packages.networkradius.com.asc /etc/pki/rpm-gpg/packages.networkradius.com.asc
9396
RUN echo $'[networkradius-extras]\n\
9497
name=NetworkRADIUS-extras-$releasever\n\
9598
baseurl=http://packages.networkradius.com/extras/rocky/$releasever/\n\
9699
enabled=1\n\
97100
gpgcheck=1\n\
98-
gpgkey=https://packages.networkradius.com/pgp/packages@networkradius.com'\
101+
gpgkey=file:///etc/pki/rpm-gpg/packages.networkradius.com.asc'\
99102
> /etc/yum.repos.d/networkradius-extras.repo
100-
RUN rpm --import https://packages.networkradius.com/pgp/packages@networkradius.com
103+
RUN rpm --import /etc/pki/rpm-gpg/packages.networkradius.com.asc
101104

102105
#
103106
# Other requirements

scripts/docker/build/rocky9/Dockerfile

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,15 @@ RUN dnf config-manager --set-enabled crb
2020
#
2121
# Set up NetworkRADIUS extras repository
2222
#
23+
RUN curl -o /etc/pki/rpm-gpg/packages.networkradius.com.asc "https://packages.networkradius.com/pgp/packages%40networkradius.com"
2324
RUN echo $'[networkradius-extras]\n\
2425
name=NetworkRADIUS-extras-$releasever\n\
2526
baseurl=http://packages.networkradius.com/extras/rocky/$releasever/\n\
2627
enabled=1\n\
2728
gpgcheck=1\n\
28-
gpgkey=https://packages.networkradius.com/pgp/packages@networkradius.com'\
29+
gpgkey=file:///etc/pki/rpm-gpg/packages.networkradius.com.asc'\
2930
> /etc/yum.repos.d/networkradius-extras.repo
30-
RUN rpm --import https://packages.networkradius.com/pgp/packages@networkradius.com
31+
RUN rpm --import /etc/pki/rpm-gpg/packages.networkradius.com.asc
3132

3233
#
3334
# Create build directory
@@ -89,15 +90,17 @@ COPY --from=build /root/rpms /tmp/
8990

9091
#
9192
# Set up NetworkRADIUS extras repository
93+
# Reuse the signing key from the build stage instead of fetching it again
9294
#
95+
COPY --from=build /etc/pki/rpm-gpg/packages.networkradius.com.asc /etc/pki/rpm-gpg/packages.networkradius.com.asc
9396
RUN echo $'[networkradius-extras]\n\
9497
name=NetworkRADIUS-extras-$releasever\n\
9598
baseurl=http://packages.networkradius.com/extras/rocky/$releasever/\n\
9699
enabled=1\n\
97100
gpgcheck=1\n\
98-
gpgkey=https://packages.networkradius.com/pgp/packages@networkradius.com'\
101+
gpgkey=file:///etc/pki/rpm-gpg/packages.networkradius.com.asc'\
99102
> /etc/yum.repos.d/networkradius-extras.repo
100-
RUN rpm --import https://packages.networkradius.com/pgp/packages@networkradius.com
103+
RUN rpm --import /etc/pki/rpm-gpg/packages.networkradius.com.asc
101104

102105
#
103106
# Other requirements

scripts/docker/build/ubuntu22/Dockerfile

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,11 @@ RUN git clean -fdxx \
4242

4343
#
4444
# Install build dependencies
45+
# Debian sid fails if debian/control doesn't exist due to an issue
46+
# in one of the included make files, so we create a blank file.
4547
#
4648
RUN if [ -e ./debian/control.in ]; then \
49+
touch -t 202001010000 debian/control; \
4750
debian/rules debian/control; \
4851
fi; \
4952
echo 'y' | mk-build-deps -irt'apt-get -yV' debian/control
@@ -61,20 +64,12 @@ ARG DEBIAN_FRONTEND=noninteractive
6164

6265
COPY --from=build /usr/local/src/repositories/*.deb /tmp/
6366

64-
#
65-
# We need curl to get the signing key
66-
#
67-
RUN apt-get update \
68-
&& apt-get install -y curl \
69-
&& apt-get clean \
70-
&& rm -r /var/lib/apt/lists/*
71-
7267
#
7368
# Set up NetworkRADIUS extras repository
69+
# Reuse the signing key from the build stage instead of fetching it again
7470
#
75-
RUN install -d -o root -g root -m 0755 /etc/apt/keyrings \
76-
&& curl -o /etc/apt/keyrings/packages.networkradius.com.asc "https://packages.inkbridgenetworks.com/pgp/packages%40networkradius.com" \
77-
&& echo "deb [signed-by=/etc/apt/keyrings/packages.networkradius.com.asc] http://packages.networkradius.com/extras/ubuntu/jammy jammy main" > /etc/apt/sources.list.d/networkradius-extras.list
71+
COPY --from=build /etc/apt/keyrings/packages.networkradius.com.asc /etc/apt/keyrings/packages.networkradius.com.asc
72+
RUN echo "deb [signed-by=/etc/apt/keyrings/packages.networkradius.com.asc] http://packages.networkradius.com/extras/ubuntu/jammy jammy main" > /etc/apt/sources.list.d/networkradius-extras.list
7873

7974
ARG freerad_uid=101
8075
ARG freerad_gid=101

scripts/docker/build/ubuntu24/Dockerfile

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,11 @@ RUN git clean -fdxx \
4242

4343
#
4444
# Install build dependencies
45+
# Debian sid fails if debian/control doesn't exist due to an issue
46+
# in one of the included make files, so we create a blank file.
4547
#
4648
RUN if [ -e ./debian/control.in ]; then \
49+
touch -t 202001010000 debian/control; \
4750
debian/rules debian/control; \
4851
fi; \
4952
echo 'y' | mk-build-deps -irt'apt-get -yV' debian/control
@@ -61,20 +64,12 @@ ARG DEBIAN_FRONTEND=noninteractive
6164

6265
COPY --from=build /usr/local/src/repositories/*.deb /tmp/
6366

64-
#
65-
# We need curl to get the signing key
66-
#
67-
RUN apt-get update \
68-
&& apt-get install -y curl \
69-
&& apt-get clean \
70-
&& rm -r /var/lib/apt/lists/*
71-
7267
#
7368
# Set up NetworkRADIUS extras repository
69+
# Reuse the signing key from the build stage instead of fetching it again
7470
#
75-
RUN install -d -o root -g root -m 0755 /etc/apt/keyrings \
76-
&& curl -o /etc/apt/keyrings/packages.networkradius.com.asc "https://packages.inkbridgenetworks.com/pgp/packages%40networkradius.com" \
77-
&& echo "deb [signed-by=/etc/apt/keyrings/packages.networkradius.com.asc] http://packages.networkradius.com/extras/ubuntu/noble noble main" > /etc/apt/sources.list.d/networkradius-extras.list
71+
COPY --from=build /etc/apt/keyrings/packages.networkradius.com.asc /etc/apt/keyrings/packages.networkradius.com.asc
72+
RUN echo "deb [signed-by=/etc/apt/keyrings/packages.networkradius.com.asc] http://packages.networkradius.com/extras/ubuntu/noble noble main" > /etc/apt/sources.list.d/networkradius-extras.list
7873

7974
ARG freerad_uid=101
8075
ARG freerad_gid=101

scripts/docker/m4/docker.deb.m4

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -59,20 +59,12 @@ ARG DEBIAN_FRONTEND=noninteractive
5959

6060
COPY --from=build /usr/local/src/repositories/*.deb /tmp/
6161

62-
#
63-
# We need curl to get the signing key
64-
#
65-
RUN apt-get update \
66-
&& apt-get install -y curl \
67-
&& apt-get clean \
68-
&& rm -r /var/lib/apt/lists/*
69-
7062
#
7163
# Set up NetworkRADIUS extras repository
64+
# Reuse the signing key from the build stage instead of fetching it again
7265
#
73-
RUN install -d -o root -g root -m 0755 /etc/apt/keyrings \
74-
&& curl -o /etc/apt/keyrings/packages.networkradius.com.asc "https://packages.inkbridgenetworks.com/pgp/packages%40networkradius.com" \
75-
&& echo "deb [signed-by=/etc/apt/keyrings/packages.networkradius.com.asc] http://packages.networkradius.com/extras/OS_NAME/OS_CODENAME OS_CODENAME main" > /etc/apt/sources.list.d/networkradius-extras.list
66+
COPY --from=build /etc/apt/keyrings/packages.networkradius.com.asc /etc/apt/keyrings/packages.networkradius.com.asc
67+
RUN echo "deb [signed-by=/etc/apt/keyrings/packages.networkradius.com.asc] http://packages.networkradius.com/extras/OS_NAME/OS_CODENAME OS_CODENAME main" > /etc/apt/sources.list.d/networkradius-extras.list
7668

7769
ifelse(ifelse(
7870
D_NAME, `debian10', no,

scripts/docker/m4/docker.rpm.m4

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,15 @@ RUN dnf config-manager --set-enabled crb
1515
#
1616
# Set up NetworkRADIUS extras repository
1717
#
18+
RUN curl -o /etc/pki/rpm-gpg/packages.networkradius.com.asc "https://packages.networkradius.com/pgp/packages%40networkradius.com"
1819
RUN echo $'[networkradius-extras]\n\
1920
name=NetworkRADIUS-extras-$releasever\n\
2021
baseurl=http://packages.networkradius.com/extras/OS_NAME/$releasever/\n\
2122
enabled=1\n\
2223
gpgcheck=1\n\
23-
gpgkey=https://packages.networkradius.com/pgp/packages@networkradius.com'\
24+
gpgkey=file:///etc/pki/rpm-gpg/packages.networkradius.com.asc'\
2425
> /etc/yum.repos.d/networkradius-extras.repo
25-
RUN rpm --import https://packages.networkradius.com/pgp/packages@networkradius.com
26+
RUN rpm --import /etc/pki/rpm-gpg/packages.networkradius.com.asc
2627

2728
#
2829
# Create build directory
@@ -84,15 +85,17 @@ COPY --from=build /root/rpms /tmp/
8485

8586
#
8687
# Set up NetworkRADIUS extras repository
88+
# Reuse the signing key from the build stage instead of fetching it again
8789
#
90+
COPY --from=build /etc/pki/rpm-gpg/packages.networkradius.com.asc /etc/pki/rpm-gpg/packages.networkradius.com.asc
8891
RUN echo $'[networkradius-extras]\n\
8992
name=NetworkRADIUS-extras-$releasever\n\
9093
baseurl=http://packages.networkradius.com/extras/OS_NAME/$releasever/\n\
9194
enabled=1\n\
9295
gpgcheck=1\n\
93-
gpgkey=https://packages.networkradius.com/pgp/packages@networkradius.com'\
96+
gpgkey=file:///etc/pki/rpm-gpg/packages.networkradius.com.asc'\
9497
> /etc/yum.repos.d/networkradius-extras.repo
95-
RUN rpm --import https://packages.networkradius.com/pgp/packages@networkradius.com
98+
RUN rpm --import /etc/pki/rpm-gpg/packages.networkradius.com.asc
9699

97100
#
98101
# Other requirements

0 commit comments

Comments
 (0)