Updated for 2.0.5
[freeradius.git] / redhat / freeradius.spec
1 Summary: High-performance and highly configurable RADIUS server
2 URL: http://www.freeradius.org/
3 Name: freeradius-server
4 Version: 2.0.5
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 libtool-ltdl-devel
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-docdir=%{_datadir}/doc/%{name}-%{version} \
33         --with-system-libtool \
34         --disable-ltdl-install \
35         --with-ltdl-lib=/usr/lib \
36         --with-ltdl-include=/usr/include \
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%{_prefix}/sbin/rc.radiusd
59
60 # more files go to /usr/share/doc/freeradius-%{version}
61 install -m 0644 CREDITS $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{version}
62 install -m 0644 COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{version}
63 install -m 0644 LICENSE $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{version}
64
65 cd redhat
66 install -m 755 rc.radiusd-redhat $RPM_BUILD_ROOT/etc/rc.d/init.d/radiusd
67 install -m 644 radiusd-logrotate $RPM_BUILD_ROOT/etc/logrotate.d/radiusd
68 install -m 644 radiusd-pam       $RPM_BUILD_ROOT/etc/pam.d/radius
69 cd ..
70
71 %pre
72 /usr/sbin/useradd -c "radiusd user" -r -s /bin/false -u 95 -d / radiusd 2>/dev/null || :
73
74 %preun
75 if [ "$1" = "0" ]; then
76         /sbin/service radiusd stop > /dev/null 2>&1
77         /sbin/chkconfig --del radiusd
78 fi
79
80 %post
81 /sbin/ldconfig
82 /sbin/chkconfig --add radiusd
83
84 # Done here to avoid messing up existing installations
85 for i in radius/radutmp radius/radwtmp radius/radius.log # radius/radwatch.log radius/checkrad.log
86 do
87         touch /var/log/$i
88         chown radiusd:radiusd /var/log/$i
89         chmod 600 /var/log/$i
90 done
91
92 %postun
93 if [ "$1" -ge "1" ]; then
94         /sbin/service radiusd condrestart >/dev/null 2>&1
95 fi
96 if [ $1 = 0 ]; then
97         /usr/sbin/userdel radiusd > /dev/null 2>&1 || :
98 fi
99 /sbin/ldconfig
100
101 %clean
102 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
103
104 %files
105 %defattr(-,root,root)
106 %config /etc/pam.d/radius
107 %config /etc/logrotate.d/radiusd
108 %config /etc/rc.d/init.d/radiusd
109 %config (noreplace) /etc/raddb/*
110 %doc %{_datadir}/doc/%{name}-%{version}
111 %{_bindir}/*
112 %{_datadir}/freeradius
113 %{_libdir}/*
114 %{_mandir}/*/*
115 %{_sbindir}/*
116 %{_includedir}/freeradius/*
117 %attr(0700,radiusd,radiusd) %dir /var/log/radius
118 %attr(0700,radiusd,radiusd) %dir /var/log/radius/radacct
119 %attr(0700,radiusd,radiusd) %dir /var/run/radiusd
120
121 %changelog
122 * Thu Dec 15 2004 Alan DeKok
123 - update for 1.1.0
124
125 * Mon May 31 2004 Paul Hampson
126 - update for 1.0.0 release
127
128 * Fri May 23 2003 Marko Myllynen
129 - update for 0.9
130
131 * Wed Sep  4 2002 Marko Myllynen
132 - fix libtool issues for good
133
134 * Thu Aug 22 2002 Marko Myllynen
135 - update for 0.7/0.8
136
137 * Tue Jun 18 2002 Marko Myllynen
138 - run as radiusd user instead of root
139 - added some options for configure
140
141 * Thu Jun  6 2002 Marko Myllynen
142 - set noreplace for non-dictionary files in /etc/raddb
143
144 * Sun May 26 2002 Frank Cusack <frank@google.com>
145 - move /var dirs from %%post to %%files
146
147 * Thu Feb 14 2002 Marko Myllynen
148 - use dir name macros in all configure options
149 - libtool is required only when building the package
150 - misc clean ups
151
152 * Wed Feb 13 2002 Marko Myllynen
153 - use %%{_mandir} instead of /usr/man
154 - rename %%postin as %%post
155 - clean up name/version
156
157 * Fri Jan 18 2002 Frank Cusack <frank@google.com>
158 - remove (noreplace) for /etc/raddb/* (due to rpm bugs)
159
160 * Fri Sep 07 2001 Ivan F. Martinez <ivanfm@ecodigit.com.br>
161 - changes to make compatible with default config file shipped
162 - adjusts log files are on /var/log/radius instead of /var/log
163 - /etc/raddb changed to config(noreplace) to don't override
164 -   user configs
165
166 * Fri Sep 22 2000 Bruno Lopes F. Cabral <bruno@openline.com.br>
167 - spec file clear accordling to the libltdl fix and minor updates
168
169 * Wed Sep 12 2000 Bruno Lopes F. Cabral <bruno@openline.com.br>
170 - Updated to snapshot-12-Sep-00
171
172 * Fri Jun 16 2000 Bruno Lopes F. Cabral <bruno@openline.com.br>
173 - Initial release