diff options
| author | Donatas Abraitis <donatas@opensourcerouting.org> | 2022-09-20 23:23:55 +0300 | 
|---|---|---|
| committer | Donatas Abraitis <donatas@opensourcerouting.org> | 2022-09-20 23:23:55 +0300 | 
| commit | 7be59f7b7ccde921d9f063a87cb10342425c7a24 (patch) | |
| tree | 97cac945964ab4a3df01aae46d6bf72c30f9f54f /docker | |
| parent | 22432f22dabe47e1b4db1b3791e8e8110e3ec28e (diff) | |
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>
Diffstat (limited to 'docker')
| -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 187b528524..b9278dbb88 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 3132feb9f1..80ee81c821 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"  | 
