From: nbk Date: Sun, 15 Jan 2006 16:05:34 +0000 (+0000) Subject: Add/update the downstream files from Suse. X-Git-Tag: release_2_0_0_pre1~751 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=freeradius.git;a=commitdiff_plain;h=9f4d5bac43d7da7a98a8e2da1bc51a0b608286bc Add/update the downstream files from Suse. Thanks to Wolfgang Rosenauer --- diff --git a/suse/freeradius.spec b/suse/freeradius.spec index e7aa5be..3f45e73 100644 --- a/suse/freeradius.spec +++ b/suse/freeradius.spec @@ -14,26 +14,31 @@ %define distroversion sles%{sles_version} %endif -# neededforbuild cyrus-sasl-devel db-devel heimdal-devel heimdal-lib mysql-devel mysql-shared openldap2 openldap2-client openldap2-devel openssl openssl-devel pam-devel postgresql postgresql-devel postgresql-libs python python-devel unixODBC unixODBC-devel +# neededforbuild apache2-devel-packages cyrus-sasl-devel db-devel kerberos-devel-packages mysql-devel mysql-shared openldap2 openldap2-client openldap2-devel openssl openssl-devel pam-devel postgresql-devel postgresql-libs python python-devel unixODBC unixODBC-devel -BuildRequires: aaa_base acl attr bash bind-utils bison bzip2 coreutils cpio cpp cracklib cvs cyrus-sasl db devs diffutils e2fsprogs file filesystem fillup findutils flex gawk gdbm-devel glibc glibc-devel glibc-locale gpm grep groff gzip info insserv less libacl libattr libgcc libnscd libselinux libstdc++ libxcrypt libzio m4 make man mktemp module-init-tools ncurses ncurses-devel net-tools netcfg openldap2-client openssl pam pam-modules patch permissions popt procinfo procps psmisc pwdutils rcs readline sed strace syslogd sysvinit tar tcpd texinfo timezone unzip util-linux vim zlib zlib-devel autoconf automake binutils cyrus-sasl-devel db-devel e2fsprogs-devel gcc gdbm gettext heimdal-devel heimdal-lib libtool mysql-devel mysql-shared openldap2 openldap2-devel openssl-devel pam-devel perl postgresql postgresql-devel postgresql-libs python python-devel rpm unixODBC unixODBC-devel +BuildRequires: aaa_base acl attr bash bind-utils bison bzip2 coreutils cpio cpp cracklib cvs cyrus-sasl db diffutils e2fsprogs file filesystem fillup findutils flex gawk gdbm-devel gettext-devel glibc glibc-devel glibc-locale gpm grep groff gzip info insserv klogd less libacl libattr libcom_err libgcc libnscd libstdc++ libxcrypt libzio m4 make man mktemp module-init-tools ncurses ncurses-devel net-tools netcfg openldap2-client openssl pam pam-modules patch permissions popt procinfo procps psmisc pwdutils rcs readline sed strace sysvinit tar tcpd texinfo timezone unzip util-linux vim zlib zlib-devel apache2 apache2-devel apache2-prefork autoconf automake binutils cyrus-sasl-devel db-devel e2fsprogs-devel expat gcc gdbm gettext krb5 krb5-devel libapr0 libtool mysql-devel mysql-shared openldap2 openldap2-devel openssl-devel pam-devel perl postgresql postgresql-devel postgresql-libs python python-devel rpm unixODBC unixODBC-devel Name: freeradius License: GPL, LGPL Group: Productivity/Networking/Radius/Servers Provides: radiusd Conflicts: radiusd-livingston radiusd-cistron icradius -Version: 1.0.2 +Version: 2.0.0 Release: 0.%{distroversion} URL: http://www.freeradius.org/ Summary: Very highly Configurable Radius-Server Source0: %{name}-%{version}.tar.gz +Source1: rcradiusd +Source2: README.SuSE +Source3: admin-httpd.conf %if %suse_version > 800 PreReq: /usr/sbin/useradd /usr/sbin/groupadd PreReq: %insserv_prereq %fillup_prereq %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build Autoreqprov: off +%define apxs2 apxs2-prefork +%define apache2_sysconfdir %(%{apxs2} -q SYSCONFDIR) %description The FreeRADIUS server has a number of features found in other servers, @@ -75,14 +80,26 @@ attributes Selecting a particular configuration Authentication methods %package dialupadmin Group: Productivity/Networking/Radius/Servers -Summary: FreeRADIUS web interface -Requires: perl-DateManip, php4, apache2-mod_php4 +Summary: Web management for FreeRADIUS +Requires: http_daemon apache2-mod_php4 php4 +Requires: php4-ldap php4-mysql perl-DateManip +Requires: php4-pgsql php4-session Autoreqprov: off %description dialupadmin -This is the FreeRADIUS web interface. +Dialup Admin supports users either in SQL (MySQL or PostgreSQL are +supported) or in LDAP. Apart from the web pages, it also includes a +number of scripts to make the administrator's life a lot easier. + +Authors: +-------- + Kostas Kalevras + Basilis Pappas + Panagiotis Christias + Thanasis Duitsis + %package devel Group: Development/Libraries/C and C++ Summary: FreeRADIUS Development Files (static libs) @@ -102,43 +119,53 @@ Authors: various other people %prep -%setup +%setup -q rm -rf `find . -name CVS` %build -CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" ./configure \ +export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -DLDAP_DEPRECATED" +%ifarch x86_64 +export CFLAGS="$CFLAGS -fPIC" +%endif +%if %suse_version > 1000 +export CFLAGS="$CFLAGS -fstack-protector" +%endif +# workaround for SLES9 +%if %suse_version < 920 +ln -sf %{_libdir}/libmysqlclient_r.so.12 %{_libdir}/libmysqlclient_r.so +ln -sf %{_libdir}/libmysqlclient_r.so.12 %{_libdir}/mysql/libmysqlclient_r.so +%endif +./configure \ --prefix=%{_prefix} \ --sysconfdir=%{_sysconfdir} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ - --libdir=/usr/lib/freeradius \ --localstatedir=/var \ + --libdir=/usr/lib/freeradius \ --with-threads \ - --with-thread-pool \ --with-snmp \ --with-large-files \ --disable-ltdl-install \ - --with-ltdl-lib=/usr/lib \ - --with-ltdl-include=/usr/include \ --with-gnu-ld \ %if %suse_version <= 920 --enable-heimdal-krb5 \ --with-rlm-krb5-include-dir=/usr/include/heimdal/ \ %endif --with-rlm-krb5-lib-dir=%{_libdir} \ - --with-edir \ %if %_oracle_support == 1 --with-rlm_sql_oracle \ --with-oracle-lib-dir=/usr/lib/oracle/10.1.0.3/client/lib/ \ %else --without-rlm_sql_oracle \ %endif - --enable-strict-dependencies + --enable-strict-dependencies \ + --with-edir \ + --with-udpfromto +# no parallel build possible make %install -[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf \ -$RPM_BUILD_ROOT +rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/var/lib/radiusd make install R=$RPM_BUILD_ROOT @@ -152,28 +179,32 @@ touch $RPM_BUILD_ROOT/var/log/radius/radutmp # SuSE install -d $RPM_BUILD_ROOT/etc/pam.d install -d $RPM_BUILD_ROOT/etc/logrotate.d -%if %suse_version >= 930 - install -m 644 suse/radiusd-pam $RPM_BUILD_ROOT/etc/pam.d/radiusd +%if %suse_version > 920 +install -m 644 suse/radiusd-pam $RPM_BUILD_ROOT/etc/pam.d/radiusd %else - #install -m 644 suse/radiusd-pam-old $RPM_BUILD_ROOT/etc/pam.d/radiusd - install -m 644 suse/radiusd-pam $RPM_BUILD_ROOT/etc/pam.d/radiusd +install -m 644 suse/radiusd-pam-old $RPM_BUILD_ROOT/etc/pam.d/radiusd %endif -install -m 644 suse/radiusd-logrotate $RPM_BUILD_ROOT/etc/logrotate.d/radiusd +install -m 644 suse/radiusd-logrotate $RPM_BUILD_ROOT/etc/logrotate.d/radiusd install -d -m 755 $RPM_BUILD_ROOT/etc/init.d -install -m 744 suse/rcradiusd $RPM_BUILD_ROOT/etc/init.d/radiusd -#install -d -m 744 $RPM_BUILD_ROOT/usr/share/dialup_admin -DIALUPADMIN=$RPM_BUILD_ROOT/usr/share/freeradius-dialupadmin -cp -R dialup_admin $DIALUPADMIN +install -m 744 %SOURCE1 $RPM_BUILD_ROOT/etc/init.d/radiusd +ln -sf ../../etc/init.d/radiusd $RPM_BUILD_ROOT/usr/sbin/rcradiusd +mv -v doc/README doc/README.doc +# install dialup_admin +DIALUPADMIN=$RPM_BUILD_ROOT%{_datadir}/dialup_admin +mkdir -p $DIALUPADMIN +cp -r dialup_admin/* $RPM_BUILD_ROOT%{_datadir}/dialup_admin perl -i -pe 's/^#general_base_dir\:.*$/general_base_dir\: \/usr\/share\/freeradius-dialupadmin/' $DIALUPADMIN/conf/admin.conf perl -i -pe 's/^#general_radiusd_base_dir\:.*$/general_radiusd_base_dir\: \//' $DIALUPADMIN/conf/admin.conf perl -i -pe 's/^#general_snmpwalk_command\:.*$/general_snmpwalk_command\: \/usr\/bin\/snmpwalk/' $DIALUPADMIN/conf/admin.conf perl -i -pe 's/^#general_snmpget_command\:.*$/general_snmpget_command\: \/usr\/bin\/snmpget/' $DIALUPADMIN/conf/admin.conf -ln -sf ../../etc/init.d/radiusd $RPM_BUILD_ROOT/usr/sbin/rcradiusd -mv -v doc/README doc/README.doc +# apache2 config +install -d -m 755 $RPM_BUILD_ROOT%{apache2_sysconfdir}/conf.d +install -m 644 %SOURCE3 $RPM_BUILD_ROOT%{apache2_sysconfdir}/conf.d/radius.conf # remove unneeded stuff rm -rf doc/00-OLD rm -f $RPM_BUILD_ROOT/etc/raddb/experimental.conf $RPM_BUILD_ROOT/usr/sbin/radwatch $RPM_BUILD_ROOT/usr/sbin/rc.radiusd rm -rf $RPM_BUILD_ROOT/usr/share/doc/freeradius* +rm -rf $RPM_BUILD_ROOT/usr/lib/freeradius/*.la %pre /usr/sbin/groupadd -r radiusd 2> /dev/null || : @@ -195,18 +226,18 @@ rm -rf $RPM_BUILD_ROOT/usr/share/doc/freeradius* %{insserv_cleanup} %clean -[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT +rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) # doc -%doc %attr(-,root,root) $RPM_SOURCE_DIR/README.SuSE +%doc $RPM_SOURCE_DIR/README.SuSE %doc doc/* LICENSE COPYRIGHT CREDITS README -%doc src/modules/rlm_sql/drivers/rlm_sql_*/*.sql +%doc src/modules/rlm_sql/drivers/rlm_sql_mysql/db_mysql.sql %doc scripts/create-users.pl scripts/CA.* scripts/certs.sh %doc scripts/users2mysql.pl scripts/xpextensions %doc scripts/cryptpasswd scripts/exec-program-wait scripts/radiusd2ldif.pl -# SUSE support scripts +# SuSE %config /etc/init.d/radiusd %config /etc/pam.d/radiusd %config /etc/logrotate.d/radiusd @@ -235,10 +266,11 @@ rm -rf $RPM_BUILD_ROOT/usr/share/doc/freeradius* %attr(640,-,radiusd) %config(noreplace) /etc/raddb/snmp.conf %attr(640,-,radiusd) %config(noreplace) /etc/raddb/sql.conf %attr(640,-,radiusd) %config(noreplace) /etc/raddb/users -%config(noreplace) /etc/raddb/x99.conf -%attr(640,-,radiusd) %config(noreplace) /etc/raddb/x99passwd.sample +%config(noreplace) /etc/raddb/otp.conf +%attr(640,-,radiusd) /etc/raddb/otppasswd.sample %attr(640,-,radiusd) %config(noreplace) /etc/raddb/certs %attr(640,-,radiusd) %config(noreplace) /etc/raddb/eap.conf +%attr(640,-,radiusd) /etc/raddb/example.pl %attr(700,radiusd,radiusd) %dir /var/run/radiusd/ # binaries %defattr(-,root,root) @@ -261,12 +293,6 @@ rm -rf $RPM_BUILD_ROOT/usr/share/doc/freeradius* %attr(700,radiusd,radiusd) %dir /var/log/radius/radacct/ %attr(644,radiusd,radiusd) /var/log/radius/radutmp -%files devel -%defattr(-,root,root) -/usr/lib/freeradius/*.a -%attr(644,root,root) /usr/lib/freeradius/*.la - - %if %_oracle_support == 1 %files oracle %defattr(-,root,root) @@ -275,7 +301,21 @@ rm -rf $RPM_BUILD_ROOT/usr/share/doc/freeradius* %endif %files dialupadmin -%dir %attr(755,root,root) /usr/share/freeradius-dialupadmin -%config /usr/share/freeradius-dialupadmin/conf -/usr/share/freeradius-dialupadmin/* +%defattr(-,root,root) +%dir %{_datadir}/dialup_admin/ +%{_datadir}/dialup_admin/bin/ +%{_datadir}/dialup_admin/doc/ +%{_datadir}/dialup_admin/htdocs/ +%{_datadir}/dialup_admin/html/ +%{_datadir}/dialup_admin/lib/ +%{_datadir}/dialup_admin/sql/ +%dir %{_datadir}/dialup_admin/conf/ +%config(noreplace) %{_datadir}/dialup_admin/conf/* +%config(noreplace) %{apache2_sysconfdir}/conf.d/radius.conf +%{_datadir}/dialup_admin/Changelog +%{_datadir}/dialup_admin/README +%files devel +%defattr(-,root,root) +/usr/lib/freeradius/*.a +#%attr(644,root,root) /usr/lib/freeradius/*.la diff --git a/suse/rcradiusd b/suse/rcradiusd index d87af65..83e2af0 100644 --- a/suse/rcradiusd +++ b/suse/rcradiusd @@ -2,7 +2,7 @@ # Copyright (c) 2001 SuSE GmbH Nuernberg, Germany. # 2002, 2003 SuSE Linux AG, Nuernberg, Germany. # -# Author: Wolfgang Rosenauer , 2000-2003 +# Author: Wolfgang Rosenauer, 2000-2003 # # /etc/init.d/radiusd # @@ -21,7 +21,9 @@ ### END INIT INFO RADIUSD_BIN=/usr/sbin/radiusd -test -x $RADIUSD_BIN || exit 5 +test -x $RADIUSD_BIN || { echo "$RADIUSD_BIN not installed"; \ + if [ "$1" = "stop" ]; then exit 0; + else exit 5; fi; } . /etc/rc.status @@ -37,10 +39,18 @@ case "$1" in killproc -TERM $RADIUSD_BIN rc_status -v ;; - try-restart) + try-restart|condrestart) ## If first returns OK call the second, if first or ## second command fails, set echo return value. - $0 status >/dev/null && $0 restart + if test "$1" = "condrestart"; then + echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}" + fi + $0 status + if test $? = 0; then + $0 restart + else + rc_reset # Not running is not a failure. + fi rc_status ;; restart)