1 Name: freeradius-server
4 License: GPLv2 ; LGPLv2.1
5 Group: Productivity/Networking/Radius/Servers
7 Provides: freeradius = %{version}
8 Obsoletes: freeradius < %{version}
9 Conflicts: radiusd-livingston radiusd-cistron icradius
10 Url: http://www.freeradius.org/
11 Summary: Very Highly Configurable Radius Server
12 Source: ftp://ftp.freeradius.org/pub/freeradius/%{name}-%{version}.tar.bz2
13 Source90: %{name}-rpmlintrc
14 Source104: %{name}-tmpfiles.conf
15 PreReq: %{_sbindir}/useradd %{_sbindir}/groupadd
17 PreReq: %insserv_prereq %fillup_prereq
18 BuildRoot: %{_tmppath}/%{name}-%{version}-build
19 %define _oracle_support 0
20 Requires: %{name}-libs = %{version}
23 BuildRequires: db-devel
24 BuildRequires: gcc-c++
25 BuildRequires: gdbm-devel
26 BuildRequires: glibc-devel
27 BuildRequires: libtalloc-devel
28 BuildRequires: openldap2-devel
29 BuildRequires: openssl
30 BuildRequires: openssl-devel
31 BuildRequires: pam-devel
33 BuildRequires: postgresql-devel
34 BuildRequires: python-devel
36 BuildRequires: unixODBC-devel
39 %if 0%{?suse_version} > 910
40 BuildRequires: krb5-devel
42 %if 0%{?suse_version} > 930
43 BuildRequires: libcom_err
45 %if 0%{?suse_version} > 1000
46 BuildRequires: libapr1-devel
48 %if 0%{?suse_version} > 1020
49 BuildRequires: libmysqlclient-devel
51 %if 0%{?suse_version} > 1100
52 BuildRequires: libpcap-devel
53 BuildRequires: sqlite3-devel
58 The FreeRADIUS server has a number of features found in other servers,
59 and additional features not found in any other server. Rather than
60 doing a feature by feature comparison, we will simply list the features
61 of the server, and let you decide if they satisfy your needs.
63 Support for RFC and VSA Attributes Additional server configuration
64 attributes Selecting a particular configuration Authentication methods
69 See http://wiki.freeradius.org/project/Acknowledgements
72 License: GPLv2 ; LGPLv2.1
73 Group: Productivity/Networking/Radius/Servers
74 Summary: FreeRADIUS shared library
77 The FreeRADIUS shared library
81 See http://wiki.freeradius.org/project/Acknowledgements
84 License: GPLv2 ; LGPLv2.1
85 Group: Productivity/Networking/Radius/Clients
86 Summary: FreeRADIUS Clients
87 Requires: %{name}-libs = %{version}
90 The FreeRADIUS server has a number of features found in other servers
91 and additional features not found in any other server. Rather than
92 doing a feature by feature comparison, we will simply list the features
93 of the server, and let you decide if they satisfy your needs.
95 Support for RFC and VSA Attributes Additional server configuration
96 attributes Selecting a particular configuration Authentication methods
99 License: GPLv2 ; LGPLv2.1
100 Group: Development/Libraries/C and C++
101 Summary: FreeRADIUS Development Files (static libs)
102 Requires: %{name}-libs = %{version}
105 These are the static libraries for the FreeRADIUS package.
109 See http://wiki.freeradius.org/project/Acknowledgements
112 License: GPLv2 ; LGPLv2.1
113 Group: Productivity/Networking/Radius/Servers
114 Summary: FreeRADIUS Documentation
118 This package contains FreeRADIUS Documentation
122 See http://wiki.freeradius.org/project/Acknowledgements
128 # This package failed when testing with -Wl,-as-needed being default.
129 # So we disable it here, if you want to retest, just delete this comment and the line below.
130 export SUSE_ASNEEDED=0
131 export CFLAGS="$RPM_OPT_FLAGS"
132 %ifarch x86_64 ppc ppc64 s390 s390x
133 export CFLAGS="$CFLAGS -fPIC -DPIC"
135 export LDFLAGS="-pie"
137 --libdir=%{_libdir}/freeradius \
138 --disable-developer \
139 --with-experimental-modules \
141 %if 0%{?suse_version} <= 920
142 --without-rlm_sql_mysql \
145 %if %{_oracle_support} == 1
146 --with-rlm_sql_oracle \
147 --with-oracle-lib-dir=%{_libdir}/oracle/10.1.0.3/client/lib/
149 --without-rlm_sql_oracle
154 rm -rf $RPM_BUILD_ROOT
155 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/radiusd
156 make install R=$RPM_BUILD_ROOT
157 # modify default configuration
158 RADDB=$RPM_BUILD_ROOT%{_sysconfdir}/raddb
159 perl -i -pe 's/^#user =.*$/user = radiusd/' $RADDB/radiusd.conf
160 perl -i -pe 's/^#group =.*$/group = radiusd/' $RADDB/radiusd.conf
161 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/freeradius
163 touch $RPM_BUILD_ROOT%{_localstatedir}/log/radius/radutmp
164 touch $RPM_BUILD_ROOT%{_localstatedir}/log/radius/radius.log
166 install -d $RPM_BUILD_ROOT%{_sysconfdir}/pam.d
167 install -d $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
168 install -m 644 suse/radiusd-pam $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/radiusd
169 install -m 644 suse/radiusd-logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/freeradius-server
170 install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/init.d
171 install -m 744 suse/rcradiusd $RPM_BUILD_ROOT%{_sysconfdir}/init.d/freeradius
172 ln -sf ../..%{_sysconfdir}/init.d/freeradius $RPM_BUILD_ROOT%{_sbindir}/rcfreeradius
173 install -d %{buildroot}%{_sysconfdir}/tmpfiles.d
174 install -m 0644 %{SOURCE104} %{buildroot}%{_sysconfdir}/tmpfiles.d/radiusd.conf
175 # remove unneeded stuff
177 rm -f $RPM_BUILD_ROOT%{_sbindir}/rc.radiusd
178 rm -rf $RPM_BUILD_ROOT/usr/share/doc/freeradius*
179 rm -rf $RPM_BUILD_ROOT/%{_libdir}/freeradius/*.*a
182 %{_sbindir}/groupadd -r radiusd 2> /dev/null || :
183 %{_sbindir}/useradd -r -g radiusd -s /bin/false -c "Radius daemon" -d \
184 %{_localstatedir}/lib/radiusd radiusd 2> /dev/null || :
188 # Modify old installs to look for /usr/lib64/freeradius
189 /usr/bin/perl -i -pe "s:/usr/lib/freeradius:/usr/lib64/freeradius:" /etc/raddb/radiusd.conf
192 # Generate default certificates
193 /etc/raddb/certs/bootstrap
195 %{fillup_and_insserv freeradius}
196 %if 0%{?suse_version} > 820
199 %stop_on_removal freeradius
203 %if 0%{?suse_version} > 820
204 %restart_on_update freeradius
209 rm -rf $RPM_BUILD_ROOT
212 %defattr(-,root,root)
214 %doc suse/README.SuSE
215 %doc doc/* LICENSE COPYRIGHT CREDITS README.rst
217 %{_sysconfdir}/init.d/freeradius
218 %config %{_sysconfdir}/pam.d/radiusd
219 %config %{_sysconfdir}/logrotate.d/freeradius-server
220 %dir %{_sysconfdir}/tmpfiles.d
221 %config %{_sysconfdir}/tmpfiles.d/radiusd.conf
222 %dir %attr(755,radiusd,radiusd) %{_localstatedir}/lib/radiusd
224 %defattr(-,root,radiusd)
225 %dir %attr(750,root,radiusd) %{_sysconfdir}/raddb
226 %config(noreplace) %{_sysconfdir}/raddb/*
227 %attr(700,radiusd,radiusd) %dir %{_localstatedir}/run/radiusd/
229 %defattr(-,root,root)
232 %doc %{_mandir}/man1/*
233 %doc %{_mandir}/man5/*
234 %doc %{_mandir}/man8/*
236 %attr(755,root,root) %dir /usr/share/freeradius
237 /usr/share/freeradius/*
239 %attr(700,radiusd,radiusd) %dir %{_localstatedir}/log/radius/
240 %attr(700,radiusd,radiusd) %dir %{_localstatedir}/log/radius/radacct/
241 %attr(644,radiusd,radiusd) %{_localstatedir}/log/radius/radutmp
242 %config(noreplace) %attr(600,radiusd,radiusd) %{_localstatedir}/log/radius/radius.log
243 # RADIUS Loadable Modules
244 %attr(755,root,root) %dir %{_libdir}/freeradius
245 %attr(755,root,root) %{_libdir}/freeradius/rlm_*.so*
248 %defattr(-,root,root)
253 %attr(755,root,root) %dir %{_libdir}/freeradius
254 %attr(755,root,root) %{_libdir}/freeradius/lib*.so*
255 %attr(755,root,root) %{_libdir}/freeradius/proto*.so*
258 %defattr(-,root,root)
259 %dir /usr/include/freeradius
260 %attr(644,root,root) /usr/include/freeradius/*.h