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