import from HEAD:
[freeradius.git] / suse / freeradius.spec
1 #
2 # spec file for package freeradius (Version 1.1.1)
3 #
4 # Copyright (c) 2005 SUSE LINUX Products GmbH, Nuernberg, Germany.
5 # This file and all modifications and additions to the pristine
6 # package are under the same license as the package itself.
7 #
8 # Please submit bugfixes or comments via http://bugs.opensuse.org
9 #
10
11 # neededforbuild  apache2-devel-packages cyrus-sasl-devel db-devel kerberos-devel-packages mysql-devel mysql-shared openldap2 openldap2-client openldap2-devel openssl openssl-devel pam-devel postgresql-devel postgresql-libs python python-devel unixODBC unixODBC-devel
12
13 BuildRequires: aaa_base acl attr bash bind-utils bison bzip2 coreutils cpio cpp cracklib cvs cyrus-sasl db diffutils e2fsprogs file filesystem fillup findutils flex gawk gdbm-devel gettext-devel glibc glibc-devel glibc-locale gpm grep groff gzip info insserv klogd less libacl libattr libcom_err libgcc libnscd libstdc++ libxcrypt libzio m4 make man mktemp module-init-tools ncurses ncurses-devel net-tools netcfg openldap2-client openssl pam pam-modules patch permissions popt procinfo procps psmisc pwdutils rcs readline sed strace sysvinit tar tcpd texinfo timezone unzip util-linux vim zlib zlib-devel apache2 apache2-devel apache2-prefork autoconf automake binutils cyrus-sasl-devel db-devel e2fsprogs-devel expat gcc gdbm gettext krb5 krb5-devel libapr0 libtool mysql-devel mysql-shared openldap2 openldap2-devel openssl-devel pam-devel perl postgresql postgresql-devel postgresql-libs python python-devel rpm unixODBC unixODBC-devel
14
15 Name:         freeradius
16 License:      GPL, LGPL
17 Group:        Productivity/Networking/Radius/Servers
18 Provides:     radiusd
19 Conflicts:    radiusd-livingston radiusd-cistron icradius
20 Version:      1.1.1
21 Release:      0
22 URL:          http://www.freeradius.org/
23 Summary:      Very highly Configurable Radius-Server
24 Source0:      %{name}-%{version}.tar.gz
25 Source1:      rcradiusd
26 Source2:      README.SuSE
27 Source3:      admin-httpd.conf
28 Patch0:       edir.patch
29 Patch1:       dialup_admin.patch
30 Patch2:       lib64.patch
31 %if %suse_version > 800
32 PreReq:       /usr/sbin/useradd /usr/sbin/groupadd
33 PreReq:       %insserv_prereq %fillup_prereq
34 %endif
35 BuildRoot:    %{_tmppath}/%{name}-%{version}-build
36 %define apxs2 apxs2-prefork
37 %define apache2_sysconfdir %(%{apxs2} -q SYSCONFDIR)
38
39 %description
40 The FreeRADIUS server has a number of features found in other servers,
41 and additional features not found in any other server. Rather than
42 doing a feature by feature comparison, we will simply list the features
43 of the server, and let you decide if they satisfy your needs.
44
45 Support for RFC and VSA Attributes Additional server configuration
46 attributes Selecting a particular configuration Authentication methods
47 Accounting methods
48
49
50
51 Authors:
52 --------
53     Miquel van Smoorenburg <miquels@cistron.nl>
54     Alan DeKok <aland@ox.org>
55     Mike Machado <mike@innercite.com>
56     Alan Curry
57     various other people
58
59 %package dialupadmin
60 Group:        Productivity/Networking/Radius/Servers
61 Summary:      Web management for FreeRADIUS
62 Requires:     http_daemon apache2-mod_php4 php4
63 Requires:     php4-ldap php4-mysql perl-DateManip
64 Requires:     php4-pgsql php4-session
65
66 %description dialupadmin
67 Dialup Admin supports users either in SQL (MySQL or PostgreSQL are
68 supported) or in LDAP. Apart from the web pages, it also includes a
69 number of scripts to make the administrator's life a lot easier.
70
71
72
73 Authors:
74 --------
75     Kostas Kalevras <kkalev at noc.ntua.gr>
76     Basilis Pappas <vpappas at noc.ntua.gr>
77     Panagiotis Christias <christia at noc.ntua.gr>
78     Thanasis Duitsis <aduitsis at noc.ntua.gr>
79
80 %package devel
81 Group:        Development/Libraries/C and C++
82 Summary:      FreeRADIUS Development Files (static libs)
83
84 %description devel
85 These are the static libraries for the FreeRADIUS package.
86
87
88
89 Authors:
90 --------
91     Miquel van Smoorenburg <miquels@cistron.nl>
92     Alan DeKok <aland@ox.org>
93     Mike Machado <mike@innercite.com>
94     Alan Curry
95     various other people
96
97 %prep
98 %setup -q
99 %patch0
100 %patch1
101 %ifarch x86_64 s390x
102 %patch2
103 %endif
104 rm -rf `find . -name CVS`
105
106 %build
107 export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -DLDAP_DEPRECATED"
108 %ifarch x86_64
109 export CFLAGS="$CFLAGS -fPIC"
110 %endif
111 %if %suse_version > 1000
112 export CFLAGS="$CFLAGS -fstack-protector"
113 %endif
114 # workaround for SLES9
115 %if %suse_version < 920
116 ln -sf %{_libdir}/libmysqlclient_r.so.12 %{_libdir}/libmysqlclient_r.so
117 ln -sf %{_libdir}/libmysqlclient_r.so.12 %{_libdir}/mysql/libmysqlclient_r.so
118 %endif
119 ./configure \
120                 --prefix=%{_prefix} \
121                 --sysconfdir=%{_sysconfdir} \
122                 --infodir=%{_infodir} \
123                 --mandir=%{_mandir} \
124                 --localstatedir=/var \
125                 --libdir=/usr/lib/freeradius \
126                 --with-threads \
127                 --with-snmp \
128                 --with-large-files \
129                 --disable-ltdl-install \
130                 --with-gnu-ld \
131 %if %suse_version <= 920
132                 --enable-heimdal-krb5 \
133                 --with-rlm-krb5-include-dir=/usr/include/heimdal/ \
134 %endif
135                 --with-rlm-krb5-lib-dir=%{_libdir} \
136                 --enable-strict-dependencies \
137                 --with-edir \
138                 --with-udpfromto
139 # no parallel build possible
140 make
141
142 %install
143 rm -rf $RPM_BUILD_ROOT
144 mkdir -p $RPM_BUILD_ROOT
145 mkdir -p $RPM_BUILD_ROOT/var/lib/radiusd
146 make install R=$RPM_BUILD_ROOT
147 # modify default configuration
148 RADDB=$RPM_BUILD_ROOT%{_sysconfdir}/raddb
149 perl -i -pe 's/^#user =.*$/user = radiusd/'   $RADDB/radiusd.conf
150 perl -i -pe 's/^#group =.*$/group = radiusd/' $RADDB/radiusd.conf
151 ldconfig -n $RPM_BUILD_ROOT/usr/lib/freeradius
152 # logs
153 touch $RPM_BUILD_ROOT/var/log/radius/radutmp
154 # SuSE
155 install -d     $RPM_BUILD_ROOT/etc/pam.d
156 install -d     $RPM_BUILD_ROOT/etc/logrotate.d
157 %if %suse_version > 920
158 install -m 644 suse/radiusd-pam $RPM_BUILD_ROOT/etc/pam.d/radiusd
159 %else
160 install -m 644 suse/radiusd-pam-old $RPM_BUILD_ROOT/etc/pam.d/radiusd
161 %endif
162 install -m 644 suse/radiusd-logrotate $RPM_BUILD_ROOT/etc/logrotate.d/radiusd
163 install -d -m 755 $RPM_BUILD_ROOT/etc/init.d
164 install    -m 744 %SOURCE1 $RPM_BUILD_ROOT/etc/init.d/radiusd
165 ln -sf ../../etc/init.d/radiusd $RPM_BUILD_ROOT/usr/sbin/rcradiusd
166 mv -v doc/README doc/README.doc
167 # install dialup_admin
168 mkdir -p $RPM_BUILD_ROOT%{_datadir}/dialup_admin
169 cp -r dialup_admin/* $RPM_BUILD_ROOT%{_datadir}/dialup_admin
170 # apache2 config
171 install -d -m 755 $RPM_BUILD_ROOT%{apache2_sysconfdir}/conf.d
172 install -m 644 %SOURCE3 $RPM_BUILD_ROOT%{apache2_sysconfdir}/conf.d/radius.conf
173 # remove unneeded stuff
174 rm -rf doc/00-OLD
175 rm -f $RPM_BUILD_ROOT/etc/raddb/experimental.conf $RPM_BUILD_ROOT/usr/sbin/radwatch $RPM_BUILD_ROOT/usr/sbin/rc.radiusd
176 rm -rf $RPM_BUILD_ROOT/usr/share/doc/freeradius*
177 rm -rf $RPM_BUILD_ROOT/usr/lib/freeradius/*.la
178
179 %pre
180 /usr/sbin/groupadd -r radiusd 2> /dev/null || :
181 /usr/sbin/useradd -r -g radiusd -s /bin/false -c "Radius daemon" -d \
182                   /var/lib/radiusd radiusd 2> /dev/null || :
183
184 %post
185 %{fillup_and_insserv -s radiusd START_RADIUSD }
186 %if %suse_version > 820
187
188 %preun
189 %stop_on_removal radiusd
190 %endif
191
192 %postun
193 %if %suse_version > 820
194 %restart_on_update radiusd
195 %endif
196 %{insserv_cleanup}
197
198 %clean
199 rm -rf $RPM_BUILD_ROOT
200
201 %files
202 %defattr(-,root,root)
203 # doc
204 %doc $RPM_SOURCE_DIR/README.SuSE
205 %doc doc/* LICENSE COPYRIGHT CREDITS README
206 %doc src/modules/rlm_sql/drivers/rlm_sql_mysql/db_mysql.sql
207 %doc scripts/create-users.pl scripts/CA.* scripts/certs.sh 
208 %doc scripts/users2mysql.pl scripts/xpextensions
209 %doc scripts/cryptpasswd scripts/exec-program-wait scripts/radiusd2ldif.pl
210 # SuSE
211 %config /etc/init.d/radiusd
212 %config /etc/pam.d/radiusd
213 %config /etc/logrotate.d/radiusd
214 /usr/sbin/rcradiusd
215 %dir %attr(755,radiusd,radiusd) /var/lib/radiusd
216 # configs
217 %dir /etc/raddb
218 %defattr(-,root,radiusd)
219 %config /etc/raddb/dictionary
220 %config(noreplace) /etc/raddb/acct_users
221 %config(noreplace) /etc/raddb/attrs
222 %attr(640,-,radiusd) %ghost %config(noreplace) /etc/raddb/clients
223 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/clients.conf
224 %config(noreplace) /etc/raddb/hints
225 %config(noreplace) /etc/raddb/huntgroups
226 %config(noreplace) /etc/raddb/ldap.attrmap
227 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/mssql.conf
228 %ghost %config(noreplace) /etc/raddb/naslist
229 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/naspasswd
230 %attr(640,-,radiusd) %ghost %config(noreplace) /etc/raddb/oraclesql.conf
231 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/postgresql.conf
232 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/preproxy_users
233 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/proxy.conf
234 %config(noreplace) /etc/raddb/radiusd.conf
235 %ghost %config(noreplace) /etc/raddb/realms
236 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/snmp.conf
237 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/sql.conf
238 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/users
239 %config(noreplace) /etc/raddb/otp.conf
240 %attr(640,-,radiusd) /etc/raddb/otppasswd.sample
241 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/certs
242 %attr(640,-,radiusd) %config(noreplace) /etc/raddb/eap.conf
243 %attr(640,-,radiusd) /etc/raddb/example.pl
244 %attr(700,radiusd,radiusd) %dir /var/run/radiusd/
245 # binaries
246 %defattr(-,root,root)
247 /usr/bin/*
248 /usr/sbin/check-radiusd-config
249 /usr/sbin/checkrad
250 /usr/sbin/radiusd
251 # shared libs
252 %attr(755,root,root) %dir /usr/lib/freeradius
253 %attr(755,root,root) /usr/lib/freeradius/*.so*
254 # man-pages
255 %doc %{_mandir}/man1/*
256 %doc %{_mandir}/man5/*
257 %doc %{_mandir}/man8/*
258 # dictionaries
259 %attr(755,root,root) %dir /usr/share/freeradius
260 /usr/share/freeradius/*
261 # logs
262 %attr(700,radiusd,radiusd) %dir /var/log/radius/
263 %attr(700,radiusd,radiusd) %dir /var/log/radius/radacct/
264 %attr(644,radiusd,radiusd) /var/log/radius/radutmp
265
266 %files dialupadmin
267 %defattr(-,root,root)
268 %dir %{_datadir}/dialup_admin/
269 %{_datadir}/dialup_admin/bin/
270 %{_datadir}/dialup_admin/doc/
271 %{_datadir}/dialup_admin/htdocs/
272 %{_datadir}/dialup_admin/html/
273 %{_datadir}/dialup_admin/lib/
274 %{_datadir}/dialup_admin/sql/
275 %dir %{_datadir}/dialup_admin/conf/
276 %config(noreplace) %{_datadir}/dialup_admin/conf/*
277 %config(noreplace) %{apache2_sysconfdir}/conf.d/radius.conf
278 %{_datadir}/dialup_admin/Changelog
279 %{_datadir}/dialup_admin/README
280
281 %files devel
282 %defattr(-,root,root)
283 /usr/lib/freeradius/*.a
284 #%attr(644,root,root) /usr/lib/freeradius/*.la