1 Name: freeradius-server
3 Group: Productivity/Networking/Radius/Servers
8 URL: http://www.freeradius.org/
9 Summary: The world's most popular RADIUS Server
10 Source0: %{name}-%{version}.tar.bz2
12 PreReq: /usr/sbin/useradd /usr/sbin/groupadd
14 %if %{?suse_version:1}0
15 PreReq: %insserv_prereq %fillup_prereq
18 BuildRoot: %{_tmppath}/%{name}-%{version}-build
20 %define _oracle_support 0
22 %define apxs2 apxs2-prefork
23 %define apache2_sysconfdir %(%{apxs2} -q SYSCONFDIR)
24 Requires: %{name}-libs = %{version}
28 BuildRequires: db-devel
29 BuildRequires: e2fsprogs-devel
30 BuildRequires: gcc-c++
31 BuildRequires: gdbm-devel
32 BuildRequires: gettext-devel
33 BuildRequires: glibc-devel
34 BuildRequires: libtool
35 BuildRequires: ncurses-devel
36 BuildRequires: net-snmp-devel
37 BuildRequires: openldap2-devel
38 BuildRequires: openssl-devel
39 BuildRequires: pam-devel
40 BuildRequires: libpcap
42 BuildRequires: postgresql-devel
43 BuildRequires: python-devel
45 BuildRequires: unixODBC-devel
46 BuildRequires: zlib-devel
48 %if %{?fedora_version:1}0
49 BuildRequires: cyrus-sasl-devel
50 BuildRequires: httpd-devel
51 BuildRequires: libtool-ltdl-devel
52 BuildRequires: perl-devel
53 BuildRequires: syslog-ng
54 BuildRequires: mysql-devel
57 %if %{?mandriva_version:1}0
58 BuildRequires: apache2-devel
59 BuildRequires: libtool-devel
60 BuildRequires: mysql-devel
63 %if %{?suse_version:1}0
64 BuildRequires: apache2-devel
65 BuildRequires: cyrus-sasl-devel
66 %if 0%{?suse_version} > 910
67 BuildRequires: bind-libs
68 BuildRequires: krb5-devel
70 %if 0%{?suse_version} > 930
71 BuildRequires: libcom_err
73 %if 0%{?suse_version} > 1000
74 BuildRequires: libapr1-devel
76 %if 0%{?suse_version} > 1020
77 BuildRequires: libmysqlclient-devel
79 BuildRequires: mysql-devel
84 The FreeRADIUS server has a number of features found in other servers,
85 and additional features not found in any other server. Rather than
86 doing a feature by feature comparison, we will simply list the features
87 of the server, and let you decide if they satisfy your needs.
89 Support for RFC and VSA Attributes Additional server configuration
90 attributes Selecting a particular configuration Authentication methods
93 %if %_oracle_support == 1
95 BuildRequires: oracle-instantclient-basic oracle-instantclient-devel
96 Group: Productivity/Networking/Radius/Servers
97 Summary: FreeRADIUS Oracle database support
98 Requires: oracle-instantclient-basic
99 Requires: %{name}-libs = %{version}
100 Requires: %{name} = %{version}
104 The FreeRADIUS server has a number of features found in other servers,
105 and additional features not found in any other server. Rather than
106 doing a feature by feature comparison, we will simply list the features
107 of the server, and let you decide if they satisfy your needs.
109 Support for RFC and VSA Attributes Additional server configuration
110 attributes Selecting a particular configuration Authentication methods
114 Group: Productivity/Networking/Radius/Servers
115 Summary: FreeRADIUS share library
118 The FreeRADIUS shared library
121 Group: Productivity/Networking/Radius/Clients
122 Summary: FreeRADIUS Clients
123 Requires: %{name}-libs = %{version}
126 The FreeRADIUS server has a number of features found in other servers,
127 and additional features not found in any other server. Rather than
128 doing a feature by feature comparison, we will simply list the features
129 of the server, and let you decide if they satisfy your needs.
131 Support for RFC and VSA Attributes Additional server configuration
132 attributes Selecting a particular configuration Authentication methods
135 Group: Productivity/Networking/Radius/Servers
136 Summary: Web management for FreeRADIUS
137 Requires: http_daemon
138 Requires: perl-DateManip
139 %if 0%{?suse_version} > 1000
140 Requires: apache2-mod_php5
146 Requires: apache2-mod_php4
151 Requires: php4-session
155 %description dialupadmin
156 Dialup Admin supports users either in SQL (MySQL or PostgreSQL are
157 supported) or in LDAP. Apart from the web pages, it also includes a
158 number of scripts to make the administrator's life a lot easier.
162 Group: Development/Libraries/C and C++
163 Summary: FreeRADIUS Development Files (static libs)
165 Requires: %{name}-libs = %{version}
168 These are the static libraries for the FreeRADIUS package.
171 %if %{?suse_version:1}0
178 rm -rf `find . -name CVS`
181 export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -DLDAP_DEPRECATED -fPIC -DPIC"
182 #export CFLAGS="$CFLAGS -std=c99 -pedantic"
186 --libdir=%{_libdir}/freeradius \
187 --disable-ltdl-install \
190 --with-experimental-modules \
191 --with-system-libtool \
192 --without-rlm_eap_ikev2 \
193 --without-rlm_opendirectory \
194 %if %{?fedora_version:1}0
195 --with-rlm-krb5-include-dir=/usr/kerberos/include \
196 --with-rlm-krb5-lib-dir=/usr/kerberos/lib \
198 %if %{?mandriva_version:1}0
203 %if %{?suse_version:1}0
204 %if 0%{?suse_version} <= 920
205 --without-rlm_sql_mysql \
209 %if %_oracle_support == 1
210 --with-rlm_sql_oracle \
211 --with-oracle-lib-dir=%{_libdir}/oracle/10.1.0.3/client/lib/
213 --without-rlm_sql_oracle
216 # no parallel build possible
220 rm -rf $RPM_BUILD_ROOT
221 mkdir -p $RPM_BUILD_ROOT
222 mkdir -p $RPM_BUILD_ROOT/var/lib/radiusd
223 make install R=$RPM_BUILD_ROOT
224 # modify default configuration
225 RADDB=$RPM_BUILD_ROOT%{_sysconfdir}/raddb
226 perl -i -pe 's/^#user =.*$/user = radiusd/' $RADDB/radiusd.conf
227 perl -i -pe 's/^#group =.*$/group = radiusd/' $RADDB/radiusd.conf
228 perl -i -pe 's/^#user =.*$/user = radiusd/' $RADDB/radrelay.conf
229 perl -i -pe 's/^#group =.*$/group = radiusd/' $RADDB/radrelay.conf
230 #ldconfig -n $RPM_BUILD_ROOT/usr/lib/freeradius
232 touch $RPM_BUILD_ROOT/var/log/radius/radutmp
233 touch $RPM_BUILD_ROOT/var/log/radius/radius.log
235 install -d $RPM_BUILD_ROOT/etc/pam.d
236 install -d $RPM_BUILD_ROOT/etc/logrotate.d
237 %if 0%{?suse_version} > 920
238 install -m 644 suse/radiusd-pam $RPM_BUILD_ROOT/etc/pam.d/radiusd
240 install -m 644 suse/radiusd-pam-old $RPM_BUILD_ROOT/etc/pam.d/radiusd
242 install -m 644 suse/radiusd-logrotate $RPM_BUILD_ROOT/etc/logrotate.d/radiusd
243 install -d -m 755 $RPM_BUILD_ROOT/etc/init.d
244 install -m 744 suse/rcradiusd $RPM_BUILD_ROOT/etc/init.d/freeradius
245 ln -sf ../../etc/init.d/freeradius $RPM_BUILD_ROOT/usr/sbin/rcfreeradius
246 cp $RPM_BUILD_ROOT/usr/sbin/radiusd $RPM_BUILD_ROOT/usr/sbin/radrelay
247 install -m 744 suse/rcradius-relayd $RPM_BUILD_ROOT/etc/init.d/freeradius-relay
248 ln -sf ../../etc/init.d/freeradius-relay $RPM_BUILD_ROOT/usr/sbin/rcfreeradius-relay
249 mv -v doc/README doc/README.doc
250 # install dialup_admin
251 DIALUPADMIN=$RPM_BUILD_ROOT%{_datadir}/dialup_admin
252 mkdir -p $DIALUPADMIN
253 cp -r dialup_admin/* $RPM_BUILD_ROOT%{_datadir}/dialup_admin
254 perl -i -pe 's/^#general_base_dir\:.*$/general_base_dir\: \/usr\/share\/freeradius-dialupadmin/' $DIALUPADMIN/conf/admin.conf
255 perl -i -pe 's/^#general_radiusd_base_dir\:.*$/general_radiusd_base_dir\: \//' $DIALUPADMIN/conf/admin.conf
256 perl -i -pe 's/^#general_snmpwalk_command\:.*$/general_snmpwalk_command\: \/usr\/bin\/snmpwalk/' $DIALUPADMIN/conf/admin.conf
257 perl -i -pe 's/^#general_snmpget_command\:.*$/general_snmpget_command\: \/usr\/bin\/snmpget/' $DIALUPADMIN/conf/admin.conf
259 install -d -m 755 $RPM_BUILD_ROOT%{apache2_sysconfdir}/conf.d
260 install -m 644 suse/admin-httpd.conf $RPM_BUILD_ROOT%{apache2_sysconfdir}/conf.d/radius.conf
261 # remove unneeded stuff
263 rm -f $RPM_BUILD_ROOT/usr/sbin/rc.radiusd
264 rm -rf $RPM_BUILD_ROOT/usr/share/doc/freeradius*
265 rm -rf $RPM_BUILD_ROOT/%{_libdir}/freeradius/*.la
268 /usr/sbin/groupadd -r radiusd 2> /dev/null || :
269 /usr/sbin/useradd -r -g radiusd -s /bin/false -c "Radius daemon" -d \
270 /var/lib/radiusd radiusd 2> /dev/null || :
274 # Modify old installs to look for /usr/lib64/freeradius
275 /usr/bin/perl -i -pe "s:/usr/lib/freeradius:/usr/lib64/freeradius:" /etc/raddb/radiusd.conf
278 # Generate default certificates
279 /etc/raddb/certs/bootstrap
281 %{fillup_and_insserv -s freeradius START_RADIUSD }
282 %if 0%{?suse_version} > 820
285 %stop_on_removal freeradius
289 %if 0%{?suse_version} > 820
290 %restart_on_update freeradius
295 rm -rf $RPM_BUILD_ROOT
298 %defattr(-,root,root)
300 %doc suse/README.SuSE
301 %doc doc/* LICENSE COPYRIGHT CREDITS README
304 /etc/init.d/freeradius
305 /etc/init.d/freeradius-relay
306 %config /etc/pam.d/radiusd
307 %config /etc/logrotate.d/radiusd
308 /usr/sbin/rcfreeradius
309 /usr/sbin/rcfreeradius-relay
310 %dir %attr(755,radiusd,radiusd) /var/lib/radiusd
312 %dir %attr(750,-,radiusd) /etc/raddb
313 %defattr(-,root,radiusd)
314 %config(noreplace) /etc/raddb/dictionary
315 %config(noreplace) /etc/raddb/acct_users
316 %config(noreplace) /etc/raddb/attrs
317 %config(noreplace) /etc/raddb/attrs.access_reject
318 %config(noreplace) /etc/raddb/attrs.accounting_response
319 %config(noreplace) /etc/raddb/attrs.pre-proxy
320 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/clients.conf
321 %config(noreplace) /etc/raddb/hints
322 %config(noreplace) /etc/raddb/huntgroups
323 %config(noreplace) /etc/raddb/ldap.attrmap
324 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/sqlippool.conf
325 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/preproxy_users
326 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/proxy.conf
327 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/radiusd.conf
328 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/snmp.conf
329 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/sql.conf
330 %dir %attr(640,-,radiusd) /etc/raddb/sql
331 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/sql/*/*.conf
332 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/sql/*/*.sql
333 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/users
334 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/experimental.conf
335 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/otp.conf
336 %dir %attr(750,-,radiusd) /etc/raddb/certs
337 /etc/raddb/certs/Makefile
338 /etc/raddb/certs/README
339 /etc/raddb/certs/xpextensions
340 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/certs/*.cnf
341 %attr(750,-,radiusd) /etc/raddb/certs/bootstrap
342 %attr(750,-,radiusd) %config /etc/raddb/sites-available/example
343 %attr(640,-,radiusd) /etc/raddb/sites-available/*
344 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/sites-enabled/*
345 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/eap.conf
346 %attr(640,-,radiusd) /etc/raddb/example.pl
347 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/policy.conf
348 /etc/raddb/policy.txt
349 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/templates.conf
350 %attr(700,radiusd,radiusd) %dir /var/run/radiusd/
352 %defattr(-,root,root)
353 /usr/sbin/check-radiusd-config
359 %doc %{_mandir}/man1/*
360 %doc %{_mandir}/man5/*
361 %doc %{_mandir}/man8/*
363 %attr(755,root,root) %dir /usr/share/freeradius
364 /usr/share/freeradius/*
366 %attr(700,radiusd,radiusd) %dir /var/log/radius/
367 %attr(700,radiusd,radiusd) %dir /var/log/radius/radacct/
368 %attr(644,radiusd,radiusd) /var/log/radius/radutmp
369 %config(noreplace) %attr(600,radiusd,radiusd) /var/log/radius/radius.log
370 # RADIUS Loadable Modules
371 %attr(755,root,root) %dir %{_libdir}/freeradius
372 %attr(755,root,root) %{_libdir}/freeradius/rlm_*.so*
379 %attr(755,root,root) %dir %{_libdir}/freeradius
380 %attr(755,root,root) %{_libdir}/freeradius/lib*.so*
382 %if %_oracle_support == 1
384 %defattr(-,root,root)
385 %attr(755,root,root) %dir %{_libdir}/freeradius
386 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_oracle*.so*
390 %defattr(-,root,root)
391 %dir %{_datadir}/dialup_admin/
392 %{_datadir}/dialup_admin/Makefile
393 %{_datadir}/dialup_admin/bin/
394 %{_datadir}/dialup_admin/doc/
395 %{_datadir}/dialup_admin/htdocs/
396 %{_datadir}/dialup_admin/html/
397 %{_datadir}/dialup_admin/lib/
398 %{_datadir}/dialup_admin/sql/
399 %dir %{_datadir}/dialup_admin/conf/
400 %config(noreplace) %{_datadir}/dialup_admin/conf/*
401 %config(noreplace) %{apache2_sysconfdir}/conf.d/radius.conf
402 %{_datadir}/dialup_admin/Changelog
403 %{_datadir}/dialup_admin/README
406 %defattr(-,root,root)
407 %attr(644,root,root) %{_libdir}/freeradius/*.a
408 #%attr(644,root,root) %{_libdir}/freeradius/*.la
409 %attr(644,root,root) /usr/include/freeradius/*.h