]> git.pld-linux.org Git - packages/freeradius-server.git/blobdiff - freeradius-server.spec
- updated for 2.1.12
[packages/freeradius-server.git] / freeradius-server.spec
index 0ff37de21a3bf05dcae12614f1f41d1a71981cb7..e11827b2b504a4b3fa7c8a7cda61b1100e546dfd 100644 (file)
@@ -1,26 +1,27 @@
 #
 # TODO:
-# - check log files permisions - should be writable by radius user/group
-#   (log files are created by server)
-# - prepare to use with --as-needed
-# - ac/am regeneration doesn't work
-# - move plugins into separate packages:
-#   /usr/sbin/radsniff: libpcap
-#   /usr/lib/freeradius/rlm_eap_ikev2-2.1.1.so: libeap-ikev2
-# - After install/uninstall every module perform daemon restart
-# - what about links in /usr/lib/freeradius/ - required? *.la?
+#   - build and package Redis module, requires hiredis library to be packaged
+#     first (https://github.com/antirez/hiredis)
+#
+# Conditional build:
+%bcond_without ldap            # without rlm_ldap extension module
+%bcond_without firebird        # without rlm_sql_firebird extension module
+%bcond_without eap_ikev2       # without rlm_eap_ikev2 extension module
+%bcond_without kerberos5       # without rlm_krb5 extension module
+%bcond_without ruby            # without rlm_ruby extension module
+%bcond_with            failed_calls_acc # with failed calls accounting support
 #
 %include       /usr/lib/rpm/macros.perl
 #
 Summary:       High-performance and highly configurable RADIUS server
 Summary(pl.UTF-8):     Szybki i wysoce konfigurowalny serwer RADIUS
 Name:          freeradius-server
-Version:       2.1.1
-Release:       0.12
+Version:       2.1.12
+Release:       1
 License:       GPL
 Group:         Networking/Daemons/Radius
 Source0:       ftp://ftp.freeradius.org/pub/radius/%{name}-%{version}.tar.bz2
-# Source0-md5: 4ccf748ef9851d90844d085647351ca4
+# Source0-md5: 862d3a2c11011e61890ba84fa636ed8c
 Source1:       %{name}.logrotate
 Source2:       %{name}.init
 Source3:       %{name}.pam
@@ -28,23 +29,30 @@ Patch0:             %{name}-config.patch
 Patch1:                %{name}-libdir.patch
 Patch2:                %{name}-makefile.patch
 Patch3:                %{name}-rundir.patch
+Patch4:                %{name}-heimdal.patch
+Patch5:                %{name}-rubyhdrs.patch
+# Patch taken from http://download.ag-projects.com/CDRTool/contrib/freeradius-brandinger/
+Patch6:                failed_calls_accounting.patch
 URL:           http://www.freeradius.org/
-BuildRequires: Firebird-devel
+%{?with_firebird:BuildRequires:        Firebird-devel}
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: cyrus-sasl-devel
 BuildRequires: gdbm-devel
-BuildRequires: libeap-ikev2-devel
+%{?with_kerberos5:BuildRequires:       heimdal-devel}
+%{?with_eap_ikev2:BuildRequires:       libeap-ikev2-devel}
 BuildRequires: libtool
-BuildRequires: net-snmp-utils
 BuildRequires: mysql-devel
-BuildRequires: openldap-devel
+BuildRequires: net-snmp-utils
+%{?with_ldap:BuildRequires:    openldap-devel}
 BuildRequires: openssl-devel
 BuildRequires: pam-devel
 BuildRequires: perl-devel
 BuildRequires: postgresql-devel
 BuildRequires: python-devel
+BuildRequires: rpm-perlprov
 BuildRequires: rpmbuild(macros) >= 1.268
+%{?with_ruby:BuildRequires:    ruby-devel >= 1.8}
 BuildRequires: sqlite3-devel
 BuildRequires: unixODBC-devel
 Requires(post,preun):  /sbin/chkconfig
@@ -55,20 +63,19 @@ Requires(pre):      /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
 Requires(pre): /usr/sbin/usermod
-# Should go to perl subpackage?
-Requires:      perl(DynaLoader) = %(%{__perl} -MDynaLoader -e 'print DynaLoader->VERSION')
-Requires:      rc-scripts
 Requires:      %{name}-libs = %{version}-%{release}
+Requires:      openssl-tools
+Requires:      rc-scripts
+Provides:      freeradius = %{version}-%{release}
 Provides:      group(radius)
 Provides:      user(radius)
-Provides:      freeradius = %{version}-%{release}
 Obsoletes:     cistron-radius
 Obsoletes:     freeradius < 2.0
 Conflicts:     logrotate < 3.7-4
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                mibdir  %{_datadir}/snmp/mibs
-%define         filterout_ld    -Wl,--as-needed
+%define                mibdir                  %{_datadir}/mibs
+%define                filterout_ld    -Wl,--as-needed
 
 %description
 The FreeRADIUS Server Project is an attempt to create a
@@ -146,6 +153,14 @@ Requires:  %{name} = %{version}-%{release}
 %description module-python
 Python module for %{name}.
 
+%package module-ruby
+Summary:       Ruby module for %{name}
+Group:         Networking/Daemons/Radius
+Requires:      %{name} = %{version}-%{release}
+
+%description module-ruby
+Ruby module for %{name}.
+
 %package module-sqlite
 Summary:       Sqlite module for %{name}
 Group:         Networking/Daemons/Radius
@@ -154,6 +169,14 @@ Requires:  %{name} = %{version}-%{release}
 %description module-sqlite
 Sqlite module for %{name}.
 
+%package module-sql_firebird
+Summary:       SQL Firebird module for %{name}
+Group:         Networking/Daemons/Radius
+Requires:      %{name} = %{version}-%{release}
+
+%description module-sql_firebird
+SQL Firebird module for %{name}.
+
 %package module-unix
 Summary:       Unix module for %{name}
 Group:         Networking/Daemons/Radius
@@ -170,28 +193,30 @@ Requires: %{name} = %{version}-%{release}
 %description module-unixodbc
 UnixODBC module for %{name}.
 
-%package mibs
-Summary:        MIB database for %{name}
-Summary(pl.UTF-8):      Baza danych MIB dla %{name}
-Group:          Applications/System
+%package -n mibs-%{name}
+Summary:       MIB database for %{name}
+Summary(pl.UTF-8):     Baza danych MIB dla %{name}
+Group:         Applications/System
+Requires:      mibs-dirs
 Suggests:      libsmi
+Obsoletes:     freeradius-server-mibs
 
-%description mibs
+%description -n mibs-%{name}
 MIB database for %{name}.
 
-%description mibs -l pl.UTF-8
+%description -n mibs-%{name} -l pl.UTF-8
 Baza danych MIB dla %{name}.
 
 %package libs
 Summary:       Freeradius libraries
-Group:          Libraries
+Group:         Libraries
 
 %description libs
 Freeradius libraries.
 
 %package devel
 Summary:       Header files and devel library
-Group:          Development/Libraries
+Group:         Development/Libraries
 Requires:      %{name}-libs = %{version}-%{release}
 
 %description devel
@@ -203,29 +228,41 @@ Header files and libraries.
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%{?with_failed_calls_acc:%patch6 -p0}
 
 %build
 # Keep it for future when ac/am regeneration will be ok
-#find -name 'configure.[ia][nc]' -type f | while read FILE; do
-#    cd $(dirname "$FILE")
-#    %{__libtoolize}
-#    %{__aclocal} -I $OLDPWD
-#    %{__autoconf}
-#    [ -f config.h.in ] && %{__autoheader}
-#    cd -
-#done
-
-LIBS="-lgdbm" \
+find -name 'configure.[ia][nc]' -type f | while read FILE; do
+       cd $(dirname "$FILE")
+       %{__libtoolize}
+       %{__aclocal} -I $OLDPWD
+       %{__autoconf}
+       [ -f config.h.in ] && %{__autoheader}
+       cd -
+done
+
 %configure \
        --enable-strict-dependencies \
        --with-experimental-modules \
        --with-logdir=%{_var}/log/freeradius \
+       --with-system-libltdl \
        --with-system-libtool \
+       --with-udpfromto \
        --without-rlm_eap_tnc \
+       --without-rlm_redis \
+       --without-rlm_rediswho \
        --without-rlm_opendirectory \
        --without-rlm_sql_db2 \
        --without-rlm_sql_iodbc \
-       --without-rlm_sql_oracle
+       --without-rlm_sql_oracle \
+       %{!?with_firebird:--without-rlm_sql_firebird} \
+       %{!?with_ldap:--without-rlm_ldap} \
+       %{!?with_eap_ikev2:--without-rlm_eap_ikev2} \
+       %{?with_kerberos5:--enable-heimdal-krb5} \
+       %{!?with_kerberos5:--without-rlm_krb5} \
+       %{!?with_ruby:--without-rlm_ruby}
 
 %{make} -j1
 
@@ -284,12 +321,32 @@ if [ "$1" = "0" ]; then
        %groupremove radius
 fi
 
-%post   libs -p /sbin/ldconfig                                                                                        
+%post   libs -p /sbin/ldconfig
 %postun libs -p /sbin/ldconfig
 
+%define module_scripts() \
+%post %1 \
+%service %{name} restart \
+\
+%postun %1 \
+%service %{name} restart
+
+%module_scripts module-krb5
+%module_scripts module-ldap
+%module_scripts module-mysql
+%module_scripts module-otp
+%module_scripts module-pam
+%module_scripts module-perl
+%module_scripts module-postgresql
+%module_scripts module-python
+%module_scripts module-ruby
+%module_scripts module-sqlite
+%module_scripts module-sql_firebird
+%module_scripts module-unix
+%module_scripts module-unixodbc
+
 %files
-%defattr(644,root,root,755)
-%doc doc/* scripts
+%defattr(640,root,radius,750)
 %dir %{_sysconfdir}/raddb
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/acct_users
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/attrs*
@@ -311,6 +368,9 @@ fi
 %dir %{_sysconfdir}/raddb/certs
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/certs/*.cnf
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/certs/xpextensions
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/certs/Makefile
+%doc %{_sysconfdir}/raddb/certs/README
+%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/certs/bootstrap
 %dir %{_sysconfdir}/raddb/modules
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/acct_unique
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/always
@@ -319,6 +379,7 @@ fi
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/chap
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/checkval
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/counter
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/cui
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/detail
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/detail.example.com
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/detail.log
@@ -342,8 +403,12 @@ fi
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/preprocess
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/radutmp
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/realm
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/replicate
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/smbpasswd
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/smsotp
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/soh
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/sql_log
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/sqlcounter_expire_on_login
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/sradutmp
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/wimax
 %dir %{_sysconfdir}/raddb/sites-available
@@ -353,6 +418,10 @@ fi
 %dir %{_sysconfdir}/raddb/sql
 %dir %{_sysconfdir}/raddb/sql/mssql
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/sql/mssql/*
+%dir %{_sysconfdir}/raddb/sql/ndb
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/sql/ndb/*
+%defattr(644,root,root,755)
+%doc doc/* scripts raddb
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/*
 %attr(754,root,root) /etc/rc.d/init.d/%{name}
 %attr(755,root,root) %{_bindir}/*
@@ -368,6 +437,8 @@ fi
 %attr(755,root,root) %{_libdir}/freeradius/rlm_attr_filter*.la
 %attr(755,root,root) %{_libdir}/freeradius/rlm_attr_rewrite*.so
 %attr(755,root,root) %{_libdir}/freeradius/rlm_attr_rewrite*.la
+%attr(755,root,root) %{_libdir}/freeradius/rlm_caching*.so
+%attr(755,root,root) %{_libdir}/freeradius/rlm_caching*.la
 %attr(755,root,root) %{_libdir}/freeradius/rlm_chap*.so
 %attr(755,root,root) %{_libdir}/freeradius/rlm_chap*.la
 %attr(755,root,root) %{_libdir}/freeradius/rlm_checkval*.so
@@ -424,16 +495,20 @@ fi
 %attr(755,root,root) %{_libdir}/freeradius/rlm_radutmp*.la
 %attr(755,root,root) %{_libdir}/freeradius/rlm_realm*.so
 %attr(755,root,root) %{_libdir}/freeradius/rlm_realm*.la
+%attr(755,root,root) %{_libdir}/freeradius/rlm_replicate*.so
+%attr(755,root,root) %{_libdir}/freeradius/rlm_replicate*.la
 %attr(755,root,root) %{_libdir}/freeradius/rlm_sim_files*.so
 %attr(755,root,root) %{_libdir}/freeradius/rlm_sim_files*.la
+%attr(755,root,root) %{_libdir}/freeradius/rlm_smsotp*.so
+%attr(755,root,root) %{_libdir}/freeradius/rlm_smsotp*.la
+%attr(755,root,root) %{_libdir}/freeradius/rlm_soh*.so
+%attr(755,root,root) %{_libdir}/freeradius/rlm_soh*.la
 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql-*.so
 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql.so
 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql-*.la
 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql.la
 %attr(755,root,root) %{_libdir}/freeradius/rlm_sqlcounter*.so
 %attr(755,root,root) %{_libdir}/freeradius/rlm_sqlcounter*.la
-%attr(755,root,root) %{_libdir}/freeradius/rlm_sql_firebird*.so
-%attr(755,root,root) %{_libdir}/freeradius/rlm_sql_firebird*.la
 %attr(755,root,root) %{_libdir}/freeradius/rlm_sqlhpwippool*.so
 %attr(755,root,root) %{_libdir}/freeradius/rlm_sqlhpwippool*.la
 %attr(755,root,root) %{_libdir}/freeradius/rlm_sqlippool*.so
@@ -450,18 +525,22 @@ fi
 %attr(771,root,radius) %dir %{_var}/log/archive/freeradius/radacct
 %attr(775,root,radius) %dir /var/run/freeradius
 
+%if %{with kerberos5}
 %files module-krb5
 %defattr(644,root,root,755)
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/krb5
 %attr(755,root,root) %{_libdir}/freeradius/rlm_krb5*.so
 %attr(755,root,root) %{_libdir}/freeradius/rlm_krb5*.la
+%endif
 
+%if %{with ldap}
 %files module-ldap
 %defattr(644,root,root,755)
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/ldap.attrmap
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/ldap
 %attr(755,root,root) %{_libdir}/freeradius/rlm_ldap*.so
 %attr(755,root,root) %{_libdir}/freeradius/rlm_ldap*.la
+%endif
 
 %files module-mysql
 %defattr(644,root,root,755)
@@ -472,7 +551,7 @@ fi
 
 %files module-otp
 %defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/otp.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/otp
 %attr(755,root,root) %{_libdir}/freeradius/rlm_otp*.so
 %attr(755,root,root) %{_libdir}/freeradius/rlm_otp*.la
 
@@ -486,6 +565,7 @@ fi
 %files module-perl
 %defattr(644,root,root,755)
 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/example.pl
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/perl
 %attr(755,root,root) %{_libdir}/freeradius/rlm_perl*.so
 %attr(755,root,root) %{_libdir}/freeradius/rlm_perl*.la
 
@@ -501,11 +581,25 @@ fi
 %attr(755,root,root) %{_libdir}/freeradius/rlm_python*.so
 %attr(755,root,root) %{_libdir}/freeradius/rlm_python*.la
 
+%if %{with ruby}
+%files module-ruby
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/freeradius/rlm_ruby*.so
+%attr(755,root,root) %{_libdir}/freeradius/rlm_ruby*.la
+%endif
+
 %files module-sqlite
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_sqlite*.so
 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_sqlite*.la
 
+%if %{with firebird}
+%files module-sql_firebird
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/freeradius/rlm_sql_firebird*.so
+%attr(755,root,root) %{_libdir}/freeradius/rlm_sql_firebird*.la
+%endif
+
 %files module-unix
 %defattr(644,root,root,755)
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/unix
@@ -519,8 +613,8 @@ fi
 
 %files libs
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libfreeradius-eap-?.?.?.so
-%attr(755,root,root) %{_libdir}/libfreeradius-radius-?.?.?.so
+%attr(755,root,root) %{_libdir}/libfreeradius-eap-?.?.??.so
+%attr(755,root,root) %{_libdir}/libfreeradius-radius-?.?.??.so
 %dir %{_libdir}/freeradius
 
 %files devel
@@ -529,7 +623,7 @@ fi
 %{_libdir}/libfreeradius-eap.so
 %{_libdir}/libfreeradius-radius.so
 
-%files mibs
+%files -n mibs-%{name}
 %defattr(644,root,root,755)
 %doc mibs/*.chart
 %{mibdir}/*.*
This page took 1.012098 seconds and 4 git commands to generate.