diff options
author | Donatas Abraitis <donatas@opensourcerouting.org> | 2022-09-20 22:23:55 +0200 |
---|---|---|
committer | Donatas Abraitis <donatas@opensourcerouting.org> | 2022-09-20 22:23:55 +0200 |
commit | 7be59f7b7ccde921d9f063a87cb10342425c7a24 (patch) | |
tree | 97cac945964ab4a3df01aae46d6bf72c30f9f54f | |
parent | Merge pull request #11972 from pguibert6WIND/mpls_te_on (diff) | |
download | frr-7be59f7b7ccde921d9f063a87cb10342425c7a24.tar.xz frr-7be59f7b7ccde921d9f063a87cb10342425c7a24.zip |
docker: Keep and copy .apk files after they are built
For debugging purposes and/or to distribute them somewhere else.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
-rw-r--r-- | docker/alpine/Dockerfile | 26 | ||||
-rwxr-xr-x | docker/alpine/build.sh | 12 |
2 files changed, 13 insertions, 25 deletions
diff --git a/docker/alpine/Dockerfile b/docker/alpine/Dockerfile index 187b52852..b9278dbb8 100644 --- a/docker/alpine/Dockerfile +++ b/docker/alpine/Dockerfile @@ -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 \ diff --git a/docker/alpine/build.sh b/docker/alpine/build.sh index 3132feb9f..80ee81c82 100755 --- a/docker/alpine/build.sh +++ b/docker/alpine/build.sh @@ -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" |