~ubuntu-branches/ubuntu/hardy/freeradius/hardy-proposed

« back to all changes in this revision

Viewing changes to suse/freeradius.spec

  • Committer: Bazaar Package Importer
  • Author(s): Mark Hymers
  • Date: 2006-12-16 20:45:11 UTC
  • mfrom: (3.1.10 feisty)
  • Revision ID: james.westby@ubuntu.com-20061216204511-3pbbsu4s8jtehsor
Tags: 1.1.3-3
Fix POSIX compliance problem in init script.  Closes: #403384. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#
2
 
# spec file for package freeradius (Version 1.0.0)
3
 
#
4
 
# Copyright (c) 2003 SuSE Linux AG, 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://www.suse.de/feedback/
9
 
#
 
1
%define _oracle_support 0
10
2
 
11
 
# neededforbuild  cyrus-sasl-devel db-devel heimdal-devel heimdal-lib libiodbc libiodbc-devel mysql-devel mysql-shared openldap2 openldap2-client openldap2-devel openssl openssl-devel postgresql postgresql-devel postgresql-libs python python-devel
 
3
%define distroversion generic
 
4
%{!?suse_version:%define suse_version 0}
 
5
%{!?sles_version:%define sles_version 0}
 
6
%if %suse_version > 0
 
7
        %define distroversion   suse%{suse_version}
 
8
%endif
 
9
%if %sles_version > 0
 
10
        %define distroversion   sles%{sles_version}
 
11
%endif
12
12
 
13
13
Name:         freeradius
14
 
License:      GPL
 
14
License:      GPL, LGPL
15
15
Group:        Productivity/Networking/Radius/Servers
16
16
Provides:     radiusd
17
17
Conflicts:    radiusd-livingston radiusd-cistron icradius
18
 
Version:      1.0.1
19
 
Release:      0
 
18
Version:      1.1.3
 
19
Release:      0.%{distroversion}
20
20
URL:          http://www.freeradius.org/
21
 
Summary:      Very highly Configurable Radius-Server.
22
 
Source0:      %{name}-%{version}.tar.bz2
23
 
Source1:      rcradiusd
24
 
%if %suse_version > 800
 
21
Summary:      Very highly Configurable Radius-Server
 
22
Conflicts:    freeradius-snapshot
 
23
Source:      %{name}-%{version}.tar.gz
 
24
 
 
25
%if 0%{?suse_version} > 800
 
26
PreReq:       /usr/sbin/useradd /usr/sbin/groupadd
25
27
PreReq:       %insserv_prereq %fillup_prereq
 
28
PreReq:       perl
26
29
%endif
27
30
BuildRoot:    %{_tmppath}/%{name}-%{version}-build
 
31
Autoreqprov:  off
 
32
%define apxs2 apxs2-prefork
 
33
%define apache2_sysconfdir %(%{apxs2} -q SYSCONFDIR)
 
34
Requires: python
 
35
%if %{?suse_version:1}0
 
36
BuildRequires: apache2-devel
 
37
%else
 
38
BuildRequires: httpd-devel
 
39
%endif
 
40
 
 
41
%if 0%{?sles_version} < 10
 
42
%else
 
43
BuildRequires: bind-libs
 
44
%endif
 
45
BuildRequires: cyrus-sasl-devel
 
46
BuildRequires: db-devel
 
47
BuildRequires: e2fsprogs-devel
 
48
BuildRequires: gcc-c++
 
49
BuildRequires: gdbm-devel
 
50
BuildRequires: gettext-devel
 
51
BuildRequires: glibc-devel
 
52
BuildRequires: libtool
 
53
BuildRequires: mysql-devel
 
54
BuildRequires: ncurses-devel
 
55
BuildRequires: net-snmp-devel
 
56
BuildRequires: openldap2-devel
 
57
BuildRequires: openssl-devel
 
58
BuildRequires: pam-devel
 
59
BuildRequires: perl
 
60
BuildRequires: postgresql-devel
 
61
BuildRequires: python-devel
 
62
BuildRequires: sed
 
63
BuildRequires: unixODBC-devel
 
64
BuildRequires: zlib-devel
 
65
 
 
66
%if 0%{?suse_version} > 910
 
67
BuildRequires: krb5-devel
 
68
%endif
 
69
 
 
70
%if 0%{?suse_version} > 930
 
71
 
 
72
BuildRequires: libcom_err
 
73
%if %suse_version > 1000
 
74
BuildRequires: libapr1-devel
 
75
%else
 
76
#BuildRequires: libapr0-devel
 
77
%endif
 
78
 
 
79
%endif
 
80
 
 
81
%if 0%{?fedora_version} > 4
 
82
BuildRequires: syslog-ng
 
83
%endif
 
84
 
28
85
 
29
86
%description
30
87
The FreeRADIUS server has a number of features found in other servers,
37
94
Accounting methods
38
95
 
39
96
 
40
 
 
41
97
Authors:
42
98
--------
43
99
    Miquel van Smoorenburg <miquels@cistron.nl>
46
102
    Alan Curry
47
103
    various other people
48
104
 
 
105
%if %_oracle_support == 1
 
106
%package oracle
 
107
BuildRequires: oracle-instantclient-basic oracle-instantclient-devel
 
108
Group:        Productivity/Networking/Radius/Servers
 
109
Summary:      FreeRADIUS Oracle database support
 
110
Requires:     oracle-instantclient-basic
 
111
Autoreqprov:  off
 
112
 
 
113
%description oracle
 
114
The FreeRADIUS server has a number of features found in other servers,
 
115
and additional features not found in any other server. Rather than
 
116
doing a feature by feature comparison, we will simply list the features
 
117
of the server, and let you decide if they satisfy your needs.
 
118
 
 
119
Support for RFC and VSA Attributes Additional server configuration
 
120
attributes Selecting a particular configuration Authentication methods
 
121
%endif
 
122
 
 
123
%package dialupadmin
 
124
Group:          Productivity/Networking/Radius/Servers
 
125
Summary:        Web management for FreeRADIUS
 
126
Requires:       http_daemon
 
127
Requires:       perl-DateManip
 
128
%if 0%{?suse_version} > 1000
 
129
Requires:       apache2-mod_php5
 
130
Requires:       php5
 
131
Requires:       php5-ldap
 
132
Requires:       php5-mysql
 
133
Requires:       php5-pgsql
 
134
%else
 
135
Requires:       apache2-mod_php4
 
136
Requires:       php4
 
137
Requires:       php4-ldap
 
138
Requires:       php4-mysql
 
139
Requires:       php4-pgsql
 
140
Requires:       php4-session
 
141
%endif
 
142
Autoreqprov:    off
 
143
 
 
144
%description dialupadmin
 
145
Dialup Admin supports users either in SQL (MySQL or PostgreSQL are
 
146
supported) or in LDAP. Apart from the web pages, it also includes a
 
147
number of scripts to make the administrator's life a lot easier.
 
148
 
 
149
 
 
150
 
 
151
Authors:
 
152
--------
 
153
    Kostas Kalevras <kkalev at noc.ntua.gr>
 
154
    Basilis Pappas <vpappas at noc.ntua.gr>
 
155
    Panagiotis Christias <christia at noc.ntua.gr>
 
156
    Thanasis Duitsis <aduitsis at noc.ntua.gr>
 
157
 
49
158
%package devel
50
159
Group:        Development/Libraries/C and C++
51
 
Summary:      FreeRADIUS development files (static libs)
 
160
Summary:      FreeRADIUS Development Files (static libs)
 
161
Autoreqprov:  off
52
162
 
53
163
%description devel
54
 
These are the static libraries of the FreeRADIUS package
 
164
These are the static libraries for the FreeRADIUS package.
55
165
 
56
166
 
57
167
 
64
174
    various other people
65
175
 
66
176
%prep
67
 
%setup
 
177
%setup -q
68
178
rm -rf `find . -name CVS`
69
179
 
 
180
 
70
181
%build
71
 
CFLAGS="$RPM_OPT_FLAGS" ./configure \
72
 
                --prefix=%{_prefix} \
 
182
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -DLDAP_DEPRECATED"
 
183
%ifarch x86_64
 
184
export CFLAGS="$CFLAGS -fPIC"
 
185
%endif
 
186
%if 0%{?suse_version} > 1000
 
187
export CFLAGS="$CFLAGS -fstack-protector"
 
188
%endif
 
189
./configure \
 
190
                --prefix=%{_prefix} \
73
191
                --sysconfdir=%{_sysconfdir} \
74
192
                --infodir=%{_infodir} \
75
193
                --mandir=%{_mandir} \
76
 
                --libdir=/usr/lib/freeradius \
77
194
                --localstatedir=/var \
 
195
                --libdir=%{_libdir}/freeradius \
78
196
                --with-threads \
79
 
                --with-thread-pool \
80
197
                --with-snmp \
81
198
                --with-large-files \
82
 
                --disable-ltdl-install \
83
 
                --with-ltdl-lib=/usr/lib \
84
 
                --with-ltdl-include=/usr/include \
85
 
                --with-gnu-ld \
 
199
%if 0%{?suse_version} <= 920 
 
200
                --without-rlm_sql_mysql \
 
201
%endif
 
202
%if %{?suse_version:1}0
 
203
%if %suse_version > 910
 
204
%if %suse_version <= 920
86
205
                --enable-heimdal-krb5 \
87
206
                --with-rlm-krb5-include-dir=/usr/include/heimdal/ \
 
207
%endif
88
208
                --with-rlm-krb5-lib-dir=%{_libdir} \
89
 
                --enable-strict-dependencies
 
209
%else
 
210
                --without-rlm_krb5 \
 
211
%endif
 
212
%endif
 
213
%if %_oracle_support == 1
 
214
                --with-rlm_sql_oracle \
 
215
                --with-oracle-lib-dir=%{_libdir}/oracle/10.1.0.3/client/lib/ \
 
216
%else
 
217
                --without-rlm_sql_oracle \
 
218
%endif
 
219
                --enable-strict-dependencies \
 
220
                --with-edir \
 
221
                --with-modules="rlm_sqlippool" \
 
222
                --disable-ltdl-install \
 
223
                --with-gnu-ld \
 
224
                --with-udpfromto
90
225
make
91
226
 
92
227
%install
93
 
[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf \
94
 
$RPM_BUILD_ROOT
 
228
rm -rf $RPM_BUILD_ROOT
95
229
mkdir -p $RPM_BUILD_ROOT
 
230
mkdir -p $RPM_BUILD_ROOT/var/lib/radiusd
96
231
make install R=$RPM_BUILD_ROOT
97
 
ldconfig -n $RPM_BUILD_ROOT/usr/lib/freeradius
 
232
# modify default configuration
 
233
RADDB=$RPM_BUILD_ROOT%{_sysconfdir}/raddb
 
234
perl -i -pe 's/^#user =.*$/user = radiusd/'   $RADDB/radiusd.conf
 
235
perl -i -pe 's/^#group =.*$/group = radiusd/' $RADDB/radiusd.conf
98
236
# logs
99
237
touch $RPM_BUILD_ROOT/var/log/radius/radutmp
100
238
# SuSE
101
239
install -d     $RPM_BUILD_ROOT/etc/pam.d
102
240
install -d     $RPM_BUILD_ROOT/etc/logrotate.d
 
241
%if 0%{?suse_version} > 920
103
242
install -m 644 suse/radiusd-pam $RPM_BUILD_ROOT/etc/pam.d/radiusd
 
243
%else
 
244
install -m 644 suse/radiusd-pam-old $RPM_BUILD_ROOT/etc/pam.d/radiusd
 
245
%endif
104
246
install -m 644 suse/radiusd-logrotate $RPM_BUILD_ROOT/etc/logrotate.d/radiusd
105
247
install -d -m 755 $RPM_BUILD_ROOT/etc/init.d
106
 
install    -m 744 %SOURCE1 $RPM_BUILD_ROOT/etc/init.d/radiusd
 
248
install    -m 744 suse/rcradiusd $RPM_BUILD_ROOT/etc/init.d/radiusd
107
249
ln -sf ../../etc/init.d/radiusd $RPM_BUILD_ROOT/usr/sbin/rcradiusd
108
250
mv -v doc/README doc/README.doc
 
251
# install dialup_admin
 
252
DIALUPADMIN=$RPM_BUILD_ROOT%{_datadir}/dialup_admin
 
253
mkdir -p $DIALUPADMIN
 
254
cp -r dialup_admin/* $RPM_BUILD_ROOT%{_datadir}/dialup_admin
 
255
perl -i -pe 's/^#general_base_dir\:.*$/general_base_dir\: \/usr\/share\/freeradius-dialupadmin/'   $DIALUPADMIN/conf/admin.conf
 
256
perl -i -pe 's/^#general_radiusd_base_dir\:.*$/general_radiusd_base_dir\: \//'   $DIALUPADMIN/conf/admin.conf
 
257
perl -i -pe 's/^#general_snmpwalk_command\:.*$/general_snmpwalk_command\: \/usr\/bin\/snmpwalk/'   $DIALUPADMIN/conf/admin.conf
 
258
perl -i -pe 's/^#general_snmpget_command\:.*$/general_snmpget_command\: \/usr\/bin\/snmpget/'   $DIALUPADMIN/conf/admin.conf
 
259
# apache2 config
 
260
install -d -m 755 $RPM_BUILD_ROOT%{apache2_sysconfdir}/conf.d
 
261
install -m 644 suse/admin-httpd.conf $RPM_BUILD_ROOT%{apache2_sysconfdir}/conf.d/radius.conf
 
262
# remove unneeded stuff
109
263
rm -rf doc/00-OLD
110
264
rm -f $RPM_BUILD_ROOT/etc/raddb/experimental.conf $RPM_BUILD_ROOT/usr/sbin/radwatch $RPM_BUILD_ROOT/usr/sbin/rc.radiusd
111
265
rm -rf $RPM_BUILD_ROOT/usr/share/doc/freeradius*
 
266
rm -rf $RPM_BUILD_ROOT/%{_libdir}/freeradius/*.la
 
267
 
 
268
%pre
 
269
/usr/sbin/groupadd -r radiusd 2> /dev/null || :
 
270
/usr/sbin/useradd -r -g radiusd -s /bin/false -c "Radius daemon" -d \
 
271
                  /var/lib/radiusd radiusd 2> /dev/null || :
112
272
 
113
273
%post
 
274
%ifarch x86_64
 
275
# Modify old installs to look for /usr/lib64/freeradius
 
276
#libdir32=${%{_libdir}%%64}/freeradius
 
277
/usr/bin/perl -i -pe "s:/usr/lib/freeradius:/usr/lib64/freeradius:" /etc/raddb/radiusd.conf
 
278
%endif
 
279
 
114
280
%{fillup_and_insserv -s radiusd START_RADIUSD }
 
281
%if 0%{?suse_version} > 820
 
282
 
 
283
%preun
 
284
%stop_on_removal radiusd
 
285
%endif
115
286
 
116
287
%postun
 
288
%if 0%{?suse_version} > 820
 
289
%restart_on_update radiusd
 
290
%endif
117
291
%{insserv_cleanup}
118
292
 
119
293
%clean
120
 
[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT
 
294
rm -rf $RPM_BUILD_ROOT
121
295
 
122
296
%files
 
297
%defattr(-,root,root)
123
298
# doc
 
299
%doc suse/README.SuSE
124
300
%doc doc/* LICENSE COPYRIGHT CREDITS README
125
 
%doc src/modules/rlm_sql/drivers/rlm_sql_mysql/db_mysql.sql
126
 
%doc scripts/create-users.pl
 
301
%doc doc/examples/*
 
302
%doc scripts/create-users.pl scripts/CA.* scripts/certs.sh
 
303
%doc scripts/users2mysql.pl scripts/xpextensions
127
304
%doc scripts/cryptpasswd scripts/exec-program-wait scripts/radiusd2ldif.pl
128
305
# SuSE
129
306
%config /etc/init.d/radiusd
130
307
%config /etc/pam.d/radiusd
131
308
%config /etc/logrotate.d/radiusd
132
309
/usr/sbin/rcradiusd
 
310
%dir %attr(755,radiusd,radiusd) /var/lib/radiusd
133
311
# configs
134
312
%dir /etc/raddb
 
313
%defattr(-,root,radiusd)
135
314
%config /etc/raddb/dictionary
136
315
%config(noreplace) /etc/raddb/acct_users
137
316
%config(noreplace) /etc/raddb/attrs
138
 
%attr(640,root,root) %config(noreplace) /etc/raddb/clients
139
 
%attr(640,root,root) %config(noreplace) /etc/raddb/clients.conf
 
317
%attr(640,-,radiusd) %ghost %config(noreplace) /etc/raddb/clients
 
318
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/clients.conf
140
319
%config(noreplace) /etc/raddb/hints
141
320
%config(noreplace) /etc/raddb/huntgroups
142
321
%config(noreplace) /etc/raddb/ldap.attrmap
143
 
%attr(640,root,root) %config(noreplace) /etc/raddb/mssql.conf
144
 
%config(noreplace) /etc/raddb/naslist
145
 
%attr(640,root,root) %config(noreplace) /etc/raddb/naspasswd
146
 
%attr(640,root,root) %config(noreplace) /etc/raddb/oraclesql.conf
147
 
%attr(640,root,root) %config(noreplace) /etc/raddb/postgresql.conf
148
 
%attr(640,root,root) %config(noreplace) /etc/raddb/preproxy_users
149
 
%attr(640,root,root) %config(noreplace) /etc/raddb/proxy.conf
 
322
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/mssql.conf
 
323
%ghost %config(noreplace) /etc/raddb/naslist
 
324
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/naspasswd
 
325
%attr(640,-,radiusd) %ghost %config(noreplace) /etc/raddb/oraclesql.conf
 
326
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/postgresql.conf
 
327
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/sqlippool.conf
 
328
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/preproxy_users
 
329
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/proxy.conf
150
330
%config(noreplace) /etc/raddb/radiusd.conf
151
 
%config(noreplace) /etc/raddb/realms
152
 
%attr(640,root,root) %config(noreplace) /etc/raddb/snmp.conf
153
 
%attr(640,root,root) %config(noreplace) /etc/raddb/sql.conf
154
 
%attr(640,root,root) %config(noreplace) /etc/raddb/users
155
 
%config(noreplace) /etc/raddb/x99.conf
156
 
%config(noreplace) /etc/raddb/eap.conf
157
 
%attr(640,root,root) %config(noreplace) /etc/raddb/x99passwd.sample
158
 
%dir /etc/raddb/certs
159
 
%config /etc/raddb/certs/README
160
 
%config(noreplace) /etc/raddb/certs/cert-clt.der
161
 
%config(noreplace) /etc/raddb/certs/cert-clt.p12
162
 
%config(noreplace) /etc/raddb/certs/cert-clt.pem
163
 
%config(noreplace) /etc/raddb/certs/cert-srv.der
164
 
%config(noreplace) /etc/raddb/certs/cert-srv.p12
165
 
%config(noreplace) /etc/raddb/certs/cert-srv.pem
166
 
%config(noreplace) /etc/raddb/certs/demoCA/cacert.pem
167
 
%config(noreplace) /etc/raddb/certs/demoCA/index.txt
168
 
%config(noreplace) /etc/raddb/certs/demoCA/index.txt.old
169
 
%config(noreplace) /etc/raddb/certs/demoCA/serial
170
 
%config(noreplace) /etc/raddb/certs/demoCA/serial.old
171
 
%config(noreplace) /etc/raddb/certs/dh
172
 
%config(noreplace) /etc/raddb/certs/newcert.pem
173
 
%config(noreplace) /etc/raddb/certs/newreq.pem
174
 
%config(noreplace) /etc/raddb/certs/random
175
 
%config(noreplace) /etc/raddb/certs/root.der
176
 
%config(noreplace) /etc/raddb/certs/root.p12
177
 
%config(noreplace) /etc/raddb/certs/root.pem
178
 
%attr(700,root,root) %dir /var/run/radiusd/
 
331
%ghost %config(noreplace) /etc/raddb/realms
 
332
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/snmp.conf
 
333
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/sql.conf
 
334
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/users
 
335
%config(noreplace) /etc/raddb/otp.conf
 
336
%attr(640,-,radiusd) /etc/raddb/otppasswd.sample
 
337
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/certs
 
338
%attr(640,-,radiusd) %config(noreplace) /etc/raddb/eap.conf
 
339
%attr(640,-,radiusd) /etc/raddb/example.pl
 
340
%attr(700,radiusd,radiusd) %dir /var/run/radiusd/
179
341
# binaries
 
342
%defattr(-,root,root)
180
343
/usr/bin/*
181
344
/usr/sbin/check-radiusd-config
182
345
/usr/sbin/checkrad
183
346
/usr/sbin/radiusd
184
347
# shared libs
185
 
%attr(755,root,root) %dir /usr/lib/freeradius
186
 
/usr/lib/freeradius/*.so*
187
 
/usr/lib/freeradius/*.la
 
348
%attr(755,root,root) %dir %{_libdir}/freeradius
 
349
%attr(755,root,root) %{_libdir}/freeradius/*.so*
188
350
# man-pages
189
351
%doc %{_mandir}/man1/*
190
352
%doc %{_mandir}/man5/*
193
355
%attr(755,root,root) %dir /usr/share/freeradius
194
356
/usr/share/freeradius/*
195
357
# logs
196
 
%attr(700,root,root) %dir /var/log/radius/
197
 
%attr(700,root,root) %dir /var/log/radius/radacct/
198
 
/var/log/radius/radutmp
 
358
%attr(700,radiusd,radiusd) %dir /var/log/radius/
 
359
%attr(700,radiusd,radiusd) %dir /var/log/radius/radacct/
 
360
%attr(644,radiusd,radiusd) /var/log/radius/radutmp
 
361
 
 
362
%if %_oracle_support == 1
 
363
%files oracle
 
364
%defattr(-,root,root)
 
365
%attr(755,root,root) %dir %{_libdir}/freeradius
 
366
%attr(755,root,root) %{_libdir}/freeradius/rlm_sql_oracle*.so*
 
367
%endif
 
368
 
 
369
%files dialupadmin
 
370
%defattr(-,root,root)
 
371
%dir %{_datadir}/dialup_admin/
 
372
%{_datadir}/dialup_admin/bin/
 
373
%{_datadir}/dialup_admin/doc/
 
374
%{_datadir}/dialup_admin/htdocs/
 
375
%{_datadir}/dialup_admin/html/
 
376
%{_datadir}/dialup_admin/lib/
 
377
%{_datadir}/dialup_admin/sql/
 
378
%dir %{_datadir}/dialup_admin/conf/
 
379
%config(noreplace) %{_datadir}/dialup_admin/conf/*
 
380
%config(noreplace) %{apache2_sysconfdir}/conf.d/radius.conf
 
381
%{_datadir}/dialup_admin/Changelog
 
382
%{_datadir}/dialup_admin/README
199
383
 
200
384
%files devel
201
 
/usr/lib/freeradius/*.a
 
385
%defattr(-,root,root)
 
386
%{_libdir}/freeradius/*.a
 
387
#%attr(644,root,root) %{_libdir}/freeradius/*.la