]> git.pld-linux.org Git - packages/freeradius-server.git/blob - freeradius-server.spec
- separated sql database backends
[packages/freeradius-server.git] / freeradius-server.spec
1 #
2 # TODO:
3 # - check log files permisions - should be writable by radius user/group
4 #   (log files are created by server)
5 # - prepare to use with --as-needed
6 # - ac/am regeneration doesn't work
7 # - move plugins into separate packages:
8 #   /usr/sbin/radsniff: libpcap
9 #   /usr/lib/freeradius/rlm_eap_ikev2-2.1.1.so: libeap-ikev2
10 #   /usr/lib/freeradius/rlm_krb5-2.1.1.so: libkrb5, libcom_err, libkrb5support, libkeyutils
11 #   /usr/lib/freeradius/rlm_ldap-2.1.1.so: libldap_r, liblber, libsasl2, libcrypt, libssl
12 #   /usr/lib/freeradius/rlm_otp-2.1.1.so
13 #   /usr/lib/freeradius/rlm_pam-2.1.1.so
14 #   /usr/lib/freeradius/rlm_perl-2.1.1.so
15 #   /usr/lib/freeradius/rlm_python-2.1.1.so
16 #   /usr/lib/freeradius/rlm_unix-2.1.1.so
17 # - After install/uninstall every module perform daemon restart
18 #
19 %include        /usr/lib/rpm/macros.perl
20 #
21 Summary:        High-performance and highly configurable RADIUS server
22 Summary(pl.UTF-8):      Szybki i wysoce konfigurowalny serwer RADIUS
23 Name:           freeradius-server
24 Version:        2.1.1
25 Release:        0.11
26 License:        GPL
27 Group:          Networking/Daemons/Radius
28 Source0:        ftp://ftp.freeradius.org/pub/radius/%{name}-%{version}.tar.bz2
29 # Source0-md5:  4ccf748ef9851d90844d085647351ca4
30 Source1:        %{name}.logrotate
31 Source2:        %{name}.init
32 Source3:        %{name}.pam
33 Patch0:         %{name}-config.patch
34 Patch1:         %{name}-libdir.patch
35 Patch2:         %{name}-makefile.patch
36 Patch3:         %{name}-rundir.patch
37 URL:            http://www.freeradius.org/
38 BuildRequires:  Firebird-devel
39 BuildRequires:  autoconf
40 BuildRequires:  automake
41 BuildRequires:  cyrus-sasl-devel
42 BuildRequires:  gdbm-devel
43 BuildRequires:  libeap-ikev2-devel
44 BuildRequires:  libtool
45 BuildRequires:  net-snmp-utils
46 BuildRequires:  mysql-devel
47 BuildRequires:  openldap-devel
48 BuildRequires:  openssl-devel
49 BuildRequires:  pam-devel
50 BuildRequires:  perl-devel
51 BuildRequires:  postgresql-devel
52 BuildRequires:  python-devel
53 BuildRequires:  rpmbuild(macros) >= 1.268
54 BuildRequires:  sqlite3-devel
55 BuildRequires:  unixODBC-devel
56 Requires(post,preun):   /sbin/chkconfig
57 Requires(postun):       /usr/sbin/groupdel
58 Requires(postun):       /usr/sbin/userdel
59 Requires(pre):  /bin/id
60 Requires(pre):  /usr/bin/getgid
61 Requires(pre):  /usr/sbin/groupadd
62 Requires(pre):  /usr/sbin/useradd
63 Requires(pre):  /usr/sbin/usermod
64 Requires:       perl(DynaLoader) = %(%{__perl} -MDynaLoader -e 'print DynaLoader->VERSION')
65 Requires:       rc-scripts
66 Requires:       %{name}-libs = %{version}-%{release}
67 Provides:       group(radius)
68 Provides:       user(radius)
69 Provides:       freeradius = %{version}-%{release}
70 Obsoletes:      cistron-radius
71 Obsoletes:      freeradius < 2.0
72 Conflicts:      logrotate < 3.7-4
73 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
74
75 %define         mibdir  %{_datadir}/snmp/mibs
76 %define         filterout_ld    -Wl,--as-needed
77
78 %description
79 The FreeRADIUS Server Project is an attempt to create a
80 high-performance and highly configurable GPL'd RADIUS server. It is
81 generally similar to the Livingston 2.0 RADIUS server, but has a lot
82 more features, and is much more configurable.
83
84 %description -l pl.UTF-8
85 Projekt FreeRadius ma na celu stworzenie szybkiego i wysoce
86 konfigurowalnego serwera RADIUS na licencji GPL. Ten jest podobny do
87 Livingston 2.0 RADIUS server ale ma o wiele więcej funkcji i posiada
88 większe możliwości konfigurowania.
89
90 %package module-mysql
91 Summary:        Mysql module for %{name}
92 Group:          Networking/Daemons/Radius
93 Requires:       %{name} = %{version}-%{release}
94
95 %description module-mysql
96 Mysql module for %{name}.
97
98 %package module-unixodbc
99 Summary:        odbcunix module for %{name}
100 Group:          Networking/Daemons/Radius
101 Requires:       %{name} = %{version}-%{release}
102
103 %description module-unixodbc
104 UnixODBC module for %{name}.
105
106 %package module-postgresql
107 Summary:        PostgreSQL module for %{name}
108 Group:          Networking/Daemons/Radius
109 Requires:       %{name} = %{version}-%{release}
110
111 %description module-postgresql
112 PostgreSQL module for %{name}.
113
114 %package module-sqlite
115 Summary:        Sqlite module for %{name}
116 Group:          Networking/Daemons/Radius
117 Requires:       %{name} = %{version}-%{release}
118
119 %description module-sqlite
120 Sqlite module for %{name}.
121
122 %package mibs
123 Summary:        MIB database for %{name}
124 Summary(pl.UTF-8):      Baza danych MIB dla %{name}
125 Group:          Applications/System
126 Suggests:       libsmi
127
128 %description mibs
129 MIB database for %{name}.
130
131 %description mibs -l pl.UTF-8
132 Baza danych MIB dla %{name}.
133
134 %package libs
135 Summary:        Freeradius libraries
136 Group:          Libraries
137
138 %description libs
139 Freeradius libraries.
140
141 %package devel
142 Summary:        Header files and devel library
143 Group:          Development/Libraries
144 Requires:       %{name}-libs = %{version}-%{release}
145
146 %description devel
147 Header files and libraries.
148
149 %prep
150 %setup -q
151 %patch0 -p1
152 %patch1 -p1
153 %patch2 -p1
154 %patch3 -p1
155
156 %build
157 # Keep it for future when ac/am regeneration will be ok
158 #find -name 'configure.[ia][nc]' -type f | while read FILE; do
159 #    cd $(dirname "$FILE")
160 #    %{__libtoolize}
161 #    %{__aclocal} -I $OLDPWD
162 #    %{__autoconf}
163 #    [ -f config.h.in ] && %{__autoheader}
164 #    cd -
165 #done
166
167 LIBS="-lgdbm" \
168 %configure \
169         --enable-strict-dependencies \
170         --with-experimental-modules \
171         --with-logdir=%{_var}/log/freeradius \
172         --with-system-libtool \
173         --without-rlm_eap_tnc \
174         --without-rlm_opendirectory \
175         --without-rlm_sql_db2 \
176         --without-rlm_sql_iodbc \
177         --without-rlm_sql_oracle
178
179 %{make} -j1
180
181 %install
182 rm -rf $RPM_BUILD_ROOT
183 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,pam.d} \
184         $RPM_BUILD_ROOT%{_var}/log/{,archive}/freeradius/radacct \
185         $RPM_BUILD_ROOT%{mibdir}
186
187 %{__make} -j1 install \
188         R=$RPM_BUILD_ROOT
189
190 install %{SOURCE1}      $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
191 install %{SOURCE2}      $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
192 install %{SOURCE3}      $RPM_BUILD_ROOT/etc/pam.d/radius
193
194 # Install mibs:
195 install mibs/FREERADIUS-*.txt $RPM_BUILD_ROOT%{mibdir}
196
197 # Cleanups:
198 rm -rf $RPM_BUILD_ROOT%{_docdir}/freeradius \
199         $RPM_BUILD_ROOT%{_libdir}/*.{a,la} \
200         $RPM_BUILD_ROOT%{_libdir}/freeradius/*.a \
201         $RPM_BUILD_ROOT%{_sbindir}/rc.* \
202         $RPM_BUILD_ROOT%{_sysconfdir}/*.pl \
203         $RPM_BUILD_ROOT%{_sysconfdir}/raddb/sql/oracle
204
205 %clean
206 rm -rf $RPM_BUILD_ROOT
207
208 %pre
209 %groupadd -g 29 -r -f radius
210 %useradd -u 29 -d %{_localstatedir} -s /bin/false -M -r -c "%{name}" -g radius radius
211
212 # TODO: should be in trigger instead.
213 # upgrade from previous versions of the package, where radius' gid was "nobody"
214 if [ "`id -g radius`" = "99" ]; then
215         usermod -g 29 radius
216         chown radius:radius /var/log/%{name}/*.log >/dev/null 2>&1 || :
217         chown radius:radius /var/log/%{name}/radacct/* >/dev/null 2>&1 || :
218 fi
219
220 %post
221 /sbin/chkconfig --add %{name}
222 %service %{name} restart "%{name} daemon"
223
224 %preun
225 if [ "$1" = "0" ]; then
226         %service %{name} stop
227         /sbin/chkconfig --del %{name}
228 fi
229
230 %postun
231 if [ "$1" = "0" ]; then
232         %userremove radius
233         %groupremove radius
234 fi
235
236 %post   libs -p /sbin/ldconfig                                                                                        
237 %postun libs -p /sbin/ldconfig
238
239 %files
240 %defattr(644,root,root,755)
241 %doc doc/* scripts
242 %dir %{_sysconfdir}/raddb
243 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/*
244 # To separate package:
245 %exclude %{_sysconfdir}/raddb/sql/mysql
246 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
247 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/*
248 %attr(754,root,root) /etc/rc.d/init.d/%{name}
249 %attr(755,root,root) %{_bindir}/*
250 %attr(755,root,root) %{_sbindir}/*
251 %dir %{_libdir}/freeradius
252 %attr(755,root,root) %{_libdir}/freeradius/rlm_acctlog*.so
253 %attr(755,root,root) %{_libdir}/freeradius/rlm_acctlog*.la
254 %attr(755,root,root) %{_libdir}/freeradius/rlm_acct_unique*.so
255 %attr(755,root,root) %{_libdir}/freeradius/rlm_acct_unique*.la
256 %attr(755,root,root) %{_libdir}/freeradius/rlm_always*.so
257 %attr(755,root,root) %{_libdir}/freeradius/rlm_always*.la
258 %attr(755,root,root) %{_libdir}/freeradius/rlm_attr_filter*.so
259 %attr(755,root,root) %{_libdir}/freeradius/rlm_attr_filter*.la
260 %attr(755,root,root) %{_libdir}/freeradius/rlm_attr_rewrite*.so
261 %attr(755,root,root) %{_libdir}/freeradius/rlm_attr_rewrite*.la
262 %attr(755,root,root) %{_libdir}/freeradius/rlm_chap*.so
263 %attr(755,root,root) %{_libdir}/freeradius/rlm_chap*.la
264 %attr(755,root,root) %{_libdir}/freeradius/rlm_checkval*.so
265 %attr(755,root,root) %{_libdir}/freeradius/rlm_checkval*.la
266 %attr(755,root,root) %{_libdir}/freeradius/rlm_copy_packet*.so
267 %attr(755,root,root) %{_libdir}/freeradius/rlm_copy_packet*.la
268 %attr(755,root,root) %{_libdir}/freeradius/rlm_counter*.so
269 %attr(755,root,root) %{_libdir}/freeradius/rlm_counter*.la
270 %attr(755,root,root) %{_libdir}/freeradius/rlm_cram*.so
271 %attr(755,root,root) %{_libdir}/freeradius/rlm_cram*.la
272 %attr(755,root,root) %{_libdir}/freeradius/rlm_dbm*.so
273 %attr(755,root,root) %{_libdir}/freeradius/rlm_dbm*.la
274 %attr(755,root,root) %{_libdir}/freeradius/rlm_detail*.so
275 %attr(755,root,root) %{_libdir}/freeradius/rlm_detail*.la
276 %attr(755,root,root) %{_libdir}/freeradius/rlm_digest*.so
277 %attr(755,root,root) %{_libdir}/freeradius/rlm_digest*.la
278 %attr(755,root,root) %{_libdir}/freeradius/rlm_dynamic_clients*.so
279 %attr(755,root,root) %{_libdir}/freeradius/rlm_dynamic_clients*.la
280 %attr(755,root,root) %{_libdir}/freeradius/rlm_eap*.so
281 %attr(755,root,root) %{_libdir}/freeradius/rlm_eap*.la
282 %attr(755,root,root) %{_libdir}/freeradius/rlm_example*.so
283 %attr(755,root,root) %{_libdir}/freeradius/rlm_example*.la
284 %attr(755,root,root) %{_libdir}/freeradius/rlm_exec*.so
285 %attr(755,root,root) %{_libdir}/freeradius/rlm_exec*.la
286 %attr(755,root,root) %{_libdir}/freeradius/rlm_expiration*.so
287 %attr(755,root,root) %{_libdir}/freeradius/rlm_expiration*.la
288 %attr(755,root,root) %{_libdir}/freeradius/rlm_expr*.so
289 %attr(755,root,root) %{_libdir}/freeradius/rlm_expr*.la
290 %attr(755,root,root) %{_libdir}/freeradius/rlm_fastusers*.so
291 %attr(755,root,root) %{_libdir}/freeradius/rlm_fastusers*.la
292 %attr(755,root,root) %{_libdir}/freeradius/rlm_files*.so
293 %attr(755,root,root) %{_libdir}/freeradius/rlm_files*.la
294 %attr(755,root,root) %{_libdir}/freeradius/rlm_ippool*.so
295 %attr(755,root,root) %{_libdir}/freeradius/rlm_ippool*.la
296 %attr(755,root,root) %{_libdir}/freeradius/rlm_jradius*.so
297 %attr(755,root,root) %{_libdir}/freeradius/rlm_jradius*.la
298 %attr(755,root,root) %{_libdir}/freeradius/rlm_krb5*.so
299 %attr(755,root,root) %{_libdir}/freeradius/rlm_krb5*.la
300 %attr(755,root,root) %{_libdir}/freeradius/rlm_ldap*.so
301 %attr(755,root,root) %{_libdir}/freeradius/rlm_ldap*.la
302 %attr(755,root,root) %{_libdir}/freeradius/rlm_linelog*.so
303 %attr(755,root,root) %{_libdir}/freeradius/rlm_linelog*.la
304 %attr(755,root,root) %{_libdir}/freeradius/rlm_logintime*.so
305 %attr(755,root,root) %{_libdir}/freeradius/rlm_logintime*.la
306 %attr(755,root,root) %{_libdir}/freeradius/rlm_mschap*.so
307 %attr(755,root,root) %{_libdir}/freeradius/rlm_mschap*.la
308 %attr(755,root,root) %{_libdir}/freeradius/rlm_otp*.so
309 %attr(755,root,root) %{_libdir}/freeradius/rlm_otp*.la
310 %attr(755,root,root) %{_libdir}/freeradius/rlm_pam*.so
311 %attr(755,root,root) %{_libdir}/freeradius/rlm_pam*.la
312 %attr(755,root,root) %{_libdir}/freeradius/rlm_pap*.so
313 %attr(755,root,root) %{_libdir}/freeradius/rlm_pap*.la
314 %attr(755,root,root) %{_libdir}/freeradius/rlm_passwd*.so
315 %attr(755,root,root) %{_libdir}/freeradius/rlm_passwd*.la
316 %attr(755,root,root) %{_libdir}/freeradius/rlm_perl*.so
317 %attr(755,root,root) %{_libdir}/freeradius/rlm_perl*.la
318 %attr(755,root,root) %{_libdir}/freeradius/rlm_policy*.so
319 %attr(755,root,root) %{_libdir}/freeradius/rlm_policy*.la
320 %attr(755,root,root) %{_libdir}/freeradius/rlm_preprocess*.so
321 %attr(755,root,root) %{_libdir}/freeradius/rlm_preprocess*.la
322 %attr(755,root,root) %{_libdir}/freeradius/rlm_protocol_filter*.so
323 %attr(755,root,root) %{_libdir}/freeradius/rlm_protocol_filter*.la
324 %attr(755,root,root) %{_libdir}/freeradius/rlm_python*.so
325 %attr(755,root,root) %{_libdir}/freeradius/rlm_python*.la
326 %attr(755,root,root) %{_libdir}/freeradius/rlm_radutmp*.so
327 %attr(755,root,root) %{_libdir}/freeradius/rlm_radutmp*.la
328 %attr(755,root,root) %{_libdir}/freeradius/rlm_realm*.so
329 %attr(755,root,root) %{_libdir}/freeradius/rlm_realm*.la
330 %attr(755,root,root) %{_libdir}/freeradius/rlm_sim_files*.so
331 %attr(755,root,root) %{_libdir}/freeradius/rlm_sim_files*.la
332 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql-*.so
333 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql.so
334 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql-*.la
335 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql.la
336 %attr(755,root,root) %{_libdir}/freeradius/rlm_sqlcounter*.so
337 %attr(755,root,root) %{_libdir}/freeradius/rlm_sqlcounter*.la
338 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_firebird*.so
339 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_firebird*.la
340 %attr(755,root,root) %{_libdir}/freeradius/rlm_sqlhpwippool*.so
341 %attr(755,root,root) %{_libdir}/freeradius/rlm_sqlhpwippool*.la
342 %attr(755,root,root) %{_libdir}/freeradius/rlm_sqlippool*.so
343 %attr(755,root,root) %{_libdir}/freeradius/rlm_sqlippool*.la
344 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_log*.so
345 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_log*.la
346 %attr(755,root,root) %{_libdir}/freeradius/rlm_unix*.so
347 %attr(755,root,root) %{_libdir}/freeradius/rlm_unix*.la
348 %attr(755,root,root) %{_libdir}/freeradius/rlm_wimax*.so
349 %attr(755,root,root) %{_libdir}/freeradius/rlm_wimax*.la
350 %{_datadir}/freeradius
351 %{_mandir}/man?/*
352 %attr(771,root,radius) %dir %{_var}/log/freeradius
353 %attr(771,root,radius) %dir %{_var}/log/freeradius/radacct
354 %attr(771,root,radius) %dir %{_var}/log/archive/freeradius
355 %attr(771,root,radius) %dir %{_var}/log/archive/freeradius/radacct
356 %attr(775,root,radius) %dir /var/run/freeradius
357
358 %files module-mysql
359 %defattr(644,root,root,755)
360 %dir %{_sysconfdir}/raddb/sql/mysql
361 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/sql/mysql/*
362 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_mysql*.la
363 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_mysql*.so
364
365 %files module-sqlite
366 %defattr(644,root,root,755)
367 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_sqlite*.so
368 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_sqlite*.la
369
370 %files module-postgresql
371 %defattr(644,root,root,755)
372 %dir %{_sysconfdir}/raddb/sql/postgresql
373 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/sql/postgresql/*
374 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_postgresql*.so
375 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_postgresql*.la
376
377 %files module-unixodbc
378 %defattr(644,root,root,755)
379 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_unixodbc*.so
380 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_unixodbc*.la
381
382 %files libs
383 %defattr(644,root,root,755)
384 %attr(755,root,root) %{_libdir}/libfreeradius-eap-?.?.?.so
385 %attr(755,root,root) %{_libdir}/libfreeradius-radius-?.?.?.so
386 %dir %{_libdir}/freeradius
387
388 %files devel
389 %defattr(644,root,root,755)
390 %{_includedir}/freeradius
391 %{_libdir}/libfreeradius-eap.so
392 %{_libdir}/libfreeradius-radius.so
393
394 %files mibs
395 %defattr(644,root,root,755)
396 %doc mibs/*.chart
397 %{mibdir}/*.*
This page took 0.056169 seconds and 3 git commands to generate.