RPM Build Errors
A.L.M.Buxey at lboro.ac.uk
A.L.M.Buxey at lboro.ac.uk
Sun Apr 6 14:20:23 CEST 2008
Hi,
> I am attempting an rpmbuild of freeradius due to the version included in
> Centos (1.14)- We are experiencing issues with windows vista, and read
> something in an earlier post regarding such a bug that 1.17 and later
> will fix.
you can ignore my previous message - there are still underlying
issues and a tweak of the spec file is needed. I've attached a
SPEC file which should work fine on redhat/centos
systems - basically, incdir and datadir have been changed
to be appropriate to the new naming. tested this on a couple
of boxes just now
alan
-------------- next part --------------
Summary: High-performance and highly configurable RADIUS server
URL: http://www.freeradius.org/
Name: freeradius-server
Version: 2.0.3
Release: 0
License: GPL
Group: Networking/Daemons
Packager: FreeRADIUS.org
Source0: %{name}-%{version}.tar.gz
Prereq: /sbin/chkconfig
BuildPreReq: libtool libtool-ltdl-devel
# FIXME: snmpwalk, snmpget and rusers POSSIBLY needed by checkrad
Provides: radiusd
Conflicts: cistron-radius
BuildRoot: %{_tmppath}/%{name}-root
%description
The FreeRADIUS Server Project is a high-performance and highly
configurable GPL'd RADIUS server. It is somewhat similar to the
Livingston 2.0 RADIUS server, but has many more features, and is much
more configurable.
%prep
%setup
%build
CFLAGS="$RPM_OPT_FLAGS" \
%configure --prefix=%{_prefix} \
--localstatedir=%{_localstatedir} \
--sysconfdir=%{_sysconfdir} \
--mandir=%{_mandir} \
--with-docdir=%{_datadir}/doc/%{name}-%{version} \
--with-system-libtool \
--disable-ltdl-install \
--with-ltdl-lib=/usr/lib \
--with-ltdl-include=/usr/include \
--with-large-files --with-udpfromto --with-edir \
--with-rlm-sql_postgresql-include-dir=/usr/include/pgsql \
--with-rlm-krb5-include-dir=/usr/kerberos/include \
--with-rlm-krb5-lib-dir=/usr/kerberos/lib
make
%install
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/etc/{logrotate.d,pam.d,rc.d/init.d}
make install R=$RPM_BUILD_ROOT
RADDB=$RPM_BUILD_ROOT/etc/raddb
# set radiusd as default user/group
perl -i -pe 's/^#user =.*$/user = radiusd/' $RADDB/radiusd.conf
perl -i -pe 's/^#group =.*$/group = radiusd/' $RADDB/radiusd.conf
# shadow password file MUST be defined on Linux
perl -i -pe 's/# shadow =/shadow =/' $RADDB/radiusd.conf
# remove unneeded stuff
rm -f $RPM_BUILD_ROOT%{_prefix}/sbin/rc.radiusd
# more files go to /usr/share/doc/freeradius-%{version}
install -m 0644 CREDITS $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{version}
install -m 0644 COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{version}
install -m 0644 LICENSE $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{version}
cd redhat
install -m 755 rc.radiusd-redhat $RPM_BUILD_ROOT/etc/rc.d/init.d/radiusd
install -m 644 radiusd-logrotate $RPM_BUILD_ROOT/etc/logrotate.d/radiusd
install -m 644 radiusd-pam $RPM_BUILD_ROOT/etc/pam.d/radius
cd ..
%pre
/usr/sbin/useradd -c "radiusd user" -r -s /bin/false -u 95 -d / radiusd 2>/dev/null || :
%preun
if [ "$1" = "0" ]; then
/sbin/service radiusd stop > /dev/null 2>&1
/sbin/chkconfig --del radiusd
fi
%post
/sbin/ldconfig
/sbin/chkconfig --add radiusd
# Done here to avoid messing up existing installations
for i in radius/radutmp radius/radwtmp radius/radius.log # radius/radwatch.log radius/checkrad.log
do
touch /var/log/$i
chown radiusd:radiusd /var/log/$i
chmod 600 /var/log/$i
done
%postun
if [ "$1" -ge "1" ]; then
/sbin/service radiusd condrestart >/dev/null 2>&1
fi
if [ $1 = 0 ]; then
/usr/sbin/userdel radiusd > /dev/null 2>&1 || :
fi
/sbin/ldconfig
%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%config /etc/pam.d/radius
%config /etc/logrotate.d/radiusd
%config /etc/rc.d/init.d/radiusd
%config (noreplace) /etc/raddb/*
%doc %{_datadir}/doc/%{name}-%{version}
%{_bindir}/*
%{_datadir}/freeradius
%{_libdir}/*
%{_mandir}/*/*
%{_sbindir}/*
%{_includedir}/freeradius/*
%attr(0700,radiusd,radiusd) %dir /var/log/radius
%attr(0700,radiusd,radiusd) %dir /var/log/radius/radacct
%attr(0700,radiusd,radiusd) %dir /var/run/radiusd
%changelog
* Thu Dec 15 2004 Alan DeKok
- update for 1.1.0
* Mon May 31 2004 Paul Hampson
- update for 1.0.0 release
* Fri May 23 2003 Marko Myllynen
- update for 0.9
* Wed Sep 4 2002 Marko Myllynen
- fix libtool issues for good
* Thu Aug 22 2002 Marko Myllynen
- update for 0.7/0.8
* Tue Jun 18 2002 Marko Myllynen
- run as radiusd user instead of root
- added some options for configure
* Thu Jun 6 2002 Marko Myllynen
- set noreplace for non-dictionary files in /etc/raddb
* Sun May 26 2002 Frank Cusack <frank at google.com>
- move /var dirs from %%post to %%files
* Thu Feb 14 2002 Marko Myllynen
- use dir name macros in all configure options
- libtool is required only when building the package
- misc clean ups
* Wed Feb 13 2002 Marko Myllynen
- use %%{_mandir} instead of /usr/man
- rename %%postin as %%post
- clean up name/version
* Fri Jan 18 2002 Frank Cusack <frank at google.com>
- remove (noreplace) for /etc/raddb/* (due to rpm bugs)
* Fri Sep 07 2001 Ivan F. Martinez <ivanfm at ecodigit.com.br>
- changes to make compatible with default config file shipped
- adjusts log files are on /var/log/radius instead of /var/log
- /etc/raddb changed to config(noreplace) to don't override
- user configs
* Fri Sep 22 2000 Bruno Lopes F. Cabral <bruno at openline.com.br>
- spec file clear accordling to the libltdl fix and minor updates
* Wed Sep 12 2000 Bruno Lopes F. Cabral <bruno at openline.com.br>
- Updated to snapshot-12-Sep-00
* Fri Jun 16 2000 Bruno Lopes F. Cabral <bruno at openline.com.br>
- Initial release
More information about the Freeradius-Users
mailing list