]> git.pld-linux.org Git - packages/freeradius-server.git/blame - freeradius-server.spec
- separated sql database backends
[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
b3332a9e 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}/*
42573dc2
PG
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
b3332a9e 350%{_datadir}/freeradius
b3332a9e 351%{_mandir}/man?/*
42573dc2
PG
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
1e6843ce
PG
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.135048 seconds and 4 git commands to generate.