]> git.pld-linux.org Git - packages/freeradius.git/blame - freeradius.spec
- rel 3
[packages/freeradius.git] / freeradius.spec
CommitLineData
a35c3a00 1#
f1e65093 2%include /usr/lib/rpm/macros.perl
6c1c28f9
ER
3# FIXME:
4# - won't be good to include these contrib examples?
5# Source1: http://www.ping.de/~fdc/radius/radacct-replay
6# Source3: ftp://ftp.freeradius.org/pub/radius/contrib/radwho.cgi
4e6a6407 7Summary: High-performance and highly configurable RADIUS server
62d00dee 8Summary(pl.UTF-8): Szybki i wysoce konfigurowalny serwer RADIUS
94afa185 9Name: freeradius
e0fc8eec 10Version: 1.1.7
bc3443ae 11Release: 3
94afa185 12License: GPL
4e6a6407 13Group: Networking/Daemons
a96a40cf 14Source0: ftp://ftp.freeradius.org/pub/radius/%{name}-%{version}.tar.gz
e0fc8eec 15# Source0-md5: 5c126cb2122b8e2ba9784b511fbefd96
f8b238b6
AM
16Source1: %{name}.logrotate
17Source2: %{name}.init
18Source3: %{name}.pam
fd0f773b 19Patch0: %{name}-makefile.patch
e218a559 20Patch1: %{name}-linking.patch
21Patch2: %{name}-moduledir.patch
22Patch3: %{name}-rundir.patch
23Patch4: %{name}-config.patch
a96a40cf 24URL: http://www.freeradius.org/
041912e5
JB
25BuildRequires: autoconf
26BuildRequires: automake
27BuildRequires: cyrus-sasl-devel
28BuildRequires: gdbm-devel
82b1026c 29BuildRequires: krb5-devel
e218a559 30BuildRequires: libcom_err-devel
4e6a6407 31BuildRequires: libltdl-devel
041912e5 32BuildRequires: libtool
4e6a6407 33BuildRequires: mysql-devel
062d3f7c 34BuildRequires: net-snmp-devel
14b8fb3b 35BuildRequires: openldap-devel >= 2.4.6
17d2eca0 36BuildRequires: openssl-devel >= 0.9.7d
4e6a6407 37BuildRequires: pam-devel
f8b238b6
AM
38BuildRequires: perl-devel
39BuildRequires: postgresql-backend-devel
40BuildRequires: postgresql-devel
7c19d94e 41BuildRequires: python
f8b238b6 42BuildRequires: python-devel
f8b238b6 43BuildRequires: rpm-perlprov
062d3f7c
ER
44BuildRequires: rpmbuild(macros) >= 1.268
45BuildRequires: unixODBC-devel
46Requires(post,preun): /sbin/chkconfig
47Requires(postun): /usr/sbin/groupdel
48Requires(postun): /usr/sbin/userdel
9c9b6568 49Requires(pre): /bin/id
062d3f7c 50Requires(pre): /usr/bin/getgid
9c9b6568 51Requires(pre): /usr/sbin/groupadd
9c9b6568 52Requires(pre): /usr/sbin/useradd
062d3f7c 53Requires(pre): /usr/sbin/usermod
24927a7b 54Requires: perl(DynaLoader) = %(%{__perl} -MDynaLoader -e 'print DynaLoader->VERSION')
dccca3ce 55Requires: rc-scripts
dccca3ce 56Provides: group(radius)
062d3f7c 57Provides: user(radius)
4e6a6407 58Obsoletes: cistron-radius
6d188efb 59Conflicts: logrotate < 3.7-4
dccca3ce 60BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
4e6a6407 61
4e6a6407 62%description
94afa185
MP
63The FreeRADIUS Server Project is an attempt to create a
64high-performance and highly configurable GPL'd RADIUS server. It is
65generally similar to the Livingston 2.0 RADIUS server, but has a lot
66more features, and is much more configurable.
4e6a6407 67
ca834a53 68%description -l pl.UTF-8
94afa185
MP
69Projekt FreeRadius ma na celu stworzenie szybkiego i wysoce
70konfigurowalnego serwera RADIUS na licencji GPL. Ten jest podobny do
ca834a53
JR
71Livingston 2.0 RADIUS server ale ma o wiele więcej funkcji i posiada
72większe możliwości konfigurowania.
4e6a6407 73
4ba06a7d 74%prep
4e6a6407 75%setup -q
fd0f773b 76%patch0 -p1
e218a559 77%patch1 -p1
42226f79 78%patch2 -p1
e218a559 79%patch3 -p1
80%patch4 -p1
598a5b29 81
7eb28883 82sed -e '/m4_include..libtool/d' < aclocal.m4 > acinclude.m4
598a5b29 83
041912e5
JB
84%build
85maindir="$(pwd)"
86for d in rlm_attr_rewrite rlm_checkval rlm_counter rlm_dbm \
598a5b29 87 rlm_eap/types/rlm_eap_{md5,mschapv2,peap,sim,tls,ttls} \
31c93271
JR
88 rlm_eap rlm_example rlm_ippool rlm_krb5 rlm_ldap rlm_otp \
89 rlm_pam rlm_perl rlm_python rlm_radutmp rlm_smb \
041912e5 90 rlm_sql/drivers/rlm_sql_{db2,iodbc,mysql,oracle,postgresql,unixodbc} \
e218a559 91 rlm_sql rlm_sqlcounter rlm_sql_log rlm_unix ; do
598a5b29 92
041912e5 93 cd src/modules/${d}
e218a559 94 if [ -f configure.in ]; then
95 %{__aclocal} -I ${maindir}
96 %{__autoconf}
97 fi
041912e5
JB
98 if [ -f config.h.in ]; then
99 %{__autoheader}
100 fi
101 cd ${maindir}
102done
041912e5
JB
103%{__libtoolize}
104%{__aclocal}
105%{__autoconf}
106%{__autoheader}
107%configure \
15aabf61
JB
108 SNMPGET="/usr/bin/snmpget" \
109 SNMPWALK="/usr/bin/snmpwalk" \
f8b238b6
AM
110 --enable-strict-dependencies \
111 --with-logdir=%{_var}/log/freeradius \
112 --with-experimental-modules \
4e6a6407 113 --with-threads \
114 --with-thread-pool \
115 --with-gnu-ld \
f8b238b6
AM
116 --with-ltdl-include=%{_includedir}/none \
117 --with-ltdl-lib=%{_libdir} \
118 --disable-ltdl-install \
e218a559 119 --with-rlm_krb5
42226f79 120%{__make} -j1 \
598a5b29 121 LIBTOOL="`pwd`/libtool --tag=CC"
4e6a6407 122
4e6a6407 123%install
4e6a6407 124rm -rf $RPM_BUILD_ROOT
598a5b29 125install -d $RPM_BUILD_ROOT{%{_sysconfdir}/raddb,%{_libdir}/%{name}} \
cbb8711d 126 $RPM_BUILD_ROOT/etc/{logrotate.d,pam.d,rc.d/init.d} \
1a569c7d 127 $RPM_BUILD_ROOT%{_var}/log/{,archive}/freeradius/radacct
4e6a6407 128
42226f79 129%{__make} -j1 install \
598a5b29 130 LIBTOOL="`pwd`/libtool --tag=CC" \
f8b238b6 131 R=$RPM_BUILD_ROOT
4e6a6407 132
f8b238b6
AM
133rm -f $RPM_BUILD_ROOT{%{_mandir}/man8/builddbm.8,%{_sbindir}/rc.radiusd}
134rm -f $RPM_BUILD_ROOT%{_sysconfdir}/raddb/{clients,*.pl}
4e6a6407 135
c1bdca4c 136install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
1abb7669 137install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
c1bdca4c 138install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/radius
2512122e 139
041912e5
JB
140# remove useless static modules and library
141# rlm*.la are used (lt_dlopen)
91c21a2d
JK
142rm -f $RPM_BUILD_ROOT%{_libdir}/{*.a,*.la}
143rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/*.a
e5c8abc6 144rm -rf $RPM_BUILD_ROOT%{_docdir}/freeradius
041912e5 145
a96a40cf
JB
146%clean
147rm -rf $RPM_BUILD_ROOT
148
9794d47a 149%pre
9c9b6568
ER
150%groupadd -g 29 -r -f radius
151%useradd -u 29 -d %{_localstatedir} -s /bin/false -M -r -c "%{name}" -g radius radius
152
153# TODO: should be in trigger instead.
154# upgrade from previous versions of the package, where radius' gid was "nobody"
155if [ "`id -g radius`" = "99" ]; then
156 usermod -g 29 radius
157 chown radius:radius /var/log/%{name}/*.log >/dev/null 2>&1 || :
158 chown radius:radius /var/log/%{name}/radacct/* >/dev/null 2>&1 || :
9794d47a 159fi
160
a96a40cf 161%post
f8b238b6 162/sbin/chkconfig --add %{name}
062d3f7c 163%service %{name} restart "%{name} daemon"
a96a40cf 164
4e6a6407 165%preun
586d47cd 166if [ "$1" = "0" ]; then
062d3f7c 167 %service %{name} stop
f1e65093 168 /sbin/chkconfig --del %{name}
f8b238b6
AM
169fi
170
9794d47a 171%postun
172if [ "$1" = "0" ]; then
598a5b29
JK
173 %userremove radius
174 %groupremove radius
9794d47a 175fi
176
4e6a6407 177%files
94afa185 178%defattr(644,root,root,755)
f8b238b6 179%doc doc/*
94afa185
MP
180%attr(755,root,root) %{_bindir}/*
181%attr(755,root,root) %{_sbindir}/*
f8b238b6 182%attr(755,root,root) %{_libdir}/*.so
598a5b29 183%dir %{_libdir}/%{name}
e218a559 184%attr(755,root,root) %{_libdir}/%{name}/*.so
185%{_libdir}/%{name}/*.la
041912e5 186%{_datadir}/freeradius
f8b238b6
AM
187
188%dir %{_sysconfdir}/raddb
e7f77506 189%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/*
f8b238b6 190
83fab564
JK
191%attr(771,root,radius) %dir %{_var}/log/%{name}
192%attr(771,root,radius) %dir %{_var}/log/%{name}/radacct
a9e309e5
JR
193%attr(771,root,radius) %dir %{_var}/log/archive/%{name}
194%attr(771,root,radius) %dir %{_var}/log/archive/%{name}/radacct
e218a559 195%attr(775,root,radius) %dir /var/run/%{name}
f8b238b6 196
1abb7669 197%attr(754,root,root) /etc/rc.d/init.d/%{name}
e7f77506
ER
198%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
199%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/*
f8b238b6
AM
200
201%{_mandir}/man?/*
This page took 0.063125 seconds and 4 git commands to generate.