]> git.pld-linux.org Git - packages/freeradius-server.git/blame - freeradius-server.spec
- one more exclude
[packages/freeradius-server.git] / freeradius-server.spec
CommitLineData
b3332a9e 1#
2# TODO:
10649a33
PG
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
1e6843ce
PG
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
1e6843ce 16# /usr/lib/freeradius/rlm_unix-2.1.1.so
42573dc2 17# - After install/uninstall every module perform daemon restart
b3332a9e 18#
19%include /usr/lib/rpm/macros.perl
20#
21Summary: High-performance and highly configurable RADIUS server
22Summary(pl.UTF-8): Szybki i wysoce konfigurowalny serwer RADIUS
23Name: freeradius-server
0a62ea03 24Version: 2.1.1
42573dc2 25Release: 0.11
b3332a9e 26License: GPL
0a62ea03 27Group: Networking/Daemons/Radius
b3332a9e 28Source0: ftp://ftp.freeradius.org/pub/radius/%{name}-%{version}.tar.bz2
0a62ea03 29# Source0-md5: 4ccf748ef9851d90844d085647351ca4
b3332a9e 30Source1: %{name}.logrotate
31Source2: %{name}.init
32Source3: %{name}.pam
33Patch0: %{name}-config.patch
34Patch1: %{name}-libdir.patch
35Patch2: %{name}-makefile.patch
36Patch3: %{name}-rundir.patch
37URL: http://www.freeradius.org/
38BuildRequires: Firebird-devel
39BuildRequires: autoconf
40BuildRequires: automake
41BuildRequires: cyrus-sasl-devel
42BuildRequires: gdbm-devel
43BuildRequires: libeap-ikev2-devel
44BuildRequires: libtool
45BuildRequires: net-snmp-utils
46BuildRequires: mysql-devel
47BuildRequires: openldap-devel
48BuildRequires: openssl-devel
49BuildRequires: pam-devel
50BuildRequires: perl-devel
51BuildRequires: postgresql-devel
52BuildRequires: python-devel
53BuildRequires: rpmbuild(macros) >= 1.268
54BuildRequires: sqlite3-devel
55BuildRequires: unixODBC-devel
56Requires(post,preun): /sbin/chkconfig
57Requires(postun): /usr/sbin/groupdel
58Requires(postun): /usr/sbin/userdel
59Requires(pre): /bin/id
60Requires(pre): /usr/bin/getgid
61Requires(pre): /usr/sbin/groupadd
62Requires(pre): /usr/sbin/useradd
63Requires(pre): /usr/sbin/usermod
64Requires: perl(DynaLoader) = %(%{__perl} -MDynaLoader -e 'print DynaLoader->VERSION')
65Requires: rc-scripts
1e6843ce 66Requires: %{name}-libs = %{version}-%{release}
b3332a9e 67Provides: group(radius)
68Provides: user(radius)
80f87d24 69Provides: freeradius = %{version}-%{release}
b3332a9e 70Obsoletes: cistron-radius
80f87d24 71Obsoletes: freeradius < 2.0
b3332a9e 72Conflicts: logrotate < 3.7-4
b3332a9e 73BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
74
1e6843ce 75%define mibdir %{_datadir}/snmp/mibs
10649a33
PG
76%define filterout_ld -Wl,--as-needed
77
b3332a9e 78%description
79The FreeRADIUS Server Project is an attempt to create a
80high-performance and highly configurable GPL'd RADIUS server. It is
81generally similar to the Livingston 2.0 RADIUS server, but has a lot
82more features, and is much more configurable.
83
84%description -l pl.UTF-8
85Projekt FreeRadius ma na celu stworzenie szybkiego i wysoce
86konfigurowalnego serwera RADIUS na licencji GPL. Ten jest podobny do
87Livingston 2.0 RADIUS server ale ma o wiele więcej funkcji i posiada
88większe możliwości konfigurowania.
89
42573dc2
PG
90%package module-mysql
91Summary: Mysql module for %{name}
92Group: Networking/Daemons/Radius
93Requires: %{name} = %{version}-%{release}
94
95%description module-mysql
96Mysql module for %{name}.
97
98%package module-unixodbc
99Summary: odbcunix module for %{name}
100Group: Networking/Daemons/Radius
101Requires: %{name} = %{version}-%{release}
102
103%description module-unixodbc
104UnixODBC module for %{name}.
105
106%package module-postgresql
107Summary: PostgreSQL module for %{name}
108Group: Networking/Daemons/Radius
109Requires: %{name} = %{version}-%{release}
110
111%description module-postgresql
112PostgreSQL module for %{name}.
113
114%package module-sqlite
115Summary: Sqlite module for %{name}
116Group: Networking/Daemons/Radius
117Requires: %{name} = %{version}-%{release}
118
119%description module-sqlite
120Sqlite module for %{name}.
121
1e6843ce
PG
122%package mibs
123Summary: MIB database for %{name}
124Summary(pl.UTF-8): Baza danych MIB dla %{name}
125Group: Applications/System
126Suggests: libsmi
127
128%description mibs
129MIB database for %{name}.
130
131%description mibs -l pl.UTF-8
132Baza danych MIB dla %{name}.
133
1e6843ce
PG
134%package libs
135Summary: Freeradius libraries
136Group: Libraries
137
138%description libs
139Freeradius libraries.
140
141%package devel
142Summary: Header files and devel library
143Group: Development/Libraries
144Requires: %{name}-libs = %{version}-%{release}
145
146%description devel
147Header files and libraries.
148
b3332a9e 149%prep
150%setup -q
151%patch0 -p1
152%patch1 -p1
153%patch2 -p1
154%patch3 -p1
155
156%build
10649a33
PG
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
b3332a9e 166
167LIBS="-lgdbm" \
168%configure \
169 --enable-strict-dependencies \
170 --with-experimental-modules \
171 --with-logdir=%{_var}/log/freeradius \
172 --with-system-libtool \
7fd3fae8 173 --without-rlm_eap_tnc \
b3332a9e 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
182rm -rf $RPM_BUILD_ROOT
10649a33 183install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,pam.d} \
1e6843ce
PG
184 $RPM_BUILD_ROOT%{_var}/log/{,archive}/freeradius/radacct \
185 $RPM_BUILD_ROOT%{mibdir}
b3332a9e 186
187%{__make} -j1 install \
188 R=$RPM_BUILD_ROOT
189
b3332a9e 190install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
b3332a9e 191install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
b3332a9e 192install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/radius
193
1e6843ce
PG
194# Install mibs:
195install mibs/FREERADIUS-*.txt $RPM_BUILD_ROOT%{mibdir}
196
10649a33
PG
197# Cleanups:
198rm -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.* \
42573dc2
PG
202 $RPM_BUILD_ROOT%{_sysconfdir}/*.pl \
203 $RPM_BUILD_ROOT%{_sysconfdir}/raddb/sql/oracle
b3332a9e 204
205%clean
206rm -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"
214if [ "`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 || :
218fi
219
220%post
221/sbin/chkconfig --add %{name}
222%service %{name} restart "%{name} daemon"
223
224%preun
225if [ "$1" = "0" ]; then
226 %service %{name} stop
227 /sbin/chkconfig --del %{name}
228fi
229
230%postun
231if [ "$1" = "0" ]; then
232 %userremove radius
233 %groupremove radius
234fi
235
1e6843ce
PG
236%post libs -p /sbin/ldconfig
237%postun libs -p /sbin/ldconfig
238
b3332a9e 239%files
240%defattr(644,root,root,755)
1e6843ce 241%doc doc/* scripts
b3332a9e 242%dir %{_sysconfdir}/raddb
b3332a9e 243%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/*
42573dc2
PG
244# To separate package:
245%exclude %{_sysconfdir}/raddb/sql/mysql
f11feaa8 246%exclude %{_sysconfdir}/raddb/sql/postgresql
b3332a9e 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}/*
42573dc2
PG
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
b3332a9e 351%{_datadir}/freeradius
b3332a9e 352%{_mandir}/man?/*
42573dc2
PG
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
1e6843ce
PG
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.07686 seconds and 4 git commands to generate.