From: Donatas Abraitis Date: Thu, 20 Jul 2023 20:16:38 +0000 (+0300) Subject: docker: Use libyang 2.1.80 for Alpine builds X-Git-Tag: base_9.1~218^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=refs%2Fpull%2F14066%2Fhead;p=mirror%2Ffrr.git docker: Use libyang 2.1.80 for Alpine builds Signed-off-by: Donatas Abraitis --- diff --git a/alpine/APKBUILD.in b/alpine/APKBUILD.in index 660a118279..63fb5c46b9 100644 --- a/alpine/APKBUILD.in +++ b/alpine/APKBUILD.in @@ -18,7 +18,7 @@ makedepends="ncurses-dev net-snmp-dev gawk texinfo perl ncurses-libs ncurses-terminfo ncurses-terminfo-base patch pax-utils pcre2 perl pkgconf python3 python3-dev readline readline-dev sqlite-libs pcre2-dev squashfs-tools sudo tar texinfo xorriso xz-libs py-pip rtrlib rtrlib-dev - py3-sphinx elfutils elfutils-dev libyang-dev protobuf-c-compiler protobuf-c-dev + py3-sphinx elfutils elfutils-dev protobuf-c-compiler protobuf-c-dev lua5.3-dev lua5.3 gzip" checkdepends="pytest py-setuptools" install="$pkgname.pre-install $pkgname.pre-deinstall $pkgname.post-deinstall" diff --git a/docker/alpine/Dockerfile b/docker/alpine/Dockerfile index b8c79682b1..d1c3060069 100644 --- a/docker/alpine/Dockerfile +++ b/docker/alpine/Dockerfile @@ -12,18 +12,29 @@ 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 an APK for libyang +FROM alpine-builder as alpine-apk-builder-libyang +RUN mkdir -p /src/libyang +COPY docker/alpine/libyang/APKBUILD /src/libyang +RUN chown -R builder /pkgs /src +USER builder +RUN cd /src/libyang \ + && abuild checksum \ + && git init \ + && abuild -r -P /pkgs/apk + # This stage builds a dist tarball from the source FROM alpine:3.18 as source-builder - -RUN mkdir -p /src/alpine +RUN mkdir -p /src/alpine /pkgs/apk COPY alpine/APKBUILD.in /src/alpine +COPY --from=alpine-apk-builder-libyang /pkgs/apk/src /pkgs/apk +RUN cd /pkgs/apk/x86_64 && apk add --allow-untrusted *.apk RUN source /src/alpine/APKBUILD.in \ && apk add \ --no-cache \ --update-cache \ $makedepends \ && pip install pytest -RUN mkdir -p /pkgs/apk COPY . /src ARG PKGVER RUN cd /src \ @@ -36,6 +47,8 @@ RUN cd /src \ # This stage builds an APK from the dist tarball FROM alpine-builder as alpine-apk-builder COPY --from=source-builder /src/frr-*.tar.gz /src/alpine/* /dist/ +COPY --from=alpine-apk-builder-libyang /pkgs/apk/src /pkgs/apk +RUN cd /pkgs/apk/x86_64 && apk add --allow-untrusted *.apk RUN find /pkgs/apk -type f -name APKINDEX.tar.gz -delete RUN chown -R builder /dist /pkgs USER builder