import from HEAD:
[freeradius.git] / redhat / freeradius.spec
1 Summary: High-performance and highly configurable RADIUS server
2 URL: http://www.freeradius.org/
3 Name: freeradius
4 Version: 1.1.1
5 Release: 0
6 License: GPL
7 Group: Networking/Daemons
8 Packager: FreeRADIUS.org
9 Source0: %{name}-%{version}.tar.gz
10 Prereq: /sbin/chkconfig
11 BuildPreReq: libtool
12 # FIXME: snmpwalk, snmpget and rusers POSSIBLY needed by checkrad
13 Provides: radiusd
14 Conflicts: cistron-radius
15 BuildRoot: %{_tmppath}/%{name}-root
16
17 %description
18 The FreeRADIUS Server Project is a high-performance and highly
19 configurable GPL'd RADIUS server. It is somewhat similar to the
20 Livingston 2.0 RADIUS server, but has many more features, and is much
21 more configurable.
22
23 %prep
24 %setup
25
26 %build
27 CFLAGS="$RPM_OPT_FLAGS" \
28 %configure --prefix=%{_prefix} \
29         --localstatedir=%{_localstatedir} \
30         --sysconfdir=%{_sysconfdir} \
31         --mandir=%{_mandir} \
32         --with-system-libtool \
33         --disable-ltdl-install \
34         --with-ltdl-lib=/usr/lib \
35         --with-ltdl-include=/usr/include \
36         --with-gnu-ld \
37         --with-large-files --with-udpfromto --with-edir \
38         --with-rlm-sql_postgresql-include-dir=/usr/include/pgsql \
39         --with-rlm-krb5-include-dir=/usr/kerberos/include \
40         --with-rlm-krb5-lib-dir=/usr/kerberos/lib
41 make
42
43 %install
44 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
45
46 mkdir -p $RPM_BUILD_ROOT/etc/{logrotate.d,pam.d,rc.d/init.d}
47
48 make install R=$RPM_BUILD_ROOT
49
50 RADDB=$RPM_BUILD_ROOT/etc/raddb
51 # set radiusd as default user/group
52 perl -i -pe 's/^#user =.*$/user = radiusd/' $RADDB/radiusd.conf
53 perl -i -pe 's/^#group =.*$/group = radiusd/' $RADDB/radiusd.conf
54 # shadow password file MUST be defined on Linux
55 perl -i -pe 's/#        shadow =/shadow =/' $RADDB/radiusd.conf
56
57 # remove unneeded stuff
58 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/builddbm.8
59 rm -f $RPM_BUILD_ROOT%{_prefix}/sbin/rc.radiusd
60
61 cd redhat
62 install -m 755 rc.radiusd-redhat $RPM_BUILD_ROOT/etc/rc.d/init.d/radiusd
63 install -m 644 radiusd-logrotate $RPM_BUILD_ROOT/etc/logrotate.d/radiusd
64 install -m 644 radiusd-pam       $RPM_BUILD_ROOT/etc/pam.d/radius
65 cd ..
66
67 %pre
68 /usr/sbin/useradd -c "radiusd user" -r -s /bin/false -u 95 -d / radiusd 2>/dev/null || :
69
70 %preun
71 if [ "$1" = "0" ]; then
72         /sbin/service radiusd stop > /dev/null 2>&1
73         /sbin/chkconfig --del radiusd
74 fi
75
76 %post
77 /sbin/ldconfig
78 /sbin/chkconfig --add radiusd
79
80 # Done here to avoid messing up existing installations
81 for i in radius/radutmp radius/radwtmp radius/radius.log # radius/radwatch.log radius/checkrad.log
82 do
83         touch /var/log/$i
84         chown radiusd:radiusd /var/log/$i
85         chmod 600 /var/log/$i
86 done
87
88 %postun
89 if [ "$1" -ge "1" ]; then
90         /sbin/service radiusd condrestart >/dev/null 2>&1
91 fi
92 if [ $1 = 0 ]; then
93         /usr/sbin/userdel radiusd > /dev/null 2>&1 || :
94 fi
95 /sbin/ldconfig
96
97 %clean
98 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
99
100 %files
101 %defattr(-,root,root)
102 %doc doc/ChangeLog doc/README* todo/ COPYRIGHT INSTALL
103 %config /etc/pam.d/radius
104 %config /etc/logrotate.d/radiusd
105 %config /etc/rc.d/init.d/radiusd
106 %config (noreplace) /etc/raddb/*
107 %{_bindir}/*
108 %{_datadir}/%{name}
109 %{_libdir}/*
110 %{_mandir}/*/*
111 %{_sbindir}/*
112 %attr(0700,radiusd,radiusd) %dir /var/log/radius
113 %attr(0700,radiusd,radiusd) %dir /var/log/radius/radacct
114 %attr(0700,radiusd,radiusd) %dir /var/run/radiusd
115
116 %changelog
117 * Thu Dec 15 2004 Alan DeKok
118 - update for 1.1.0
119
120 * Mon May 31 2004 Paul Hampson
121 - update for 1.0.0 release
122
123 * Fri May 23 2003 Marko Myllynen
124 - update for 0.9
125
126 * Wed Sep  4 2002 Marko Myllynen
127 - fix libtool issues for good
128
129 * Thu Aug 22 2002 Marko Myllynen
130 - update for 0.7/0.8
131
132 * Tue Jun 18 2002 Marko Myllynen
133 - run as radiusd user instead of root
134 - added some options for configure
135
136 * Thu Jun  6 2002 Marko Myllynen
137 - set noreplace for non-dictionary files in /etc/raddb
138
139 * Sun May 26 2002 Frank Cusack <frank@google.com>
140 - move /var dirs from %%post to %%files
141
142 * Thu Feb 14 2002 Marko Myllynen
143 - use dir name macros in all configure options
144 - libtool is required only when building the package
145 - misc clean ups
146
147 * Wed Feb 13 2002 Marko Myllynen
148 - use %%{_mandir} instead of /usr/man
149 - rename %%postin as %%post
150 - clean up name/version
151
152 * Fri Jan 18 2002 Frank Cusack <frank@google.com>
153 - remove (noreplace) for /etc/raddb/* (due to rpm bugs)
154
155 * Fri Sep 07 2001 Ivan F. Martinez <ivanfm@ecodigit.com.br>
156 - changes to make compatible with default config file shipped
157 - adjusts log files are on /var/log/radius instead of /var/log
158 - /etc/raddb changed to config(noreplace) to don't override
159 -   user configs
160
161 * Fri Sep 22 2000 Bruno Lopes F. Cabral <bruno@openline.com.br>
162 - spec file clear accordling to the libltdl fix and minor updates
163
164 * Wed Sep 12 2000 Bruno Lopes F. Cabral <bruno@openline.com.br>
165 - Updated to snapshot-12-Sep-00
166
167 * Fri Jun 16 2000 Bruno Lopes F. Cabral <bruno@openline.com.br>
168 - Initial release