]> git.puffer.fish Git - matthieu/frr.git/commitdiff
docker: Keep and copy .apk files after they are built
authorDonatas Abraitis <donatas@opensourcerouting.org>
Tue, 20 Sep 2022 20:23:55 +0000 (23:23 +0300)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Tue, 20 Sep 2022 20:31:12 +0000 (23:31 +0300)
For debugging purposes and/or to distribute them somewhere else.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
docker/alpine/Dockerfile
docker/alpine/build.sh

index 187b5285244695f0d35250293d3784ecee6ebe7f..b9278dbb880e58f64e2360be3ae5e70defd3c0fe 100644 (file)
@@ -12,16 +12,6 @@ RUN apk add \
        && echo 'builder ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
 RUN adduser -D -G abuild builder && su builder -c 'abuild-keygen -a -n'
 
-# This stage builds a libyang APK from source
-FROM alpine-builder as libyang-builder
-RUN mkdir -p /libyang && chown -R builder /pkgs /libyang
-# -- Not currently needed - libyang currently available in Alpine upstream
-# COPY docker/alpine/libyang/ /libyang
-# USER builder
-# RUN cd /libyang \
-#      && abuild checksum \
-#      && abuild -r -P /pkgs/apk
-
 # This stage builds a dist tarball from the source
 FROM alpine:3.15 as source-builder
 
@@ -36,14 +26,7 @@ RUN source /src/alpine/APKBUILD.in \
                py-pip \
                rtrlib \
        && pip install pytest
-
 RUN mkdir -p /pkgs/apk
-# -- Not needed while libyang is not built
-# COPY --from=libyang-builder /pkgs/apk/ /pkgs/apk/
-# RUN apk add \
-#              --no-cache \
-#              --allow-untrusted /pkgs/apk/*/*.apk \
-
 COPY . /src
 ARG PKGVER
 RUN cd /src \
@@ -54,12 +37,7 @@ RUN cd /src \
        && make dist
 
 # This stage builds an APK from the dist tarball
-FROM alpine-builder as frr-apk-builder
-# -- Not needed while libyang is not built
-# COPY --from=libyang-builder /pkgs/apk/ /pkgs/apk/
-# RUN apk add \
-#              --no-cache \
-#              --allow-untrusted /pkgs/apk/*/*.apk
+FROM alpine-builder as alpine-apk-builder
 COPY --from=source-builder /src/frr-*.tar.gz /src/alpine/* /dist/
 RUN find /pkgs/apk -type f -name APKINDEX.tar.gz -delete
 RUN chown -R builder /dist /pkgs
@@ -72,7 +50,7 @@ RUN cd /dist \
 # This stage installs frr from the apk
 FROM alpine:3.15
 RUN mkdir -p /pkgs/apk
-COPY --from=frr-apk-builder /pkgs/apk/ /pkgs/apk/
+COPY --from=alpine-apk-builder /pkgs/apk/ /pkgs/apk/
 RUN apk add \
                --no-cache \
                --update-cache \
index 3132feb9f1e5ebee5bc761b3744f1589bb471092..80ee81c821bb780e953ffb37edd654340968835b 100755 (executable)
@@ -25,7 +25,16 @@ docker build \
        --target=alpine-builder \
        .
 
-CONTAINER_ID="$(docker create "frr:alpine-builder-$GITREV")"
+# Keep .apk files for debugging purposes, docker image as well.
+docker build \
+       --pull \
+       --file=docker/alpine/Dockerfile \
+       --build-arg="PKGVER=$PKGVER" \
+       --tag="frr:alpine-apk-builder-$GITREV" \
+       --target=alpine-apk-builder \
+       .
+
+CONTAINER_ID="$(docker create "frr:alpine-apk-builder-$GITREV")"
 docker cp "${CONTAINER_ID}:/pkgs/" docker/alpine
 docker rm "${CONTAINER_ID}"
 
@@ -36,3 +45,4 @@ docker build \
        .
 
 docker rmi "frr:alpine-builder-$GITREV"
+docker rmi "frr:alpine-apk-builder-$GITREV"