Add configure scripts for rlm_securid
[freeradius.git] / suse / freeradius.spec
1 Name:         freeradius-server
2 License:      GPL, LGPL
3 Group:        Productivity/Networking/Radius/Servers
4 Provides:     radiusd
5 Conflicts:    freeradius
6 Version: 2.2.0
7 Release:      0
8 URL:          http://www.freeradius.org/
9 Summary:      The world's most popular RADIUS Server
10 Source0:      %{name}-%{version}.tar.bz2
11
12 PreReq:       /usr/sbin/useradd /usr/sbin/groupadd
13 PreReq:       perl
14 %if %{?suse_version:1}0
15 PreReq:       %insserv_prereq %fillup_prereq
16 %endif
17
18 BuildRoot:    %{_tmppath}/%{name}-%{version}-build
19
20 %define _oracle_support 0
21
22 %define apxs2 apxs2-prefork
23 %define apache2_sysconfdir %(%{apxs2} -q SYSCONFDIR)
24 Requires:     %{name}-libs = %{version}
25 Requires:     python
26
27
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
40 BuildRequires: perl
41 BuildRequires: postgresql-devel
42 BuildRequires: python-devel
43 BuildRequires: sed
44 BuildRequires: unixODBC-devel
45 BuildRequires: zlib-devel
46
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
54 %endif
55
56 %if %{?mandriva_version:1}0
57 BuildRequires: apache2-devel
58 BuildRequires: libtool-devel
59 BuildRequires: mysql-devel
60 %endif
61
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
68 %endif
69 %if 0%{?suse_version} > 930
70 BuildRequires: libcom_err
71 %endif
72 %if 0%{?suse_version} > 1000
73 BuildRequires: libapr1-devel
74 %endif
75 %if 0%{?suse_version} > 1020
76 BuildRequires: libmysqlclient-devel
77 %else
78 BuildRequires: mysql-devel
79 %endif
80 %endif
81
82 %description
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.
87
88 Support for RFC and VSA Attributes Additional server configuration
89 attributes Selecting a particular configuration Authentication methods
90 Accounting methods
91
92 %if %_oracle_support == 1
93 %package oracle
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}
100 Autoreqprov:  off
101
102 %description oracle
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.
107
108 Support for RFC and VSA Attributes Additional server configuration
109 attributes Selecting a particular configuration Authentication methods
110 %endif
111
112 %package libs
113 Group:        Productivity/Networking/Radius/Servers
114 Summary:      FreeRADIUS share library
115
116 %description libs
117 The FreeRADIUS shared library
118
119 %package utils
120 Group:        Productivity/Networking/Radius/Clients
121 Summary:      FreeRADIUS Clients
122 Requires:     %{name}-libs = %{version}
123
124 %description utils
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.
129
130 Support for RFC and VSA Attributes Additional server configuration
131 attributes Selecting a particular configuration Authentication methods
132
133 %package devel
134 Group:        Development/Libraries/C and C++
135 Summary:      FreeRADIUS Development Files (static libs)
136 Autoreqprov:  off
137 Requires:     %{name}-libs = %{version}
138
139 %description devel
140 These are the static libraries for the FreeRADIUS package.
141
142
143 %if %{?suse_version:1}0
144 %debug_package
145 %endif
146
147 %prep
148 %setup -q
149
150 rm -rf `find . -name CVS`
151
152 %build
153 export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -DLDAP_DEPRECATED -fPIC -DPIC"
154 #export CFLAGS="$CFLAGS -std=c99 -pedantic"
155
156 %configure \
157                 --libdir=%{_libdir}/freeradius \
158                 --disable-ltdl-install \
159                 --enable-developer \
160                 --with-edir \
161                 --with-experimental-modules \
162                 --with-system-libtool \
163                 --with-udpfromto \
164                 --without-rlm_eap_ikev2 \
165                 --without-rlm_opendirectory \
166 %if %{?fedora_version:1}0
167                 --with-rlm-krb5-include-dir=/usr/kerberos/include \
168                 --with-rlm-krb5-lib-dir=/usr/kerberos/lib \
169 %endif
170 %if %{?mandriva_version:1}0
171                 --without-rlm_dbm \
172                 --without-rlm_krb5 \
173                 --without-rlm_perl \
174 %endif
175 %if %{?suse_version:1}0
176 %if 0%{?suse_version} <= 920 
177                 --without-rlm_sql_mysql \
178                 --without-rlm_krb5 \
179 %endif
180 %endif
181 %if %_oracle_support == 1
182                 --with-rlm_sql_oracle \
183                 --with-oracle-lib-dir=%{_libdir}/oracle/10.1.0.3/client/lib/
184 %else
185                 --without-rlm_sql_oracle
186 %endif
187
188 # no parallel build possible
189 make
190
191 %install
192 rm -rf $RPM_BUILD_ROOT
193 mkdir -p $RPM_BUILD_ROOT
194 mkdir -p $RPM_BUILD_ROOT/var/lib/radiusd
195 make install R=$RPM_BUILD_ROOT
196 # modify default configuration
197 RADDB=$RPM_BUILD_ROOT%{_sysconfdir}/raddb
198 perl -i -pe 's/^#user =.*$/user = radiusd/'   $RADDB/radiusd.conf
199 perl -i -pe 's/^#group =.*$/group = radiusd/' $RADDB/radiusd.conf
200 perl -i -pe 's/^#user =.*$/user = radiusd/'   $RADDB/radrelay.conf
201 perl -i -pe 's/^#group =.*$/group = radiusd/' $RADDB/radrelay.conf
202 #ldconfig -n $RPM_BUILD_ROOT/usr/lib/freeradius
203 # logs
204 touch $RPM_BUILD_ROOT/var/log/radius/radutmp
205 touch $RPM_BUILD_ROOT/var/log/radius/radius.log
206 # SuSE
207 install -d     $RPM_BUILD_ROOT%{_sysconfdir}/pam.d
208 install -d     $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
209 %if 0%{?suse_version} > 920
210 install -m 644 suse/radiusd-pam $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/radiusd
211 %else
212 install -m 644 suse/radiusd-pam-old $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/radiusd
213 %endif
214 install -m 644 suse/radiusd-logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/radiusd
215 install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/init.d
216 install    -m 744 suse/rcradiusd $RPM_BUILD_ROOT%{_sysconfdir}/init.d/freeradius
217 ln -sf ../..%{_sysconfdir}/init.d/freeradius $RPM_BUILD_ROOT/usr/sbin/rcfreeradius
218 cp $RPM_BUILD_ROOT/usr/sbin/radiusd $RPM_BUILD_ROOT/usr/sbin/radrelay
219 install    -m 744 suse/rcradius-relayd $RPM_BUILD_ROOT%{_sysconfdir}/init.d/freeradius-relay
220 ln -sf ../../etc/init.d/freeradius-relay $RPM_BUILD_ROOT/usr/sbin/rcfreeradius-relay
221 mv -v doc/README doc/README.doc
222 # remove unneeded stuff
223 rm -rf doc/00-OLD
224 rm -f $RPM_BUILD_ROOT/usr/sbin/rc.radiusd
225 rm -rf $RPM_BUILD_ROOT/usr/share/doc/freeradius*
226 rm -rf $RPM_BUILD_ROOT/%{_libdir}/freeradius/*.la
227
228 %pre
229 /usr/sbin/groupadd -r radiusd 2> /dev/null || :
230 /usr/sbin/useradd -r -g radiusd -s /bin/false -c "Radius daemon" -d \
231                   /var/lib/radiusd radiusd 2> /dev/null || :
232
233 %post
234 %ifarch x86_64
235 # Modify old installs to look for /usr/lib64/freeradius
236 /usr/bin/perl -i -pe "s:/usr/lib/freeradius:/usr/lib64/freeradius:" /etc/raddb/radiusd.conf
237 %endif
238
239 # Generate default certificates
240 /etc/raddb/certs/bootstrap
241
242 %{fillup_and_insserv -s freeradius START_RADIUSD }
243 %if 0%{?suse_version} > 820
244
245 %preun
246 %stop_on_removal freeradius
247 %endif
248
249 %postun
250 %if 0%{?suse_version} > 820
251 %restart_on_update freeradius
252 %endif
253 %{insserv_cleanup}
254
255 %clean
256 rm -rf $RPM_BUILD_ROOT
257
258 %files
259 %defattr(-,root,root)
260 # doc
261 %doc suse/README.SuSE
262 %doc doc/* LICENSE COPYRIGHT CREDITS README
263 %doc doc/examples/*
264 # SuSE
265 %{_sysconfdir}/init.d/freeradius
266 %{_sysconfdir}/init.d/freeradius-relay
267 %config %{_sysconfdir}/pam.d/radiusd
268 %config %{_sysconfdir}/logrotate.d/radiusd
269 %dir %attr(755,radiusd,radiusd) /var/lib/radiusd
270 # configs
271 %dir %attr(750,-,radiusd) %{_sysconfdir}/raddb
272 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/filter/*
273 %defattr(-,root,radiusd)
274 %config(noreplace) %{_sysconfdir}/raddb/dictionary
275 %config(noreplace) %{_sysconfdir}/raddb/acct_users
276 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/clients.conf
277 %config(noreplace) %{_sysconfdir}/raddb/hints
278 %config(noreplace) %{_sysconfdir}/raddb/huntgroups
279 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/sqlippool.conf
280 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/preproxy_users
281 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/proxy.conf
282 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/radiusd.conf
283 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/sql.conf
284 %dir %attr(640,-,radiusd) %{_sysconfdir}/raddb/sql
285 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/sql/*/*.conf
286 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/sql/*/*.sql
287 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/sql/*/README
288 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/sql/oracle/msqlippool.txt
289 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/users
290 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/experimental.conf
291 %dir %attr(750,-,radiusd) %{_sysconfdir}/raddb/certs
292 %{_sysconfdir}/raddb/certs/Makefile
293 %{_sysconfdir}/raddb/certs/README
294 %{_sysconfdir}/raddb/certs/xpextensions
295 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/certs/*.cnf
296 %attr(750,-,radiusd) %{_sysconfdir}/raddb/certs/bootstrap
297 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/sites-available/*
298 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/modules/*
299 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/sites-enabled/*
300 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/eap.conf
301 %attr(640,-,radiusd) %{_sysconfdir}/raddb/example.pl
302 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/policy.d/*.
303 %attr(640,-,radiusd) %config(noreplace) %{_sysconfdir}/raddb/templates.conf
304 %attr(700,radiusd,radiusd) %dir /var/run/radiusd/
305 # binaries
306 %defattr(-,root,root)
307 /usr/sbin/*
308 # man-pages
309 %doc %{_mandir}/man1/*
310 %doc %{_mandir}/man5/*
311 %doc %{_mandir}/man8/*
312 # dictionaries
313 %attr(755,root,root) %dir /usr/share/freeradius
314 /usr/share/freeradius/*
315 # logs
316 %attr(700,radiusd,radiusd) %dir /var/log/radius/
317 %attr(700,radiusd,radiusd) %dir /var/log/radius/radacct/
318 %attr(644,radiusd,radiusd) /var/log/radius/radutmp
319 %config(noreplace) %attr(600,radiusd,radiusd) /var/log/radius/radius.log
320 # RADIUS Loadable Modules
321 %attr(755,root,root) %dir %{_libdir}/freeradius
322 %attr(755,root,root) %{_libdir}/freeradius/rlm_*.so*
323
324 %files utils
325 /usr/bin/*
326
327 %files libs
328 # RADIU shared libs
329 %attr(755,root,root) %dir %{_libdir}/freeradius
330 %attr(755,root,root) %{_libdir}/freeradius/lib*.so*
331
332 %if %_oracle_support == 1
333 %files oracle
334 %defattr(-,root,root)
335 %attr(755,root,root) %dir %{_libdir}/freeradius
336 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_oracle*.so*
337 %endif
338
339 %files devel
340 %defattr(-,root,root)
341 %attr(644,root,root) %{_libdir}/freeradius/*.a
342 #%attr(644,root,root) %{_libdir}/freeradius/*.la
343 %attr(644,root,root) /usr/include/freeradius/*.h