]> git.puffer.fish Git - matthieu/frr.git/commitdiff
docker: Use libyang 2.1.80 for Alpine builds
authorDonatas Abraitis <donatas@opensourcerouting.org>
Thu, 20 Jul 2023 20:16:38 +0000 (23:16 +0300)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Fri, 21 Jul 2023 06:12:17 +0000 (09:12 +0300)
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
alpine/APKBUILD.in
docker/alpine/Dockerfile

index 660a118279d3d3f79a700e7ec529f7894f468659..63fb5c46b9857c735d69c1f7971c67719166e912 100644 (file)
@@ -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"
index b8c79682b1cd67f797bb02130910d29eadfff580..d1c3060069ad5178c9c5246f68f0641cc380eca6 100644 (file)
@@ -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