]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
update dockerfiles, use NR package repos
authorMatthew Newton <matthew-git@newtoncomputing.co.uk>
Fri, 11 Jun 2021 16:48:36 +0000 (17:48 +0100)
committerMatthew Newton <matthew-git@newtoncomputing.co.uk>
Mon, 21 Jun 2021 18:46:41 +0000 (19:46 +0100)
scripts/docker/build-centos7/Dockerfile.deps
scripts/docker/build-debian10/Dockerfile.deps
scripts/docker/build-debian9/Dockerfile.deps
scripts/docker/build-debiansid/Dockerfile.deps
scripts/docker/build-ubuntu18/Dockerfile.deps
scripts/docker/build-ubuntu20/Dockerfile.deps

index 58601a5b3dc282e20473179a9280ea9172883852..18af0001aaef950a01db505bded912a516e8b2a8 100644 (file)
@@ -5,13 +5,29 @@ FROM centos:centos7
 #  repository for freetds and hiredis
 #
 RUN yum update -y
-RUN yum install -y rpmdevtools openssl epel-release git yum-utils rsync
+RUN yum install -y \
+    epel-release \
+    git \
+    openssl \
+    rpmdevtools \
+    rsync \
+    wget \
+    yum-utils \
+#  which is required by fixture setup utilities
+    which \
+#  libnl3-devel is required for the EAP tests
+    libnl3-devel
+
 
 #
 #  Install GCC that has the requisite support for C11 keywords and atomics
 #
-RUN yum install -y centos-release-scl
-RUN yum install -y devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-make
+RUN yum install -y \
+    centos-release-scl
+RUN yum install -y \
+    devtoolset-8-gcc \
+    devtoolset-8-gcc-c++ \
+    devtoolset-8-make
 ENV CC=/opt/rh/devtoolset-8/root/usr/bin/gcc
 
 #
@@ -21,47 +37,66 @@ ENV CC=/opt/rh/devtoolset-8/root/usr/bin/gcc
 RUN rm /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
 RUN rm /etc/yum.repos.d/CentOS-SCLo-scl.repo
 
+
 #
 #  Documentation build dependecies
 #
 
 #  - doxygen & JSON.pm
-RUN yum install -y doxygen graphviz perl-JSON
+RUN yum install -y \
+        doxygen \
+        graphviz \
+        perl-JSON
 #  - antora (npm needed)
-RUN curl -sL https://rpm.nodesource.com/setup_8.x | bash -
-RUN yum install -y nodejs
+RUN bash -c "$(wget -O - https://rpm.nodesource.com/setup_14.x)" && \
+    yum install -y \
+        nodejs
 RUN npm i -g @antora/cli@2.1 @antora/site-generator-default@2.1
 #  - pandoc
 RUN curl -o - -L $(curl -s https://api.github.com/repos/jgm/pandoc/releases/latest | grep "browser_download_url.*amd64.tar.gz" | cut -d '"' -f 4) | tar xzvf - -C /tmp/
 RUN mv /tmp/pandoc-*/bin/* /usr/local/bin
 #  - asciidoctor
-RUN yum install -y rubygems-devel
+RUN yum install -y \
+    rubygems-devel
 RUN gem install asciidoctor
 
+
+#
+#  Completely remove the defunct nodesource-source repo
+#  as it breaks yum-builddep
+#  https://github.com/nodesource/distributions/issues/998
+#  https://github.com/nodesource/distributions/issues/576
+#
+RUN awk '/nodesource-source/{T=1}//{if (!T){print}}' /etc/yum.repos.d/nodesource-el7.repo > \
+        /etc/yum.repos.d/nodesource-el7.repo.new && \
+    mv /etc/yum.repos.d/nodesource-el7.repo.new /etc/yum.repos.d/nodesource-el7.repo
+
 #
 #  Setup a src dir in /usr/local
 #
 RUN mkdir -p /usr/local/src/repositories
 WORKDIR /usr/local/src/repositories
 
-#
-#  Get a modern version of cmake.  We need 3.8.2 or later to build libkqueue rpms
-#
-RUN curl -f -o cmake.sh https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.sh
-RUN [ "$(cat cmake.sh | openssl sha256 | sed 's/^.* //')" = "bb26b1871f9e5c2fb73476186cc94d03b674608f704b48b94d617340b87b4d73" ]
-RUN sh cmake.sh --skip-license --prefix=/usr/local
 
 #
-#  Grab libkqueue and build
+#  Set up NetworkRADIUS repositories for libkqueue and json-c
 #
-WORKDIR /usr/local/src/repositories
-RUN git clone --branch master --depth=1 https://github.com/mheily/libkqueue.git
+RUN echo $'[nr-libkqueue]\n\
+name=NetworkRADIUS-libkqueue-$releasever\n\
+baseurl=http://packages.networkradius.com/libkqueue/centos/$releasever/\n\
+enabled=1\n\
+gpgcheck=1\n\
+gpgkey=https://packages.networkradius.com/pgp/packages@networkradius.com\n\
+\n\
+[nr-json-c]\n\
+name=NetworkRADIUS-json-c-$releasever\n\
+baseurl=http://packages.networkradius.com/json-c/centos/$releasever/\n\
+enabled=1\n\
+gpgcheck=1\n\
+gpgkey=https://packages.networkradius.com/pgp/packages@networkradius.com'\
+> /etc/yum.repos.d/networkradius.repo
+RUN rpm --import https://packages.networkradius.com/pgp/packages@networkradius.com
 
-WORKDIR libkqueue
-RUN cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib ./ && \
-    make && \
-    cpack -G RPM && \
-    yum localinstall -y *.rpm
 
 #
 #  Use LTB's openldap packages intead of the distribution version to avoid linking against NSS
@@ -80,27 +115,21 @@ RUN rpm --import https://ltb-project.org/lib/RPM-GPG-KEY-LTB-project
 #
 WORKDIR /usr/local/src/repositories
 ARG source=https://github.com/FreeRADIUS/freeradius-server.git
-RUN git clone --depth 1 --no-single-branch ${source}
+ARG branch=master
+RUN git clone --depth 1 --no-single-branch -b ${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; \
-               [ -e redhat/freeradius.spec ] && yum-builddep -y redhat/freeradius.spec; \
-       done
+    do \
+        echo "BRANCH $i"; \
+        git checkout $i; \
+        [ -e redhat/freeradius.spec ] && yum-builddep -y redhat/freeradius.spec; \
+    done
 
-#
-#  Which is required by fixture setup utilities
-#
-RUN yum install -y which
-
-#
-#  Explicitly install libnl3-devel which is required for the EAP tests
-#
-RUN yum install -y libnl3-devel
 
 #
 #  Create the RPM build tree
index 206158cfa4d6b8f93f20667e0384139944fb4fdd..531c410927bff377a9aa675fa09718f8be7fcd5f 100644 (file)
@@ -1,6 +1,4 @@
-ARG osname=buster
-
-FROM debian:${osname}-slim
+FROM debian:10-slim
 
 SHELL ["/usr/bin/nice", "-n", "5", "/usr/bin/ionice", "-c", "3", "/bin/sh", "-x", "-c"]
 
@@ -19,21 +17,20 @@ RUN apt-get update && \
         git \
         gnupg2 \
         lsb-release \
+        procps \
         quilt \
         rsync \
         software-properties-common \
-        wget && \
-#  Compilers
-    apt-get install $APT_OPTS \
-        g++ && \
-    bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" && \
+        wget \
 #  eapol_test dependencies
-    apt-get install $APT_OPTS \
         libnl-3-dev \
-        libnl-genl-3-dev && \
-#  cmake to build libkqueue
-    apt-get install $APT_OPTS \
-        cmake
+        libnl-genl-3-dev \
+#  Compilers
+        clang \
+        g++ \
+        lldb \
+        llvm
+
 
 #
 #  Documentation build dependecies
@@ -45,7 +42,7 @@ RUN apt-get install $APT_OPTS \
         graphviz \
         libjson-perl
 #  - antora (npm needed)
-RUN bash -c "$(wget -O - https://deb.nodesource.com/setup_10.x)" && \
+RUN bash -c "$(wget -O - https://deb.nodesource.com/setup_14.x)" && \
     apt-get install $APT_OPTS \
         nodejs
 RUN npm i -g @antora/cli@2.1 @antora/site-generator-default@2.1
@@ -56,7 +53,7 @@ RUN wget $(wget -qO - https://api.github.com/repos/jgm/pandoc/releases/latest |
     find . -mindepth 1 -maxdepth 1 -type f -name 'pandoc-*.deb' -delete
 #  - asciidoctor
 RUN apt-get install $APT_OPTS \
-        ruby
+    ruby
 RUN gem install asciidoctor
 
 
@@ -68,15 +65,12 @@ WORKDIR /usr/local/src/repositories
 
 
 #
-#  Grab libkqueue and build
+#  Set up NetworkRADIUS repositories for libkqueue and json-c
 #
-RUN git clone --branch master --depth=1 https://github.com/mheily/libkqueue.git
-
-WORKDIR libkqueue
-RUN cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib ./ && \
-    make && \
-    cpack -G DEB && \
-    dpkg -i --force-all ./libkqueue*.deb
+RUN wget -O - "https://packages.networkradius.com/pgp/packages%40networkradius.com" | apt-key add && \
+    echo "deb http://packages.networkradius.com/libkqueue/debian/buster buster main" > /etc/apt/sources.list.d/networkradius.list && \
+    echo "deb http://packages.networkradius.com/json-c/debian/buster buster main" >> /etc/apt/sources.list.d/networkradius.list && \
+    apt-get update
 
 
 #
index e371773fa50a2949726770270c13de6ac7de16b8..8da4df86784098015633ac569b0fbf656bfe24f3 100644 (file)
@@ -1,6 +1,4 @@
-ARG osname=stretch
-
-FROM debian:${osname}-slim
+FROM debian:9-slim
 
 SHELL ["/usr/bin/nice", "-n", "5", "/usr/bin/ionice", "-c", "3", "/bin/sh", "-x", "-c"]
 
@@ -20,18 +18,18 @@ RUN apt-get update && \
         git \
         gnupg2 \
         lsb-release \
+        procps \
         quilt \
         rsync \
         software-properties-common \
-        wget && \
-#  Compilers
-    apt-get install $APT_OPTS \
-        g++ && \
-    bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" && \
+        wget \
 #  eapol_test dependencies
-    apt-get install $APT_OPTS \
         libnl-3-dev \
-        libnl-genl-3-dev
+        libnl-genl-3-dev \
+#  Compilers
+        g++ && \
+    bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
+
 
 #
 #  Documentation build dependecies
@@ -43,7 +41,7 @@ RUN apt-get install $APT_OPTS \
         graphviz \
         libjson-perl
 #  - antora (npm needed)
-RUN bash -c "$(wget -O - https://deb.nodesource.com/setup_10.x)" && \
+RUN bash -c "$(wget -O - https://deb.nodesource.com/setup_14.x)" && \
     apt-get install $APT_OPTS \
         nodejs
 RUN npm i -g @antora/cli@2.1 @antora/site-generator-default@2.1
@@ -54,7 +52,7 @@ RUN wget $(wget -qO - https://api.github.com/repos/jgm/pandoc/releases/latest |
     find . -mindepth 1 -maxdepth 1 -type f -name 'pandoc-*.deb' -delete
 #  - asciidoctor
 RUN apt-get install $APT_OPTS \
-        ruby
+    ruby
 RUN gem install asciidoctor
 
 
@@ -64,22 +62,14 @@ RUN gem install asciidoctor
 RUN mkdir -p /usr/local/src/repositories
 WORKDIR /usr/local/src/repositories
 
-#
-#  Get a modern version of cmake.  We need 3.8.2 or later to build libkqueue
-#
-RUN wget https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.sh && \
-    /bin/sh cmake-3.8.2-Linux-x86_64.sh --skip-license --prefix=/usr/local
 
 #
-#  Grab libkqueue and build
+#  Set up NetworkRADIUS repositories for libkqueue and json-c
 #
-RUN git clone --branch master --depth=1 https://github.com/mheily/libkqueue.git
-
-WORKDIR libkqueue
-RUN cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib ./ && \
-    make && \
-    cpack -G DEB && \
-    dpkg -i --force-all ./libkqueue*.deb
+RUN wget -O - "https://packages.networkradius.com/pgp/packages%40networkradius.com" | apt-key add && \
+    echo "deb http://packages.networkradius.com/libkqueue/debian/stretch stretch main" > /etc/apt/sources.list.d/networkradius.list && \
+    echo "deb http://packages.networkradius.com/json-c/debian/stretch stretch main" >> /etc/apt/sources.list.d/networkradius.list && \
+    apt-get update
 
 
 #
index 0d0a7cb338ced2147af9dbf2e955372931d816a8..07c1355ab81864f0e4a18b3a6a6af42f6866621e 100644 (file)
@@ -1,6 +1,4 @@
-ARG osname=sid
-
-FROM debian:${osname}-slim
+FROM debian:sid-slim
 
 SHELL ["/usr/bin/nice", "-n", "5", "/usr/bin/ionice", "-c", "3", "/bin/sh", "-x", "-c"]
 
@@ -19,21 +17,20 @@ RUN apt-get update && \
         git \
         gnupg2 \
         lsb-release \
+        procps \
         quilt \
         rsync \
         software-properties-common \
-        wget && \
-#  Compilers
-    apt-get install $APT_OPTS \
-        g++ && \
-    bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" && \
+        wget \
 #  eapol_test dependencies
-    apt-get install $APT_OPTS \
         libnl-3-dev \
-        libnl-genl-3-dev && \
-#  cmake to build libkqueue
-    apt-get install $APT_OPTS \
-        cmake
+        libnl-genl-3-dev \
+#  Compilers
+        clang \
+        g++ \
+        lldb \
+        llvm
+
 
 #
 #  Documentation build dependecies
@@ -45,7 +42,7 @@ RUN apt-get install $APT_OPTS \
         graphviz \
         libjson-perl
 #  - antora (npm needed)
-RUN bash -c "$(wget -O - https://deb.nodesource.com/setup_10.x)" && \
+RUN bash -c "$(wget -O - https://deb.nodesource.com/setup_14.x)" && \
     apt-get install $APT_OPTS \
         nodejs
 RUN npm i -g @antora/cli@2.1 @antora/site-generator-default@2.1
@@ -56,7 +53,7 @@ RUN wget $(wget -qO - https://api.github.com/repos/jgm/pandoc/releases/latest |
     find . -mindepth 1 -maxdepth 1 -type f -name 'pandoc-*.deb' -delete
 #  - asciidoctor
 RUN apt-get install $APT_OPTS \
-        ruby
+    ruby
 RUN gem install asciidoctor
 
 
@@ -67,18 +64,6 @@ RUN mkdir -p /usr/local/src/repositories
 WORKDIR /usr/local/src/repositories
 
 
-#
-#  Grab libkqueue and build
-#
-RUN git clone --branch master --depth=1 https://github.com/mheily/libkqueue.git
-
-WORKDIR libkqueue
-RUN cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib ./ && \
-    make && \
-    cpack -G DEB && \
-    dpkg -i --force-all ./libkqueue*.deb
-
-
 #
 #  Shallow clone the FreeRADIUS source
 #
index df4a8ceede8f18d136dfef8b87b59aad6e8c2bd7..944d14855169fe61b73da80956a5fa89cb2695a2 100644 (file)
@@ -1,69 +1,76 @@
 FROM ubuntu:18.04
 
-ARG gccver=4.9
-ARG clangver=5.0
+SHELL ["/usr/bin/nice", "-n", "5", "/usr/bin/ionice", "-c", "3", "/bin/sh", "-x", "-c"]
+
 ARG osname=bionic
+ONBUILD ARG osname=${osname}
 
-ARG DEBIAN_FRONTEND=noninteractive
+ARG APT_OPTS="-y --option=Dpkg::options::=--force-unsafe-io --no-install-recommends"
 
-#
-#  Install add-apt-repository
-#
-RUN apt-get update && \
-    apt-get install -y software-properties-common && \
-    apt-get clean && \
-    rm -r /var/lib/apt/lists/*
+ARG DEBIAN_FRONTEND=noninteractive
 
 RUN apt-get update && \
 #  Development utilities
-    apt-get install -y devscripts equivs git quilt rsync && \
-#  Compilers
-    apt-get install -y g++ llvm clang lldb && \
+    apt-get install $APT_OPTS \
+        devscripts \
+        equivs \
+        git \
+        gnupg2 \
+        lsb-release \
+        procps \
+        quilt \
+        rsync \
+        software-properties-common \
+        wget \
 #  eapol_test dependencies
-    apt-get install -y libnl-3-dev libnl-genl-3-dev
+        libnl-3-dev \
+        libnl-genl-3-dev \
+#  Compilers
+        clang \
+        g++ \
+        lldb \
+        llvm
+
 
 #
 #  Documentation build dependecies
 #
 
 #  - doxygen & JSON.pm
-RUN apt-get install -y doxygen graphviz libjson-perl
+RUN apt-get install $APT_OPTS \
+        doxygen \
+        graphviz \
+        libjson-perl
 #  - antora (npm needed)
-RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
-RUN apt-get install -y nodejs
+RUN bash -c "$(wget -O - https://deb.nodesource.com/setup_14.x)" && \
+    apt-get install $APT_OPTS \
+        nodejs
 RUN npm i -g @antora/cli@2.1 @antora/site-generator-default@2.1
 #  - pandoc
-WORKDIR /tmp
-RUN curl -L --remote-name-all $(curl -s https://api.github.com/repos/jgm/pandoc/releases/latest | grep "browser_download_url.*amd64\.deb" | cut -d '"' -f 4)
-RUN apt-get install -y ./pandoc-*.deb
+RUN wget $(wget -qO - https://api.github.com/repos/jgm/pandoc/releases/latest | sed -ne 's/.*"browser_download_url".*"\(.*amd64\.deb\)"/\1/ p') && \
+    find . -mindepth 1 -maxdepth 1 -type f -name 'pandoc-*.deb' -print0 | \
+        xargs -0 -r apt-get install $APT_OPTS && \
+    find . -mindepth 1 -maxdepth 1 -type f -name 'pandoc-*.deb' -delete
 #  - asciidoctor
-RUN apt-get install -y ruby-dev
+RUN apt-get install $APT_OPTS \
+    ruby
 RUN gem install asciidoctor
 
+
 #
 #  Setup a src dir in /usr/local
 #
 RUN mkdir -p /usr/local/src/repositories
 WORKDIR /usr/local/src/repositories
 
-#
-#  Get a modern version of cmake.  We need 3.8.2 or later to build libkqueue rpms
-#
-RUN curl -f -o cmake.sh https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.sh
-RUN [ "$(cat cmake.sh | openssl sha256 | sed 's/^.* //')" = "bb26b1871f9e5c2fb73476186cc94d03b674608f704b48b94d617340b87b4d73" ]
-RUN sh cmake.sh --skip-license --prefix=/usr/local
 
 #
-#  Grab libkqueue and build
+#  Set up NetworkRADIUS repositories for libkqueue and json-c
 #
-WORKDIR /usr/local/src/repositories
-RUN git clone --branch master --depth=1 https://github.com/mheily/libkqueue.git
-
-WORKDIR libkqueue
-RUN cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib ./ && \
-    make && \
-    cpack -G DEB && \
-    dpkg -i --force-all ./libkqueue*.deb
+RUN wget -O - "https://packages.networkradius.com/pgp/packages%40networkradius.com" | apt-key add && \
+    echo "deb http://packages.networkradius.com/libkqueue/ubuntu/bionic bionic main" > /etc/apt/sources.list.d/networkradius.list && \
+    echo "deb http://packages.networkradius.com/json-c/ubuntu/bionic bionic main" >> /etc/apt/sources.list.d/networkradius.list && \
+    apt-get update
 
 
 #
@@ -71,14 +78,20 @@ RUN cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR
 #
 WORKDIR /usr/local/src/repositories
 ARG source=https://github.com/FreeRADIUS/freeradius-server.git
-RUN git clone --depth 1 --no-single-branch ${source}
+ARG branch=master
+RUN git clone --depth 1 --no-single-branch -b ${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
+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|${branch})$" | sort -u); \
+    do \
+        git checkout $i; \
+        if [ -e ./debian/control.in ] ; then \
+            debian/rules debian/control ; \
+        fi ; \
+        mk-build-deps -irt"apt-get -o Debug::pkgProblemResolver=yes $APT_OPTS" debian/control ; \
+        apt-get -y remove libiodbc2-dev ; \
+    done
index 03c381b3145c9bcbd78f39c8759746c7bd9be48a..792b87b62ac872dd51eeb85b1a0c1a99c037cdb8 100644 (file)
@@ -1,10 +1,8 @@
-ARG from=ubuntu:20.04
-FROM ${from}
-
-ARG osname=focal
+FROM ubuntu:20.04
 
 SHELL ["/usr/bin/nice", "-n", "5", "/usr/bin/ionice", "-c", "3", "/bin/sh", "-x", "-c"]
 
+ARG osname=focal
 ONBUILD ARG osname=${osname}
 
 ARG APT_OPTS="-y --option=Dpkg::options::=--force-unsafe-io --no-install-recommends"
@@ -17,21 +15,22 @@ RUN apt-get update && \
         devscripts \
         equivs \
         git \
+        gnupg2 \
+        lsb-release \
+        procps \
         quilt \
         rsync \
         software-properties-common \
-        wget && \
-#  Compilers
-    apt-get install $APT_OPTS \
-        g++ && \
-    bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" && \
+        wget \
 #  eapol_test dependencies
-    apt-get install $APT_OPTS \
         libnl-3-dev \
-        libnl-genl-3-dev && \
-#  cmake to build libkqueue
-    apt-get install $APT_OPTS \
-        cmake
+        libnl-genl-3-dev \
+#  Compilers
+        clang \
+        g++ \
+        lldb \
+        llvm
+
 
 #
 #  Documentation build dependecies
@@ -43,7 +42,7 @@ RUN apt-get install $APT_OPTS \
         graphviz \
         libjson-perl
 #  - antora (npm needed)
-RUN bash -c "$(wget -O - https://deb.nodesource.com/setup_10.x)" && \
+RUN bash -c "$(wget -O - https://deb.nodesource.com/setup_14.x)" && \
     apt-get install $APT_OPTS \
         nodejs
 RUN npm i -g @antora/cli@2.1 @antora/site-generator-default@2.1
@@ -54,7 +53,7 @@ RUN wget $(wget -qO - https://api.github.com/repos/jgm/pandoc/releases/latest |
     find . -mindepth 1 -maxdepth 1 -type f -name 'pandoc-*.deb' -delete
 #  - asciidoctor
 RUN apt-get install $APT_OPTS \
-        ruby-dev
+    ruby
 RUN gem install asciidoctor
 
 
@@ -66,15 +65,11 @@ WORKDIR /usr/local/src/repositories
 
 
 #
-#  Grab libkqueue and build
+#  Set up NetworkRADIUS repositories for libkqueue
 #
-RUN git clone --branch master --depth=1 https://github.com/mheily/libkqueue.git
-
-WORKDIR libkqueue
-RUN cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib ./ && \
-    make && \
-    cpack -G DEB && \
-    dpkg -i --force-all ./libkqueue*.deb
+RUN wget -O - "https://packages.networkradius.com/pgp/packages%40networkradius.com" | apt-key add && \
+    echo "deb http://packages.networkradius.com/libkqueue/ubuntu/bionic bionic main" > /etc/apt/sources.list.d/networkradius.list && \
+    apt-get update
 
 
 #