]> git.pld-linux.org Git - packages/freeradius.git/blob - freeradius.spec
23adffac11a824306f41af5e1f8529da2158b14f
[packages/freeradius.git] / freeradius.spec
1 #
2 # TODO:
3 # - SECURITY: http://securitytracker.com/alerts/2004/Sep/1011364.html
4 #
5 %include        /usr/lib/rpm/macros.perl
6 # FIXME: won't be good to include these contrib examples?
7 # Source1:      http://www.ping.de/~fdc/radius/radacct-replay
8 # Source2:      http://www.ping.de/~fdc/radius/radlast-0.03
9 # Source3:      ftp://ftp.freeradius.org/pub/radius/contrib/radwho.cgi
10 Summary:        High-performance and highly configurable RADIUS server
11 Summary(pl):    Szybki i wysoce konfigurowalny serwer RADIUS
12 Name:           freeradius
13 Version:        0.9.3
14 Release:        2
15 License:        GPL
16 Group:          Networking/Daemons
17 Source0:        ftp://ftp.freeradius.org/pub/radius/%{name}-%{version}.tar.gz
18 # Source0-md5:  36f33d9dd305a2c9f1089c30a9fff0b8
19 Source1:        %{name}.logrotate
20 Source2:        %{name}.init
21 Source3:        %{name}.pam
22 Patch0:         %{name}-ac.patch
23 Patch1:         %{name}-rlm_smb-overflow.patch
24 Patch2:         %{name}-netsnmp.patch
25 URL:            http://www.freeradius.org/
26 BuildRequires:  autoconf
27 BuildRequires:  automake
28 BuildRequires:  cyrus-sasl-devel
29 BuildRequires:  gdbm-devel
30 BuildRequires:  libltdl-devel
31 BuildRequires:  libtool
32 BuildRequires:  mysql-devel
33 BuildRequires:  openldap-devel
34 BuildRequires:  openssl-devel >= 0.9.7d
35 BuildRequires:  pam-devel
36 BuildRequires:  perl-devel
37 BuildRequires:  postgresql-backend-devel
38 BuildRequires:  postgresql-devel
39 BuildRequires:  python-devel
40 BuildRequires:  net-snmp-devel
41 BuildRequires:  unixODBC-devel
42 BuildRequires:  rpm-perlprov
43 BuildRequires:  rpm-pythonprov
44 PreReq:         rc-scripts
45 Requires(post,preun):   /sbin/chkconfig
46 Requires:       libtool
47 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48 Obsoletes:      cistron-radius
49
50 %define         _localstatedir  %{_var}/lib/freeradius
51
52 %description
53 The FreeRADIUS Server Project is an attempt to create a
54 high-performance and highly configurable GPL'd RADIUS server. It is
55 generally similar to the Livingston 2.0 RADIUS server, but has a lot
56 more features, and is much more configurable.
57
58 %description -l pl
59 Projekt FreeRadius ma na celu stworzenie szybkiego i wysoce
60 konfigurowalnego serwera RADIUS na licencji GPL. Ten jest podobny do
61 Livingston 2.0 RADIUS server ale ma o wiele wiêcej ficzersów i jest
62 bardziej podatny na konfiguracjê.
63
64 %prep
65 %setup -q
66 %patch0 -p1
67 %patch1 -p1
68 tail -n +3614 aclocal.m4 > acinclude.m4
69 %patch2 -p1
70
71 %build
72 maindir="$(pwd)"
73 for d in rlm_attr_rewrite rlm_checkval rlm_counter rlm_dbm \
74         rlm_eap/types/rlm_eap_{md5,tls} rlm_eap rlm_example \
75         rlm_ippool rlm_krb5 rlm_ldap rlm_pam rlm_perl rlm_python \
76         rlm_radutmp rlm_smb \
77         rlm_sql/drivers/rlm_sql_{db2,iodbc,mysql,oracle,postgresql,unixodbc} \
78         rlm_sql rlm_sqlcounter \
79         rlm_unix rlm_x99_token ; do
80         cd src/modules/${d}
81         %{__aclocal} -I ${maindir}
82         %{__autoconf}
83         if [ -f config.h.in ]; then
84                 %{__autoheader}
85         fi
86         cd ${maindir}
87 done
88 #touch src/modules/rlm_eap/types/rlm_eap_tls/config.h
89 %{__libtoolize}
90 %{__aclocal}
91 %{__autoconf}
92 %{__autoheader}
93 %configure \
94         SNMPGET="/usr/bin/snmpget" \
95         SNMPWALK="/usr/bin/snmpwalk" \
96         --enable-strict-dependencies \
97         --with-logdir=%{_var}/log/freeradius \
98         --with-experimental-modules \
99         --with-threads \
100         --with-thread-pool \
101         --with-gnu-ld \
102         --with-ltdl-include=%{_includedir}/none \
103         --with-ltdl-lib=%{_libdir} \
104         --disable-ltdl-install \
105         --without-rlm_krb5 \
106         --without-rlm_dbm
107 %{__make}
108
109 %install
110 rm -rf $RPM_BUILD_ROOT
111 install -d $RPM_BUILD_ROOT%{_sysconfdir}/raddb \
112         $RPM_BUILD_ROOT/etc/{logrotate.d,pam.d,rc.d/init.d} \
113         $RPM_BUILD_ROOT%{_var}/log/radius
114
115 %{__make} install \
116         R=$RPM_BUILD_ROOT
117
118 rm -f $RPM_BUILD_ROOT{%{_mandir}/man8/builddbm.8,%{_sbindir}/rc.radiusd}
119 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/raddb/{clients,*.pl}
120
121 install %{SOURCE1}      $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
122 install %{SOURCE2}      $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
123 install %{SOURCE3}      $RPM_BUILD_ROOT/etc/pam.d/radius
124
125 # remove useless static modules and library
126 # rlm*.la are used (lt_dlopen)
127 rm -f $RPM_BUILD_ROOT%{_libdir}/{*.a,libradius.la}
128
129 %clean
130 rm -rf $RPM_BUILD_ROOT
131
132 %pre
133 if [ -n "`id -u radius 2>/dev/null`" ]; then
134         if [ "`id -u radius`" != "29" ]; then
135                 echo "Error: user radius doesn't have uid=29. Correct this before installing radius server." 1>&2
136                 exit 1
137         fi
138 else
139         /usr/sbin/useradd -u 29 -d %{_localstatedir} -s /bin/false -M -r -c "%{name}" -g nobody radius 1>&2
140 fi
141
142 %post
143 /sbin/chkconfig --add %{name}
144 if [ -f /var/lock/subsys/%{name} ]; then
145         /etc/rc.d/init.d/%{name} restart 1>&2
146 else
147         echo "Run \"/etc/rc.d/init.d/%{name} start\" to start %{name} daemon."
148 fi
149
150 %preun
151 if [ "$1" = "0" ]; then
152         if [ -f /var/lock/subsys/%{name} ]; then
153                 /etc/rc.d/init.d/%{name} stop 1>&2
154         fi
155         /sbin/chkconfig --del %{name}
156 fi
157
158 %postun
159 if [ "$1" = "0" ]; then
160         /usr/sbin/userdel %{name}
161 fi
162
163 %files
164 %defattr(644,root,root,755)
165 %doc doc/*
166 %doc src/modules/rlm_sql/drivers/*/*.sql
167 %attr(755,root,root) %{_bindir}/*
168 %attr(755,root,root) %{_sbindir}/*
169 %attr(755,root,root) %{_libdir}/*.so
170 %{_libdir}/*.la
171 %{_datadir}/freeradius
172
173 %dir %{_sysconfdir}/raddb
174 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/raddb/*
175
176 %dir %{_var}/log/%{name}
177 %dir %{_var}/log/%{name}/radacct
178
179 %attr(754,root,root) /etc/rc.d/init.d/%{name}
180 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/*
181 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/*
182
183 %{_mandir}/man?/*
This page took 0.117808 seconds and 3 git commands to generate.