]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Add Ubuntu 24 to crossbuild
authorNick Porter <nick@portercomputing.co.uk>
Mon, 29 Apr 2024 09:05:42 +0000 (10:05 +0100)
committerNick Porter <nick@portercomputing.co.uk>
Mon, 29 Apr 2024 09:05:42 +0000 (10:05 +0100)
scripts/crossbuild/docker/ubuntu24/Dockerfile [new file with mode: 0644]
scripts/crossbuild/m4/Dockerfile.deb.m4
scripts/docker/m4/Dockerfile.m4

diff --git a/scripts/crossbuild/docker/ubuntu24/Dockerfile b/scripts/crossbuild/docker/ubuntu24/Dockerfile
new file mode 100644 (file)
index 0000000..966faf0
--- /dev/null
@@ -0,0 +1,74 @@
+# Auto generated for ubuntu24
+# from scripts/crossbuild/m4/Dockerfile.deb.m4
+#
+# Rebuild this file with `make crossbuild.ubuntu24.regen`
+#
+ARG from=ubuntu:24.04
+FROM ${from} as build
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+#
+#  Install add-apt-repository
+#
+RUN apt-get update && \
+    apt-get install -y software-properties-common gnupg2 procps && \
+    apt-get clean && \
+    rm -r /var/lib/apt/lists/*
+
+
+RUN apt-get update && \
+#  Development utilities
+    apt-get install -y devscripts equivs git quilt rsync fakeroot && \
+#  Compilers
+    apt-get install -y g++ llvm clang lldb && \
+#  eapol_test dependencies
+    apt-get install -y libnl-3-dev libnl-genl-3-dev
+
+#
+#  Documentation build dependecies
+#
+
+#  - doxygen & JSON.pm
+RUN apt-get install -y doxygen graphviz libjson-perl
+#  - antora (npm needed)
+RUN curl -sL https://deb.nodesource.com/setup_20.x | bash -
+RUN apt-get install -y nodejs
+RUN npm i -g @antora/cli@3.1.7 @antora/site-generator-default@3.1.7
+#  - pandoc
+WORKDIR /tmp
+RUN curl -OL $(curl -s https://api.github.com/repos/jgm/pandoc/releases/latest | grep "browser_download_url.*deb" | cut -d '"' -f 4)
+RUN apt-get install -y ./pandoc-*.deb
+#  - asciidoctor
+RUN apt-get install -y ruby-dev
+RUN gem install asciidoctor
+
+
+
+#
+#  Setup a src dir in /usr/local
+#
+RUN mkdir -p /usr/local/src/repositories
+WORKDIR /usr/local/src/repositories
+
+
+#
+#  Shallow clone the FreeRADIUS source
+#
+WORKDIR /usr/local/src/repositories
+ARG source=https://github.com/FreeRADIUS/freeradius-server.git
+RUN git clone --depth 1 --no-single-branch ${source}
+
+#
+#  Install build dependencies for all branches from v3 onwards
+#
+WORKDIR freeradius-server
+RUN for i in $(git for-each-ref --format='%(refname:short)' refs/remotes/origin 2>/dev/null | sed -e 's#origin/##' | egrep "^(v[3-9]*\.[0-9x]*\.x|master)$");\
+       do \
+               git checkout $i; \
+               if [ -e ./debian/control.in ] ; then \
+                       debian/rules debian/control ; \
+               fi ; \
+               echo 'y' | \
+               mk-build-deps -irt'apt-get -yV' debian/control ; \
+       done
index db192b0d4dbc2bd0cf316a19e8bddf81098e6eae..a1bfca82f159c0f4ddcb1d127b1489e62acdf535 100644 (file)
@@ -22,7 +22,7 @@ RUN add-apt-repository -y "deb http://apt.llvm.org/OS_CODENAME/ llvm-toolchain-O
 
 RUN apt-get update && \
 #  Development utilities
-    apt-get install -y devscripts equivs git quilt rsync && \
+    apt-get install -y devscripts equivs git quilt rsync fakeroot && \
 #  Compilers
     apt-get install -y g++ CLANG_PKGS && \
 #  eapol_test dependencies
index 0f6bdbe546473b51ad7ed814bc26ed1f6020f83f..eff9070efc06f9fea5c145c4d4dcaf6eedc8b8fc 100644 (file)
@@ -23,6 +23,7 @@ ifelse(
        D_NAME, [ubuntu18],     [p_SET([deb], [ubuntu], [18],   [bionic],       [ubuntu:18.04])],
        D_NAME, [ubuntu20],     [p_SET([deb], [ubuntu], [20],   [focal],        [ubuntu:20.04])],
        D_NAME, [ubuntu22],     [p_SET([deb], [ubuntu], [22],   [jammy],        [ubuntu:22.04])],
+       D_NAME, [ubuntu24],     [p_SET([deb], [ubuntu], [24],   [noble],        [ubuntu:24.04])],
        D_NAME, [centos7],      [p_SET([rpm], [centos], [7],    [7],            [centos:7])],
        D_NAME, [centos8],      [p_SET([rpm], [centos], [8],    [8],            [centos:8])],
        D_NAME, [rocky8],       [p_SET([rpm], [rocky],  [8],    [8],            [rockylinux/rockylinux:8])],