X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=freeradius.spec;h=f328999b5bacd7efc6850f6bf1dcc46c691efff4;hb=062d3f7c0cbf3d41fedd8251d994a5a529ec5b8d;hp=e4b24e75f11e8146dc171e81493e95c5bba1c1b7;hpb=a14b4808886dd00c07e3ac0f756c6ebbe21e303c;p=packages%2Ffreeradius.git diff --git a/freeradius.spec b/freeradius.spec index e4b24e7..f328999 100644 --- a/freeradius.spec +++ b/freeradius.spec @@ -1,17 +1,18 @@ # %include /usr/lib/rpm/macros.perl -# FIXME: won't be good to include these contrib examples? -# Source1: http://www.ping.de/~fdc/radius/radacct-replay -# Source3: ftp://ftp.freeradius.org/pub/radius/contrib/radwho.cgi +# FIXME: +# - won't be good to include these contrib examples? +# Source1: http://www.ping.de/~fdc/radius/radacct-replay +# Source3: ftp://ftp.freeradius.org/pub/radius/contrib/radwho.cgi Summary: High-performance and highly configurable RADIUS server Summary(pl): Szybki i wysoce konfigurowalny serwer RADIUS Name: freeradius -Version: 1.0.1 -Release: 3 +Version: 1.0.2 +Release: 5 License: GPL Group: Networking/Daemons Source0: ftp://ftp.freeradius.org/pub/radius/%{name}-%{version}.tar.gz -# Source0-md5: abc30cb71367f859ceed4de6477cd59f +# Source0-md5: f5dfce4efbb03bbc47ceae08270a875e Source1: %{name}.logrotate Source2: %{name}.init Source3: %{name}.pam @@ -22,9 +23,9 @@ Patch3: %{name}-linking.patch Patch4: %{name}-moduledir.patch Patch5: %{name}-rundir.patch Patch6: %{name}-config.patch +Patch7: %{name}-eap_install_order.patch +Patch8: %{name}-sql_injection.patch URL: http://www.freeradius.org/ -Provides: user(radius) -Provides: group(radius) BuildRequires: autoconf BuildRequires: automake BuildRequires: cyrus-sasl-devel @@ -32,23 +33,33 @@ BuildRequires: gdbm-devel BuildRequires: libltdl-devel BuildRequires: libtool BuildRequires: mysql-devel -BuildRequires: openldap-devel +BuildRequires: net-snmp-devel +BuildRequires: openldap-devel >= 2.3.0 BuildRequires: openssl-devel >= 0.9.7d BuildRequires: pam-devel BuildRequires: perl-devel BuildRequires: postgresql-backend-devel BuildRequires: postgresql-devel +BuildRequires: python BuildRequires: python-devel -BuildRequires: net-snmp-devel -BuildRequires: unixODBC-devel BuildRequires: rpm-perlprov -BuildRequires: rpm-pythonprov -PreReq: rc-scripts +BuildRequires: rpmbuild(macros) >= 1.202 +BuildRequires: rpmbuild(macros) >= 1.268 +BuildRequires: unixODBC-devel Requires(post,preun): /sbin/chkconfig -Requires: libtool +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel +Requires(pre): /bin/id +Requires(pre): /usr/bin/getgid +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Requires(pre): /usr/sbin/usermod Requires: perl(DynaLoader) = %(%{__perl} -MDynaLoader -e 'print DynaLoader->VERSION') -BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +Requires: rc-scripts +Provides: group(radius) +Provides: user(radius) Obsoletes: cistron-radius +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description The FreeRADIUS Server Project is an attempt to create a @@ -59,8 +70,8 @@ more features, and is much more configurable. %description -l pl Projekt FreeRadius ma na celu stworzenie szybkiego i wysoce konfigurowalnego serwera RADIUS na licencji GPL. Ten jest podobny do -Livingston 2.0 RADIUS server ale ma o wiele wiêcej ficzersów i jest -bardziej podatny na konfiguracjê. +Livingston 2.0 RADIUS server ale ma o wiele wiêcej funkcji i posiada +wiêksze mo¿liwo¶ci konfigurowania. %prep %setup -q @@ -71,12 +82,12 @@ bardziej podatny na konfiguracj %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 +%patch8 -p1 awk 'BEGIN { printit=0; } { if (printit) print $0; } /## end libtool.m4/ { printit=1;}' \ < aclocal.m4 > acinclude.m4 -find . -type d -name CVS | xargs rm -r - %build maindir="$(pwd)" for d in rlm_attr_rewrite rlm_checkval rlm_counter rlm_dbm \ @@ -119,7 +130,7 @@ done rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{_sysconfdir}/raddb,%{_libdir}/%{name}} \ $RPM_BUILD_ROOT/etc/{logrotate.d,pam.d,rc.d/init.d} \ - $RPM_BUILD_ROOT%{_var}/log/radius + $RPM_BUILD_ROOT%{_var}/log/{,archiv}/freeradius/radacct %{__make} install \ LIBTOOL="`pwd`/libtool --tag=CC" \ @@ -134,51 +145,31 @@ install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/radius # remove useless static modules and library # rlm*.la are used (lt_dlopen) -rm -f $RPM_BUILD_ROOT%{_libdir}/{*.a,libradius.la} -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/{*.a,libradius.la} +rm -f $RPM_BUILD_ROOT%{_libdir}/{*.a,*.la} +rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/*.a %clean rm -rf $RPM_BUILD_ROOT %pre -if [ -n "`/usr/bin/getgid radius`" ]; then - if [ "`getgid radius`" != "29" ]; then - echo "Error: group radius doesn't have gid=29. Correct this before installing radius." 1>&2 - exit 1 - fi -else - /usr/sbin/groupadd -g 29 -r -f radius - if [ -n "`id -u radius 2>/dev/null`" ]; then - # upgrade from previous versions of the package, where radius' gid was "nobody" - if [ "`id -g radius`" = "99" ]; then - usermod -g 29 radius - chown radius:radius /var/log/%{name}/*.log >/dev/null 2>&1 || : - chown radius:radius /var/log/%{name}/radacct/* >/dev/null 2>&1 || : - fi - fi -fi -if [ -n "`id -u radius 2>/dev/null`" ]; then - if [ "`id -u radius`" != "29" ]; then - echo "Error: user radius doesn't have uid=29. Correct this before installing radius server." 1>&2 - exit 1 - fi -else - /usr/sbin/useradd -u 29 -d %{_localstatedir} -s /bin/false -M -r -c "%{name}" -g radius radius 1>&2 +%groupadd -g 29 -r -f radius +%useradd -u 29 -d %{_localstatedir} -s /bin/false -M -r -c "%{name}" -g radius radius + +# TODO: should be in trigger instead. +# upgrade from previous versions of the package, where radius' gid was "nobody" +if [ "`id -g radius`" = "99" ]; then + usermod -g 29 radius + chown radius:radius /var/log/%{name}/*.log >/dev/null 2>&1 || : + chown radius:radius /var/log/%{name}/radacct/* >/dev/null 2>&1 || : fi %post /sbin/chkconfig --add %{name} -if [ -f /var/lock/subsys/%{name} ]; then - /etc/rc.d/init.d/%{name} restart 1>&2 -else - echo "Run \"/etc/rc.d/init.d/%{name} start\" to start %{name} daemon." -fi +%service %{name} restart "%{name} daemon" %preun if [ "$1" = "0" ]; then - if [ -f /var/lock/subsys/%{name} ]; then - /etc/rc.d/init.d/%{name} stop 1>&2 - fi + %service %{name} stop /sbin/chkconfig --del %{name} fi @@ -195,21 +186,22 @@ fi %attr(755,root,root) %{_bindir}/* %attr(755,root,root) %{_sbindir}/* %attr(755,root,root) %{_libdir}/*.so -%{_libdir}/*.la %dir %{_libdir}/%{name} -%{_libdir}/%{name}/*.so +%attr(755,root,root) %{_libdir}/%{name}/*.so %{_libdir}/%{name}/*.la %{_datadir}/freeradius %dir %{_sysconfdir}/raddb -%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/raddb/* +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/* %attr(771,root,radius) %dir %{_var}/log/%{name} %attr(771,root,radius) %dir %{_var}/log/%{name}/radacct +%attr(771,root,radius) %dir %{_var}/log/archiv/%{name} +%attr(771,root,radius) %dir %{_var}/log/archiv/%{name}/radacct %attr(775,root,radius) %dir /var/run/%{name} %attr(754,root,root) /etc/rc.d/init.d/%{name} -%attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/* -%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/* +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/* +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/* %{_mandir}/man?/*