]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Add debian10 and centos8 to Jenkins build
authorMatthew Newton <matthew-git@newtoncomputing.co.uk>
Tue, 5 Nov 2019 15:01:43 +0000 (15:01 +0000)
committerMatthew Newton <matthew-git@newtoncomputing.co.uk>
Tue, 5 Nov 2019 15:39:33 +0000 (15:39 +0000)
scripts/jenkins/Jenkinsfile
scripts/jenkins/README.md
scripts/jenkins/centos8/Dockerfile [new file with mode: 0644]
scripts/jenkins/debian10/Dockerfile [new file with mode: 0644]

index 0c5541d92b24ab35642944c84a2b1d735058e585..0bac4a3f3f8c281e6b7aae98dda065e0f50241c6 100644 (file)
@@ -1,4 +1,4 @@
-platforms = ["ubuntu14", "ubuntu16", "ubuntu18","centos7","debian8","debian9"]
+platforms = ["ubuntu14", "ubuntu16", "ubuntu18", "centos7", "centos8", "debian8", "debian9", "debian10"]
 
 /*  The detectChanges function looks at the last git commit and searches for changes to
  *   "redhat/freeradius.spec" or anything in the "debian" directory.  If it
index fee3f908c2902c3e78bbacbed9f52427e4e7ba4f..eab8882887260ce32317301b8001a24ecf3ecb33 100644 (file)
@@ -31,8 +31,9 @@ The Jenkinsfile currently builds packages for the following platforms:
 * Ubuntu 18.04 (Bionic Beaver)
 * Debian 8 (Jessie)
 * Debian 9 (Stretch)
-* Centos 6
-* CentOS 7 
+* Debian 10 (Buster)
+* CentOS 7
+* CentOS 8
 
 Once complete, the packages are available as artifacts and accessible
 from the job page by clicking the "Build Artifacts" link or by
diff --git a/scripts/jenkins/centos8/Dockerfile b/scripts/jenkins/centos8/Dockerfile
new file mode 100644 (file)
index 0000000..166099c
--- /dev/null
@@ -0,0 +1,48 @@
+FROM centos:8
+
+# Seems to work around https://bugs.centos.org/view.php?id=16655
+RUN rpmkeys --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
+
+RUN yum groupinstall -y "Development Tools"
+RUN yum install -y rpmdevtools openssl dnf-utils
+
+#
+#  Create build directory
+#
+RUN mkdir -p /usr/local/src/repositories
+WORKDIR /usr/local/src/repositories
+
+#
+#  Shallow clone the FreeRADIUS source
+#
+ARG source=https://github.com/FreeRADIUS/freeradius-server.git
+ARG release=v3.0.x
+
+RUN git clone --depth 1 --single-branch --branch ${release} ${source}
+WORKDIR freeradius-server
+#
+#  Other requirements
+#
+
+# Use LTB's openldap packages intead of the distribution version to avoid linking against NSS
+RUN echo $'[ltb-project]\n\
+name=LTB project packages\n\
+baseurl=https://ltb-project.org/rpm/$releasever/$basearch\n\
+enabled=1\n\
+gpgcheck=1\n\
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-LTB-project'\
+> /etc/yum.repos.d/ltb-project.repo
+RUN rpm --import https://ltb-project.org/lib/RPM-GPG-KEY-LTB-project
+
+# EPEL repository for freetds and hiredis
+RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
+# Currently needed for hiredis:
+RUN yum config-manager --enable epel-testing
+# For json-c-devel and libpcap-devel ("PowerTools"?!):
+RUN yum config-manager --enable PowerTools
+
+#
+#  Install build dependencies
+#
+RUN [ -e redhat/freeradius.spec ] && yum-builddep -y redhat/freeradius.spec
+
diff --git a/scripts/jenkins/debian10/Dockerfile b/scripts/jenkins/debian10/Dockerfile
new file mode 100644 (file)
index 0000000..ce5a9d7
--- /dev/null
@@ -0,0 +1,30 @@
+FROM debian:buster
+#
+#  Install build tools
+#
+RUN apt-get update
+RUN apt-get install -y devscripts equivs git quilt g++-${gccver}
+
+#
+#  Create build directory
+#
+RUN mkdir -p /usr/local/src/repositories
+WORKDIR /usr/local/src/repositories
+
+#
+#  Shallow clone the FreeRADIUS source
+#
+ARG source=https://github.com/FreeRADIUS/freeradius-server.git
+ARG release=v3.0.x
+
+RUN git clone --depth 1 --single-branch --branch ${release} ${source}
+WORKDIR freeradius-server
+
+#
+#  Install build dependencies
+#
+RUN git checkout ${release}; \
+    if [ -e ./debian/control.in ]; then \
+        debian/rules debian/control; \
+    fi; \
+    echo 'y' | mk-build-deps -irt'apt-get -yV' debian/control