]> git.pld-linux.org Git - packages/freeradius-server.git/blob - freeradius-server.spec
- one more exclude
[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 %exclude %{_sysconfdir}/raddb/sql/postgresql
247 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
248 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/*
249 %attr(754,root,root) /etc/rc.d/init.d/%{name}
250 %attr(755,root,root) %{_bindir}/*
251 %attr(755,root,root) %{_sbindir}/*
252 %dir %{_libdir}/freeradius
253 %attr(755,root,root) %{_libdir}/freeradius/rlm_acctlog*.so
254 %attr(755,root,root) %{_libdir}/freeradius/rlm_acctlog*.la
255 %attr(755,root,root) %{_libdir}/freeradius/rlm_acct_unique*.so
256 %attr(755,root,root) %{_libdir}/freeradius/rlm_acct_unique*.la
257 %attr(755,root,root) %{_libdir}/freeradius/rlm_always*.so
258 %attr(755,root,root) %{_libdir}/freeradius/rlm_always*.la
259 %attr(755,root,root) %{_libdir}/freeradius/rlm_attr_filter*.so
260 %attr(755,root,root) %{_libdir}/freeradius/rlm_attr_filter*.la
261 %attr(755,root,root) %{_libdir}/freeradius/rlm_attr_rewrite*.so
262 %attr(755,root,root) %{_libdir}/freeradius/rlm_attr_rewrite*.la
263 %attr(755,root,root) %{_libdir}/freeradius/rlm_chap*.so
264 %attr(755,root,root) %{_libdir}/freeradius/rlm_chap*.la
265 %attr(755,root,root) %{_libdir}/freeradius/rlm_checkval*.so
266 %attr(755,root,root) %{_libdir}/freeradius/rlm_checkval*.la
267 %attr(755,root,root) %{_libdir}/freeradius/rlm_copy_packet*.so
268 %attr(755,root,root) %{_libdir}/freeradius/rlm_copy_packet*.la
269 %attr(755,root,root) %{_libdir}/freeradius/rlm_counter*.so
270 %attr(755,root,root) %{_libdir}/freeradius/rlm_counter*.la
271 %attr(755,root,root) %{_libdir}/freeradius/rlm_cram*.so
272 %attr(755,root,root) %{_libdir}/freeradius/rlm_cram*.la
273 %attr(755,root,root) %{_libdir}/freeradius/rlm_dbm*.so
274 %attr(755,root,root) %{_libdir}/freeradius/rlm_dbm*.la
275 %attr(755,root,root) %{_libdir}/freeradius/rlm_detail*.so
276 %attr(755,root,root) %{_libdir}/freeradius/rlm_detail*.la
277 %attr(755,root,root) %{_libdir}/freeradius/rlm_digest*.so
278 %attr(755,root,root) %{_libdir}/freeradius/rlm_digest*.la
279 %attr(755,root,root) %{_libdir}/freeradius/rlm_dynamic_clients*.so
280 %attr(755,root,root) %{_libdir}/freeradius/rlm_dynamic_clients*.la
281 %attr(755,root,root) %{_libdir}/freeradius/rlm_eap*.so
282 %attr(755,root,root) %{_libdir}/freeradius/rlm_eap*.la
283 %attr(755,root,root) %{_libdir}/freeradius/rlm_example*.so
284 %attr(755,root,root) %{_libdir}/freeradius/rlm_example*.la
285 %attr(755,root,root) %{_libdir}/freeradius/rlm_exec*.so
286 %attr(755,root,root) %{_libdir}/freeradius/rlm_exec*.la
287 %attr(755,root,root) %{_libdir}/freeradius/rlm_expiration*.so
288 %attr(755,root,root) %{_libdir}/freeradius/rlm_expiration*.la
289 %attr(755,root,root) %{_libdir}/freeradius/rlm_expr*.so
290 %attr(755,root,root) %{_libdir}/freeradius/rlm_expr*.la
291 %attr(755,root,root) %{_libdir}/freeradius/rlm_fastusers*.so
292 %attr(755,root,root) %{_libdir}/freeradius/rlm_fastusers*.la
293 %attr(755,root,root) %{_libdir}/freeradius/rlm_files*.so
294 %attr(755,root,root) %{_libdir}/freeradius/rlm_files*.la
295 %attr(755,root,root) %{_libdir}/freeradius/rlm_ippool*.so
296 %attr(755,root,root) %{_libdir}/freeradius/rlm_ippool*.la
297 %attr(755,root,root) %{_libdir}/freeradius/rlm_jradius*.so
298 %attr(755,root,root) %{_libdir}/freeradius/rlm_jradius*.la
299 %attr(755,root,root) %{_libdir}/freeradius/rlm_krb5*.so
300 %attr(755,root,root) %{_libdir}/freeradius/rlm_krb5*.la
301 %attr(755,root,root) %{_libdir}/freeradius/rlm_ldap*.so
302 %attr(755,root,root) %{_libdir}/freeradius/rlm_ldap*.la
303 %attr(755,root,root) %{_libdir}/freeradius/rlm_linelog*.so
304 %attr(755,root,root) %{_libdir}/freeradius/rlm_linelog*.la
305 %attr(755,root,root) %{_libdir}/freeradius/rlm_logintime*.so
306 %attr(755,root,root) %{_libdir}/freeradius/rlm_logintime*.la
307 %attr(755,root,root) %{_libdir}/freeradius/rlm_mschap*.so
308 %attr(755,root,root) %{_libdir}/freeradius/rlm_mschap*.la
309 %attr(755,root,root) %{_libdir}/freeradius/rlm_otp*.so
310 %attr(755,root,root) %{_libdir}/freeradius/rlm_otp*.la
311 %attr(755,root,root) %{_libdir}/freeradius/rlm_pam*.so
312 %attr(755,root,root) %{_libdir}/freeradius/rlm_pam*.la
313 %attr(755,root,root) %{_libdir}/freeradius/rlm_pap*.so
314 %attr(755,root,root) %{_libdir}/freeradius/rlm_pap*.la
315 %attr(755,root,root) %{_libdir}/freeradius/rlm_passwd*.so
316 %attr(755,root,root) %{_libdir}/freeradius/rlm_passwd*.la
317 %attr(755,root,root) %{_libdir}/freeradius/rlm_perl*.so
318 %attr(755,root,root) %{_libdir}/freeradius/rlm_perl*.la
319 %attr(755,root,root) %{_libdir}/freeradius/rlm_policy*.so
320 %attr(755,root,root) %{_libdir}/freeradius/rlm_policy*.la
321 %attr(755,root,root) %{_libdir}/freeradius/rlm_preprocess*.so
322 %attr(755,root,root) %{_libdir}/freeradius/rlm_preprocess*.la
323 %attr(755,root,root) %{_libdir}/freeradius/rlm_protocol_filter*.so
324 %attr(755,root,root) %{_libdir}/freeradius/rlm_protocol_filter*.la
325 %attr(755,root,root) %{_libdir}/freeradius/rlm_python*.so
326 %attr(755,root,root) %{_libdir}/freeradius/rlm_python*.la
327 %attr(755,root,root) %{_libdir}/freeradius/rlm_radutmp*.so
328 %attr(755,root,root) %{_libdir}/freeradius/rlm_radutmp*.la
329 %attr(755,root,root) %{_libdir}/freeradius/rlm_realm*.so
330 %attr(755,root,root) %{_libdir}/freeradius/rlm_realm*.la
331 %attr(755,root,root) %{_libdir}/freeradius/rlm_sim_files*.so
332 %attr(755,root,root) %{_libdir}/freeradius/rlm_sim_files*.la
333 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql-*.so
334 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql.so
335 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql-*.la
336 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql.la
337 %attr(755,root,root) %{_libdir}/freeradius/rlm_sqlcounter*.so
338 %attr(755,root,root) %{_libdir}/freeradius/rlm_sqlcounter*.la
339 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_firebird*.so
340 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_firebird*.la
341 %attr(755,root,root) %{_libdir}/freeradius/rlm_sqlhpwippool*.so
342 %attr(755,root,root) %{_libdir}/freeradius/rlm_sqlhpwippool*.la
343 %attr(755,root,root) %{_libdir}/freeradius/rlm_sqlippool*.so
344 %attr(755,root,root) %{_libdir}/freeradius/rlm_sqlippool*.la
345 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_log*.so
346 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_log*.la
347 %attr(755,root,root) %{_libdir}/freeradius/rlm_unix*.so
348 %attr(755,root,root) %{_libdir}/freeradius/rlm_unix*.la
349 %attr(755,root,root) %{_libdir}/freeradius/rlm_wimax*.so
350 %attr(755,root,root) %{_libdir}/freeradius/rlm_wimax*.la
351 %{_datadir}/freeradius
352 %{_mandir}/man?/*
353 %attr(771,root,radius) %dir %{_var}/log/freeradius
354 %attr(771,root,radius) %dir %{_var}/log/freeradius/radacct
355 %attr(771,root,radius) %dir %{_var}/log/archive/freeradius
356 %attr(771,root,radius) %dir %{_var}/log/archive/freeradius/radacct
357 %attr(775,root,radius) %dir /var/run/freeradius
358
359 %files module-mysql
360 %defattr(644,root,root,755)
361 %dir %{_sysconfdir}/raddb/sql/mysql
362 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/sql/mysql/*
363 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_mysql*.la
364 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_mysql*.so
365
366 %files module-sqlite
367 %defattr(644,root,root,755)
368 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_sqlite*.so
369 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_sqlite*.la
370
371 %files module-postgresql
372 %defattr(644,root,root,755)
373 %dir %{_sysconfdir}/raddb/sql/postgresql
374 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/sql/postgresql/*
375 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_postgresql*.so
376 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_postgresql*.la
377
378 %files module-unixodbc
379 %defattr(644,root,root,755)
380 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_unixodbc*.so
381 %attr(755,root,root) %{_libdir}/freeradius/rlm_sql_unixodbc*.la
382
383 %files libs
384 %defattr(644,root,root,755)
385 %attr(755,root,root) %{_libdir}/libfreeradius-eap-?.?.?.so
386 %attr(755,root,root) %{_libdir}/libfreeradius-radius-?.?.?.so
387 %dir %{_libdir}/freeradius
388
389 %files devel
390 %defattr(644,root,root,755)
391 %{_includedir}/freeradius
392 %{_libdir}/libfreeradius-eap.so
393 %{_libdir}/libfreeradius-radius.so
394
395 %files mibs
396 %defattr(644,root,root,755)
397 %doc mibs/*.chart
398 %{mibdir}/*.*
This page took 0.100642 seconds and 3 git commands to generate.