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: openldap2-devel
37 BuildRequires: openssl-devel
38 BuildRequires: pam-devel
39 BuildRequires: libpcap
41 BuildRequires: postgresql-devel
42 BuildRequires: python-devel
44 BuildRequires: unixODBC-devel
45 BuildRequires: zlib-devel
47 %if %{?fedora_version:1}0
48 BuildRequires: cyrus-sasl-devel
49 BuildRequires: httpd-devel
50 BuildRequires: libtool-ltdl-devel
51 BuildRequires: perl-devel
52 BuildRequires: syslog-ng
53 BuildRequires: mysql-devel
56 %if %{?mandriva_version:1}0
57 BuildRequires: apache2-devel
58 BuildRequires: libtool-devel
59 BuildRequires: mysql-devel
62 %if %{?suse_version:1}0
63 BuildRequires: apache2-devel
64 BuildRequires: cyrus-sasl-devel
65 %if 0%{?suse_version} > 910
66 BuildRequires: bind-libs
67 BuildRequires: krb5-devel
69 %if 0%{?suse_version} > 930
70 BuildRequires: libcom_err
72 %if 0%{?suse_version} > 1000
73 BuildRequires: libapr1-devel
75 %if 0%{?suse_version} > 1020
76 BuildRequires: libmysqlclient-devel
78 BuildRequires: mysql-devel
83 The FreeRADIUS server has a number of features found in other servers,
84 and additional features not found in any other server. Rather than
85 doing a feature by feature comparison, we will simply list the features
86 of the server, and let you decide if they satisfy your needs.
88 Support for RFC and VSA Attributes Additional server configuration
89 attributes Selecting a particular configuration Authentication methods
92 %if %_oracle_support == 1
94 BuildRequires: oracle-instantclient-basic oracle-instantclient-devel
95 Group: Productivity/Networking/Radius/Servers
96 Summary: FreeRADIUS Oracle database support
97 Requires: oracle-instantclient-basic
98 Requires: %{name}-libs = %{version}
99 Requires: %{name} = %{version}
103 The FreeRADIUS server has a number of features found in other servers,
104 and additional features not found in any other server. Rather than
105 doing a feature by feature comparison, we will simply list the features
106 of the server, and let you decide if they satisfy your needs.
108 Support for RFC and VSA Attributes Additional server configuration
109 attributes Selecting a particular configuration Authentication methods
113 Group: Productivity/Networking/Radius/Servers
114 Summary: FreeRADIUS share library
117 The FreeRADIUS shared library
120 Group: Productivity/Networking/Radius/Clients
121 Summary: FreeRADIUS Clients
122 Requires: %{name}-libs = %{version}
125 The FreeRADIUS server has a number of features found in other servers,
126 and additional features not found in any other server. Rather than
127 doing a feature by feature comparison, we will simply list the features
128 of the server, and let you decide if they satisfy your needs.
130 Support for RFC and VSA Attributes Additional server configuration
131 attributes Selecting a particular configuration Authentication methods
134 Group: Productivity/Networking/Radius/Servers
135 Summary: Web management for FreeRADIUS
136 Requires: http_daemon
137 Requires: perl-DateManip
138 %if 0%{?suse_version} > 1000
139 Requires: apache2-mod_php5
145 Requires: apache2-mod_php4
150 Requires: php4-session
154 %description dialupadmin
155 Dialup Admin supports users either in SQL (MySQL or PostgreSQL are
156 supported) or in LDAP. Apart from the web pages, it also includes a
157 number of scripts to make the administrator's life a lot easier.
161 Group: Development/Libraries/C and C++
162 Summary: FreeRADIUS Development Files (static libs)
164 Requires: %{name}-libs = %{version}
167 These are the static libraries for the FreeRADIUS package.
170 %if %{?suse_version:1}0
177 rm -rf `find . -name CVS`
180 export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -DLDAP_DEPRECATED -fPIC -DPIC"
181 #export CFLAGS="$CFLAGS -std=c99 -pedantic"
184 --libdir=%{_libdir}/freeradius \
185 --disable-ltdl-install \
188 --with-experimental-modules \
189 --with-system-libtool \
191 --without-rlm_eap_ikev2 \
192 --without-rlm_opendirectory \
193 %if %{?fedora_version:1}0
194 --with-rlm-krb5-include-dir=/usr/kerberos/include \
195 --with-rlm-krb5-lib-dir=/usr/kerberos/lib \
197 %if %{?mandriva_version:1}0
202 %if %{?suse_version:1}0
203 %if 0%{?suse_version} <= 920
204 --without-rlm_sql_mysql \
208 %if %_oracle_support == 1
209 --with-rlm_sql_oracle \
210 --with-oracle-lib-dir=%{_libdir}/oracle/10.1.0.3/client/lib/
212 --without-rlm_sql_oracle
215 # no parallel build possible
219 rm -rf $RPM_BUILD_ROOT
220 mkdir -p $RPM_BUILD_ROOT
221 mkdir -p $RPM_BUILD_ROOT/var/lib/radiusd
222 make install R=$RPM_BUILD_ROOT
223 # modify default configuration
224 RADDB=$RPM_BUILD_ROOT%{_sysconfdir}/raddb
225 perl -i -pe 's/^#user =.*$/user = radiusd/' $RADDB/radiusd.conf
226 perl -i -pe 's/^#group =.*$/group = radiusd/' $RADDB/radiusd.conf
227 perl -i -pe 's/^#user =.*$/user = radiusd/' $RADDB/radrelay.conf
228 perl -i -pe 's/^#group =.*$/group = radiusd/' $RADDB/radrelay.conf
229 #ldconfig -n $RPM_BUILD_ROOT/usr/lib/freeradius
231 touch $RPM_BUILD_ROOT/var/log/radius/radutmp
232 touch $RPM_BUILD_ROOT/var/log/radius/radius.log
234 install -d $RPM_BUILD_ROOT/etc/pam.d
235 install -d $RPM_BUILD_ROOT/etc/logrotate.d
236 %if 0%{?suse_version} > 920
237 install -m 644 suse/radiusd-pam $RPM_BUILD_ROOT/etc/pam.d/radiusd
239 install -m 644 suse/radiusd-pam-old $RPM_BUILD_ROOT/etc/pam.d/radiusd
241 install -m 644 suse/radiusd-logrotate $RPM_BUILD_ROOT/etc/logrotate.d/radiusd
242 install -d -m 755 $RPM_BUILD_ROOT/etc/init.d
243 install -m 744 suse/rcradiusd $RPM_BUILD_ROOT/etc/init.d/freeradius
244 ln -sf ../../etc/init.d/freeradius $RPM_BUILD_ROOT/usr/sbin/rcfreeradius
245 cp $RPM_BUILD_ROOT/usr/sbin/radiusd $RPM_BUILD_ROOT/usr/sbin/radrelay
246 install -m 744 suse/rcradius-relayd $RPM_BUILD_ROOT/etc/init.d/freeradius-relay
247 ln -sf ../../etc/init.d/freeradius-relay $RPM_BUILD_ROOT/usr/sbin/rcfreeradius-relay
248 mv -v doc/README doc/README.doc
249 # install dialup_admin
250 DIALUPADMIN=$RPM_BUILD_ROOT%{_datadir}/dialup_admin
251 mkdir -p $DIALUPADMIN
252 cp -r dialup_admin/* $RPM_BUILD_ROOT%{_datadir}/dialup_admin
253 perl -i -pe 's/^#general_base_dir\:.*$/general_base_dir\: \/usr\/share\/freeradius-dialupadmin/' $DIALUPADMIN/conf/admin.conf
254 perl -i -pe 's/^#general_radiusd_base_dir\:.*$/general_radiusd_base_dir\: \//' $DIALUPADMIN/conf/admin.conf
255 perl -i -pe 's/^#general_snmpwalk_command\:.*$/general_snmpwalk_command\: \/usr\/bin\/snmpwalk/' $DIALUPADMIN/conf/admin.conf
256 perl -i -pe 's/^#general_snmpget_command\:.*$/general_snmpget_command\: \/usr\/bin\/snmpget/' $DIALUPADMIN/conf/admin.conf
258 install -d -m 755 $RPM_BUILD_ROOT%{apache2_sysconfdir}/conf.d
259 install -m 644 suse/admin-httpd.conf $RPM_BUILD_ROOT%{apache2_sysconfdir}/conf.d/radius.conf
260 # remove unneeded stuff
262 rm -f $RPM_BUILD_ROOT/usr/sbin/rc.radiusd
263 rm -rf $RPM_BUILD_ROOT/usr/share/doc/freeradius*
264 rm -rf $RPM_BUILD_ROOT/%{_libdir}/freeradius/*.la
267 /usr/sbin/groupadd -r radiusd 2> /dev/null || :
268 /usr/sbin/useradd -r -g radiusd -s /bin/false -c "Radius daemon" -d \
269 /var/lib/radiusd radiusd 2> /dev/null || :
273 # Modify old installs to look for /usr/lib64/freeradius
274 /usr/bin/perl -i -pe "s:/usr/lib/freeradius:/usr/lib64/freeradius:" /etc/raddb/radiusd.conf
277 # Generate default certificates
278 /etc/raddb/certs/bootstrap
280 %{fillup_and_insserv -s freeradius START_RADIUSD }
281 %if 0%{?suse_version} > 820
284 %stop_on_removal freeradius
288 %if 0%{?suse_version} > 820
289 %restart_on_update freeradius
294 rm -rf $RPM_BUILD_ROOT
297 %defattr(-,root,root)
299 %doc suse/README.SuSE
300 %doc doc/* LICENSE COPYRIGHT CREDITS README
303 /etc/init.d/freeradius
304 /etc/init.d/freeradius-relay
305 %config /etc/pam.d/radiusd
306 %config /etc/logrotate.d/radiusd
307 /usr/sbin/rcfreeradius
308 /usr/sbin/rcfreeradius-relay
309 %dir %attr(755,radiusd,radiusd) /var/lib/radiusd
311 %dir %attr(750,-,radiusd) /etc/raddb
312 %defattr(-,root,radiusd)
313 %config(noreplace) /etc/raddb/dictionary
314 %config(noreplace) /etc/raddb/acct_users
315 %config(noreplace) /etc/raddb/attrs
316 %config(noreplace) /etc/raddb/attrs.access_reject
317 %config(noreplace) /etc/raddb/attrs.access_challenge
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/sql.conf
329 %dir %attr(640,-,radiusd) /etc/raddb/sql
330 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/sql/*/*.conf
331 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/sql/*/*.sql
332 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/sql/oracle/msqlippool.txt
333 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/users
334 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/experimental.conf
335 %dir %attr(750,-,radiusd) /etc/raddb/certs
336 /etc/raddb/certs/Makefile
337 /etc/raddb/certs/README
338 /etc/raddb/certs/xpextensions
339 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/certs/*.cnf
340 %attr(750,-,radiusd) /etc/raddb/certs/bootstrap
341 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/sites-available/*
342 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/modules/*
343 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/sites-enabled/*
344 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/eap.conf
345 %attr(640,-,radiusd) /etc/raddb/example.pl
346 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/policy.conf
347 /etc/raddb/policy.txt
348 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/templates.conf
349 %attr(700,radiusd,radiusd) %dir /var/run/radiusd/
351 %defattr(-,root,root)
354 %doc %{_mandir}/man1/*
355 %doc %{_mandir}/man5/*
356 %doc %{_mandir}/man8/*
358 %attr(755,root,root) %dir /usr/share/freeradius
359 /usr/share/freeradius/*
361 %attr(700,radiusd,radiusd) %dir /var/log/radius/
362 %attr(700,radiusd,radiusd) %dir /var/log/radius/radacct/
363 %attr(644,radiusd,radiusd) /var/log/radius/radutmp
364 %config(noreplace) %attr(600,radiusd,radiusd) /var/log/radius/radius.log
365 # RADIUS Loadable Modules
366 %attr(755,root,root) %dir %{_libdir}/freeradius
367 %attr(755,root,root) %{_libdir}/freeradius/rlm_*.so*
374 %attr(755,root,root) %dir %{_libdir}/freeradius
375 %attr(755,root,root) %{_libdir}/freeradius/lib*.so*
377 %if %_oracle_support == 1
379 %defattr(-,root,root)
380 %attr(755,root,root) %dir %{_libdir}/freeradius
381 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_oracle*.so*
385 %defattr(-,root,root)
386 %dir %{_datadir}/dialup_admin/
387 %{_datadir}/dialup_admin/Makefile
388 %{_datadir}/dialup_admin/bin/
389 %{_datadir}/dialup_admin/doc/
390 %{_datadir}/dialup_admin/htdocs/
391 %{_datadir}/dialup_admin/html/
392 %{_datadir}/dialup_admin/lib/
393 %{_datadir}/dialup_admin/sql/
394 %dir %{_datadir}/dialup_admin/conf/
395 %config(noreplace) %{_datadir}/dialup_admin/conf/*
396 %config(noreplace) %{apache2_sysconfdir}/conf.d/radius.conf
397 %{_datadir}/dialup_admin/Changelog
398 %{_datadir}/dialup_admin/README
401 %defattr(-,root,root)
402 %attr(644,root,root) %{_libdir}/freeradius/*.a
403 #%attr(644,root,root) %{_libdir}/freeradius/*.la
404 %attr(644,root,root) /usr/include/freeradius/*.h