jobs:
rpm-build:
+ # Really we want to build on rolling Fedora Rawhide, however it is
+ # currently affected by a permission issue due to a glibc/systemd bug:
+ #
+ # https://bugzilla.redhat.com/show_bug.cgi?id=1869030
+ #
strategy:
matrix:
env:
- - { NAME: "centos-7", OS: "centos:7" }
- - { NAME: "centos-8", OS: "centos:8" }
+ - { NAME: "centos-7", OS: "centos:7" }
+ - { NAME: "centos-8", OS: "centos:8" }
+ - { NAME: "fedora-33", OS: "fedora:33" }
fail-fast: false
runs-on: ubuntu-latest
- name: Enable PowerTools on CentOS 8
if: ${{ matrix.env.NAME == 'centos-8' }}
run: |
- yum config-manager --enable PowerTools
+ yum config-manager --enable PowerTools || :
+ yum config-manager --enable powertools || :
+
+ #
+ # We just patch the SPEC file for Fedora since we want to use the standard
+ # make rpm target which wants to build with LDAP.
+ #
+ - name: Disable rlm_ldap on Fedora (no LTB packages)
+ if: ${{ startsWith(matrix.env.NAME, 'fedora-') }}
+ run: |
+ sed -ie 's/%bcond_without ldap/%global _without_ldap: 1/' freeradius/redhat/freeradius.spec
- name: Install build dependencies
run: |
env:
- { NAME: "centos-7", OS: "centos:7" }
- { NAME: "centos-8", OS: "centos:8" }
+ - { NAME: "fedora-33", OS: "fedora:33" }
fail-fast: false
runs-on: ubuntu-latest
steps:
- - name: Extra repos
+ - name: Extra repos for CentOS
+ if: ${{ startsWith(matrix.env.NAME, 'centos-') }}
run: |
echo '[ltb-project]' >> /etc/yum.repos.d/ltb-project.repo
echo 'name=LTB project packages' >> /etc/yum.repos.d/ltb-project.repo
echo 'gpgcheck=1' >> /etc/yum.repos.d/ltb-project.repo
echo 'gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-LTB-project' >> /etc/yum.repos.d/ltb-project.repo
rpm --import https://ltb-project.org/lib/RPM-GPG-KEY-LTB-project
- yum install -y epel-release yum-utils
+ yum install -y epel-release
- name: Enable PowerTools on CentOS 8
if: ${{ matrix.env.NAME == 'centos-8' }}
run: |
- yum config-manager --enable PowerTools
+ yum install -y yum-utils
+ yum config-manager --enable PowerTools || :
+ yum config-manager --enable powertools || :
- name: Load RPMs
uses: actions/download-artifact@v2
%bcond_with experimental_modules
%bcond_with rlm_sigtran
%bcond_with wbclient
+%bcond_without ldap
# Many distributions have extremely old versions of OpenSSL
# if you'd like to build with the FreeRADIUS openssl packages
%{!?_with_rlm_eap_tnc: %global _without_rlm_eap_tnc --without-rlm_eap_tnc}
%{!?_with_rlm_yubikey: %global _without_rlm_yubikey --without-rlm_yubikey}
%{!?_with_rlm_sigtran: %global _without_rlm_sigtran --without-rlm_sigtran}
+%{?_without_ldap: %global _without_libfreeradius_ldap --without-libfreeradius-ldap}
# experimental modules
%bcond_with rlm_idn
%description krb5
This plugin provides Kerberos 5 support for the FreeRADIUS server project.
+%if %{!?_without_ldap:1}%{?_without_ldap:0}
%package ldap
Summary: LDAP support for FreeRADIUS
Group: System Environment/Daemons
%description ldap
This plugin provides LDAP support for the FreeRADIUS server project.
+%endif
%package libfreeradius-curl
Summary: curl wrapper library for FreeRADIUS
--with-threads \
--with-thread-pool \
--with-docdir=%{docdir} \
- --with-libfreeradius-ldap-include-dir=/usr/local/openldap/include \
- --with-libfreeradius-ldap-lib-dir=/usr/local/openldap/lib64 \
+%if %{!?_without_ldap:1}%{?_without_ldap:0}
+ --with-libfreeradius-ldap-include-dir=/usr/local/openldap/include \
+ --with-libfreeradius-ldap-lib-dir=/usr/local/openldap/lib64 \
+%endif
--with-rlm-sql_postgresql-include-dir=/usr/include/pgsql \
--with-rlm-sql-postgresql-lib-dir=%{_libdir} \
--with-rlm-sql_mysql-include-dir=/usr/include/mysql \
%{?_without_rlm_mruby} \
%{?_with_rlm_cache_memcached} \
%{?_without_rlm_cache_memcached} \
+ %{?_without_libfreeradius_ldap} \
# --with-modules="rlm_wimax" \
make %{?_smp_mflags}
%defattr(-,root,root)
%{_libdir}/freeradius/rlm_sql_sqlite.so
+%if %{!?_without_ldap:1}%{?_without_ldap:0}
%files ldap
%defattr(-,root,root)
%{_libdir}/freeradius/rlm_ldap.so
+%endif
%files unixODBC
%defattr(-,root,root)