3 # - SECURITY: http://securitytracker.com/alerts/2004/Sep/1011364.html
5 %include /usr/lib/rpm/macros.perl
6 # FIXME: won't be good to include these contrib examples?
7 # Source1: http://www.ping.de/~fdc/radius/radacct-replay
8 # Source2: http://www.ping.de/~fdc/radius/radlast-0.03
9 # Source3: ftp://ftp.freeradius.org/pub/radius/contrib/radwho.cgi
10 Summary: High-performance and highly configurable RADIUS server
11 Summary(pl): Szybki i wysoce konfigurowalny serwer RADIUS
16 Group: Networking/Daemons
17 Source0: ftp://ftp.freeradius.org/pub/radius/%{name}-%{version}.tar.gz
18 # Source0-md5: 36f33d9dd305a2c9f1089c30a9fff0b8
19 Source1: %{name}.logrotate
22 Patch0: %{name}-ac.patch
23 Patch1: %{name}-rlm_smb-overflow.patch
24 Patch2: %{name}-netsnmp.patch
25 URL: http://www.freeradius.org/
26 BuildRequires: autoconf
27 BuildRequires: automake
28 BuildRequires: cyrus-sasl-devel
29 BuildRequires: gdbm-devel
30 BuildRequires: libltdl-devel
31 BuildRequires: libtool
32 BuildRequires: mysql-devel
33 BuildRequires: openldap-devel
34 BuildRequires: openssl-devel >= 0.9.7d
35 BuildRequires: pam-devel
36 BuildRequires: perl-devel
37 BuildRequires: postgresql-backend-devel
38 BuildRequires: postgresql-devel
39 BuildRequires: python-devel
40 BuildRequires: net-snmp-devel
41 BuildRequires: unixODBC-devel
42 BuildRequires: rpm-perlprov
43 BuildRequires: rpm-pythonprov
45 Requires(post,preun): /sbin/chkconfig
47 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48 Obsoletes: cistron-radius
50 %define _localstatedir %{_var}/lib/freeradius
53 The FreeRADIUS Server Project is an attempt to create a
54 high-performance and highly configurable GPL'd RADIUS server. It is
55 generally similar to the Livingston 2.0 RADIUS server, but has a lot
56 more features, and is much more configurable.
59 Projekt FreeRadius ma na celu stworzenie szybkiego i wysoce
60 konfigurowalnego serwera RADIUS na licencji GPL. Ten jest podobny do
61 Livingston 2.0 RADIUS server ale ma o wiele wiêcej ficzersów i jest
62 bardziej podatny na konfiguracjê.
68 tail -n +3614 aclocal.m4 > acinclude.m4
73 for d in rlm_attr_rewrite rlm_checkval rlm_counter rlm_dbm \
74 rlm_eap/types/rlm_eap_{md5,tls} rlm_eap rlm_example \
75 rlm_ippool rlm_krb5 rlm_ldap rlm_pam rlm_perl rlm_python \
77 rlm_sql/drivers/rlm_sql_{db2,iodbc,mysql,oracle,postgresql,unixodbc} \
78 rlm_sql rlm_sqlcounter \
79 rlm_unix rlm_x99_token ; do
81 %{__aclocal} -I ${maindir}
83 if [ -f config.h.in ]; then
88 #touch src/modules/rlm_eap/types/rlm_eap_tls/config.h
94 SNMPGET="/usr/bin/snmpget" \
95 SNMPWALK="/usr/bin/snmpwalk" \
96 --enable-strict-dependencies \
97 --with-logdir=%{_var}/log/freeradius \
98 --with-experimental-modules \
102 --with-ltdl-include=%{_includedir}/none \
103 --with-ltdl-lib=%{_libdir} \
104 --disable-ltdl-install \
110 rm -rf $RPM_BUILD_ROOT
111 install -d $RPM_BUILD_ROOT%{_sysconfdir}/raddb \
112 $RPM_BUILD_ROOT/etc/{logrotate.d,pam.d,rc.d/init.d} \
113 $RPM_BUILD_ROOT%{_var}/log/radius
118 rm -f $RPM_BUILD_ROOT{%{_mandir}/man8/builddbm.8,%{_sbindir}/rc.radiusd}
119 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/raddb/{clients,*.pl}
121 install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
122 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
123 install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/radius
125 # remove useless static modules and library
126 # rlm*.la are used (lt_dlopen)
127 rm -f $RPM_BUILD_ROOT%{_libdir}/{*.a,libradius.la}
130 rm -rf $RPM_BUILD_ROOT
133 if [ -n "`id -u radius 2>/dev/null`" ]; then
134 if [ "`id -u radius`" != "29" ]; then
135 echo "Error: user radius doesn't have uid=29. Correct this before installing radius server." 1>&2
139 /usr/sbin/useradd -u 29 -d %{_localstatedir} -s /bin/false -M -r -c "%{name}" -g nobody radius 1>&2
143 /sbin/chkconfig --add %{name}
144 if [ -f /var/lock/subsys/%{name} ]; then
145 /etc/rc.d/init.d/%{name} restart 1>&2
147 echo "Run \"/etc/rc.d/init.d/%{name} start\" to start %{name} daemon."
151 if [ "$1" = "0" ]; then
152 if [ -f /var/lock/subsys/%{name} ]; then
153 /etc/rc.d/init.d/%{name} stop 1>&2
155 /sbin/chkconfig --del %{name}
159 if [ "$1" = "0" ]; then
160 /usr/sbin/userdel %{name}
164 %defattr(644,root,root,755)
166 %doc src/modules/rlm_sql/drivers/*/*.sql
167 %attr(755,root,root) %{_bindir}/*
168 %attr(755,root,root) %{_sbindir}/*
169 %attr(755,root,root) %{_libdir}/*.so
171 %{_datadir}/freeradius
173 %dir %{_sysconfdir}/raddb
174 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/raddb/*
176 %dir %{_var}/log/%{name}
177 %dir %{_var}/log/%{name}/radacct
179 %attr(754,root,root) /etc/rc.d/init.d/%{name}
180 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/*
181 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/*