diff options
author | Alin Năstac <mrness@gentoo.org> | 2006-09-09 08:42:14 +0000 |
---|---|---|
committer | Alin Năstac <mrness@gentoo.org> | 2006-09-09 08:42:14 +0000 |
commit | e761ce7677dccddfaeba112671d2a1f10c5a69f7 (patch) | |
tree | d709c8f981c0cce0dceda07b3203964f78147d73 /net-dialup/freeradius | |
parent | hppa&&ppc stable, bug #146878 (diff) | |
download | gentoo-2-e761ce7677dccddfaeba112671d2a1f10c5a69f7.tar.gz gentoo-2-e761ce7677dccddfaeba112671d2a1f10c5a69f7.tar.bz2 gentoo-2-e761ce7677dccddfaeba112671d2a1f10c5a69f7.zip |
Version bump (#145587). Improve init script - the new version don't use radwatch (#142289).
(Portage version: 2.1-r2)
Diffstat (limited to 'net-dialup/freeradius')
-rw-r--r-- | net-dialup/freeradius/ChangeLog | 12 | ||||
-rw-r--r-- | net-dialup/freeradius/files/digest-freeradius-1.1.3 | 3 | ||||
-rw-r--r-- | net-dialup/freeradius/files/freeradius-1.1.3-nostrip.patch | 11 | ||||
-rw-r--r-- | net-dialup/freeradius/files/freeradius-1.1.3-versionless-la-files.patch | 28 | ||||
-rw-r--r-- | net-dialup/freeradius/files/radius.init | 17 | ||||
-rw-r--r-- | net-dialup/freeradius/files/radwatch.init | 63 | ||||
-rw-r--r-- | net-dialup/freeradius/freeradius-1.1.1-r1.ebuild | 4 | ||||
-rw-r--r-- | net-dialup/freeradius/freeradius-1.1.3.ebuild | 162 |
8 files changed, 291 insertions, 9 deletions
diff --git a/net-dialup/freeradius/ChangeLog b/net-dialup/freeradius/ChangeLog index 8cc0b1f8226c..06f0ad63d6f5 100644 --- a/net-dialup/freeradius/ChangeLog +++ b/net-dialup/freeradius/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for net-dialup/freeradius # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/ChangeLog,v 1.55 2006/08/16 00:27:09 squinky86 Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/ChangeLog,v 1.56 2006/09/09 08:42:13 mrness Exp $ + +*freeradius-1.1.3 (09 Sep 2006) + + 09 Sep 2006; Alin Nastac <mrness@gentoo.org> + +files/freeradius-1.1.3-nostrip.patch, + +files/freeradius-1.1.3-versionless-la-files.patch, files/radius.init, + +files/radwatch.init, freeradius-1.1.1-r1.ebuild, + +freeradius-1.1.3.ebuild: + Version bump (#145587). Improve init script - the new version don't use + radwatch (#142289). 16 Aug 2006; Jon Hood <squinky86@gentoo.org> freeradius-1.1.1-r1.ebuild: Work with multilib-strict, bug #143870. diff --git a/net-dialup/freeradius/files/digest-freeradius-1.1.3 b/net-dialup/freeradius/files/digest-freeradius-1.1.3 new file mode 100644 index 000000000000..4649a66b54e2 --- /dev/null +++ b/net-dialup/freeradius/files/digest-freeradius-1.1.3 @@ -0,0 +1,3 @@ +MD5 d8724cdc15bc23c330a7d3a2080829bd freeradius-1.1.3.tar.gz 3068204 +RMD160 4ba264d2ed85e5300d48017d1e343b1db35fce90 freeradius-1.1.3.tar.gz 3068204 +SHA256 f615f67fb807494892015e671593801fe3ac30c04740cd1dc8d2f18fc218da35 freeradius-1.1.3.tar.gz 3068204 diff --git a/net-dialup/freeradius/files/freeradius-1.1.3-nostrip.patch b/net-dialup/freeradius/files/freeradius-1.1.3-nostrip.patch new file mode 100644 index 000000000000..2f264175d4be --- /dev/null +++ b/net-dialup/freeradius/files/freeradius-1.1.3-nostrip.patch @@ -0,0 +1,11 @@ +diff -Nru freeradius-1.1.3.orig/configure.in freeradius-1.1.3/configure.in +--- freeradius-1.1.3.orig/configure.in 2006-07-15 20:04:59.000000000 +0300 ++++ freeradius-1.1.3/configure.in 2006-09-09 09:55:04.598014750 +0300 +@@ -800,7 +800,7 @@ + else + devflags="" + CFLAGS="$CFLAGS -DNDEBUG" +- INSTALLSTRIP="-s" ++ INSTALLSTRIP="" + AC_MSG_RESULT(no.) + fi diff --git a/net-dialup/freeradius/files/freeradius-1.1.3-versionless-la-files.patch b/net-dialup/freeradius/files/freeradius-1.1.3-versionless-la-files.patch new file mode 100644 index 000000000000..5503a5451af7 --- /dev/null +++ b/net-dialup/freeradius/files/freeradius-1.1.3-versionless-la-files.patch @@ -0,0 +1,28 @@ +diff -Nru freeradius-1.1.3.orig/src/lib/Makefile freeradius-1.1.3/src/lib/Makefile +--- freeradius-1.1.3.orig/src/lib/Makefile 2006-04-12 23:45:20.000000000 +0300 ++++ freeradius-1.1.3/src/lib/Makefile 2006-09-09 09:11:13.281567750 +0300 +@@ -51,5 +51,3 @@ + $(INSTALL) -d -m 755 $(R)$(libdir) + $(LIBTOOL) --mode=install $(INSTALL) -c $(TARGET).la \ + $(R)$(libdir)/$(TARGET).la +- rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la; +- ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la +diff -Nru freeradius-1.1.3.orig/src/modules/rlm_eap/libeap/Makefile freeradius-1.1.3/src/modules/rlm_eap/libeap/Makefile +--- freeradius-1.1.3.orig/src/modules/rlm_eap/libeap/Makefile 2006-03-23 13:17:46.000000000 +0200 ++++ freeradius-1.1.3/src/modules/rlm_eap/libeap/Makefile 2006-09-09 09:11:13.281567750 +0300 +@@ -40,5 +40,3 @@ + install: all + $(LIBTOOL) --mode=install $(INSTALL) -c $(TARGET).la \ + $(R)$(libdir)/$(TARGET).la +- rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la; +- ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la +diff -Nru freeradius-1.1.3.orig/src/modules/rules.mak freeradius-1.1.3/src/modules/rules.mak +--- freeradius-1.1.3.orig/src/modules/rules.mak 2006-07-06 19:42:57.000000000 +0300 ++++ freeradius-1.1.3/src/modules/rules.mak 2006-09-09 09:11:13.281567750 +0300 +@@ -162,6 +162,4 @@ + if [ "x$(TARGET)" != "x" ]; then \ + $(LIBTOOL) --mode=install $(INSTALL) -c \ + $(TARGET).la $(R)$(libdir)/$(TARGET).la || exit $$?; \ +- rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la; \ +- ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la || exit $$?; \ + fi diff --git a/net-dialup/freeradius/files/radius.init b/net-dialup/freeradius/files/radius.init index f4515f3cf15c..08c2960e7f29 100644 --- a/net-dialup/freeradius/files/radius.init +++ b/net-dialup/freeradius/files/radius.init @@ -8,7 +8,13 @@ depend() { } checkconfig() { - if [ ! -d /var/run/radiusd ] && ! mkdir /var/run/radiusd; then + #set the location of log files, including startup.log created by check-radiusd-config + if ! cd /var/log/radius ; then + eeror "Failed to change current directory to /var/log/radius" + return 1 + fi + + if [[ ! -d /var/run/radiusd ]] ; then eeror "Failed to create /var/run/radiusd" return 1 fi @@ -37,22 +43,21 @@ checkconfig() { #radius.log is created before privileges drop; we need to set proper permissions on it [ -f radius.log ] || touch radius.log || return 1 - chown -R "${RADIUSD_USER:-root}:${RADIUSD_GROUP:-root}" . && \ - chmod -R u+rwX,g+rX . || return 1 + chown -R "${RADIUSD_USER:-root}:${RADIUSD_GROUP:-root}" . /var/run/radiusd && \ + chmod -R u+rwX,g+rX . /var/run/radiusd || return 1 } start() { - cd /var/log/radius #set the location of log files, including startup.log created by check-radiusd-config checkconfig || return 1 ebegin "Starting radiusd" - start-stop-daemon --start --quiet --exec /usr/sbin/radwatch -- /usr/sbin/radiusd ${RADIUSD_OPTS} >/dev/null + start-stop-daemon --start --quiet --exec /usr/sbin/radiusd -- ${RADIUSD_OPTS} >/dev/null eend $? } stop () { ebegin "Stopping radiusd" - start-stop-daemon --stop --quiet --pidfile=/var/run/radiusd/radwatch.pid + start-stop-daemon --stop --quiet --pidfile=/var/run/radiusd/radiusd.pid eend $? } diff --git a/net-dialup/freeradius/files/radwatch.init b/net-dialup/freeradius/files/radwatch.init new file mode 100644 index 000000000000..f4515f3cf15c --- /dev/null +++ b/net-dialup/freeradius/files/radwatch.init @@ -0,0 +1,63 @@ +#!/sbin/runscript + +opts="${opts} reload" + +depend() { + need net + use dns +} + +checkconfig() { + if [ ! -d /var/run/radiusd ] && ! mkdir /var/run/radiusd; then + eeror "Failed to create /var/run/radiusd" + return 1 + fi + + if [ ! -f /etc/raddb/radiusd.conf ] ; then + eerror "No /etc/raddb/radiusd.conf file exists!" + return 1 + fi + + if [ "`/usr/sbin/check-radiusd-config >/dev/null 2>&1; echo $?`" != "0" ] ; then + eerror "Config not ok! (try /usr/sbin/check-radiusd-config )" + return 1 + fi + + RADIUSD_USER=`grep '^ *user *=' /etc/raddb/radiusd.conf | cut -d ' ' -f 3` + RADIUSD_GROUP=`grep '^ *group *=' /etc/raddb/radiusd.conf | cut -d ' ' -f 3` + if [ -n "${RADIUSD_USER}" ] && ! getent passwd ${RADIUSD_USER} > /dev/null ; then + eerror "${RADIUSD_USER} user missing!" + return 1 + fi + if [ -n "${RADIUSD_GROUP}" ] && ! getent group ${RADIUSD_GROUP} > /dev/null ; then + eerror "${RADIUSD_GROUP} group missing!" + return 1 + fi + + #radius.log is created before privileges drop; we need to set proper permissions on it + [ -f radius.log ] || touch radius.log || return 1 + + chown -R "${RADIUSD_USER:-root}:${RADIUSD_GROUP:-root}" . && \ + chmod -R u+rwX,g+rX . || return 1 +} + +start() { + cd /var/log/radius #set the location of log files, including startup.log created by check-radiusd-config + checkconfig || return 1 + + ebegin "Starting radiusd" + start-stop-daemon --start --quiet --exec /usr/sbin/radwatch -- /usr/sbin/radiusd ${RADIUSD_OPTS} >/dev/null + eend $? +} + +stop () { + ebegin "Stopping radiusd" + start-stop-daemon --stop --quiet --pidfile=/var/run/radiusd/radwatch.pid + eend $? +} + +reload () { + ebegin "Reloading radiusd" + kill -HUP `</var/run/radiusd/radiusd.pid` + eend $? +} diff --git a/net-dialup/freeradius/freeradius-1.1.1-r1.ebuild b/net-dialup/freeradius/freeradius-1.1.1-r1.ebuild index 50f98528a0ab..3662456af4ff 100644 --- a/net-dialup/freeradius/freeradius-1.1.1-r1.ebuild +++ b/net-dialup/freeradius/freeradius-1.1.1-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/freeradius-1.1.1-r1.ebuild,v 1.4 2006/08/16 00:27:09 squinky86 Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/freeradius-1.1.1-r1.ebuild,v 1.5 2006/09/09 08:42:13 mrness Exp $ inherit eutils flag-o-matic libtool multilib @@ -138,7 +138,7 @@ src_install() { rm "${D}/usr/sbin/rc.radiusd" - newinitd "${FILESDIR}/radius.init" radiusd + newinitd "${FILESDIR}/radwatch.init" radiusd newconfd "${FILESDIR}/radius.conf" radiusd } diff --git a/net-dialup/freeradius/freeradius-1.1.3.ebuild b/net-dialup/freeradius/freeradius-1.1.3.ebuild new file mode 100644 index 000000000000..749eaa29362c --- /dev/null +++ b/net-dialup/freeradius/freeradius-1.1.3.ebuild @@ -0,0 +1,162 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/freeradius-1.1.3.ebuild,v 1.1 2006/09/09 08:42:14 mrness Exp $ + +inherit eutils flag-o-matic multilib + +DESCRIPTION="highly configurable free RADIUS server" +SRC_URI="ftp://ftp.freeradius.org/pub/radius/${P}.tar.gz" +HOMEPAGE="http://www.freeradius.org/" + +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +LICENSE="GPL-2" +SLOT="0" +IUSE="debug edirectory frascend frnothreads frxp kerberos ldap mysql pam postgres snmp ssl udpfromto" + +DEPEND="!net-dialup/cistronradius + !net-dialup/gnuradius + >=sys-libs/db-3.2 + sys-libs/gdbm + dev-lang/perl + snmp? ( net-analyzer/net-snmp ) + mysql? ( dev-db/mysql ) + postgres? ( dev-db/postgresql ) + pam? ( sys-libs/pam ) + ssl? ( dev-libs/openssl ) + ldap? ( net-nds/openldap ) + kerberos? ( virtual/krb5 ) + frxp? ( dev-lang/python )" + +pkg_setup() { + if use edirectory && ! use ldap ; then + eerror "Cannot add integration with Novell's eDirectory without having LDAP support!" + eerror "Either you select ldap USE flag or remove edirectory" + die "edirectory needs ldap" + fi + enewgroup radiusd + enewuser radiusd -1 -1 /var/log/radius radiusd + + #TODO: Remove this function 6 months after all <1.1.1-r1 versions + # has been removed from the tree. + if cd "${ROOT}/usr/lib" ; then + einfo "Cleaning up lefovers from previous versions..." + + local la_prefix file + for la_prefix in libradius libeap rlm_acct_unique rlm_always rlm_attr_filter rlm_attr_rewrite \ + rlm_chap rlm_checkval rlm_counter rlm_cram rlm_dbm rlm_detail rlm_digest rlm_eap rlm_eap_gtc \ + rlm_eap_leap rlm_eap_md5 rlm_eap_mschapv2 rlm_eap_peap rlm_eap_sim rlm_eap_tls rlm_eap_ttls \ + rlm_example rlm_exec rlm_expr rlm_fastusers rlm_files rlm_ippool rlm_krb5 rlm_ldap rlm_mschap \ + rlm_ns_mta_md5 rlm_otp rlm_pam rlm_pap rlm_passwd rlm_perl rlm_preprocess rlm_python rlm_radutmp \ + rlm_realm rlm_sim_files rlm_smb rlm_sql rlm_sqlcounter rlm_sql_log rlm_unix ; do + for file in ${la_prefix}-{0.8.1,0.9.0,0.9.3,1.0.1,1.0.2,1.0.4,1.0.5,1.1.0,1.1.1}.la ; do + if [ -f "${file}" ] ; then + rm "${file}" + fi + done + done + fi +} + +src_unpack() { + unpack ${A} + + epatch "${FILESDIR}/${P}-versionless-la-files.patch" + epatch "${FILESDIR}/${P}-nostrip.patch" +} + +src_compile() { + autoconf || die "autoconf failed" + + local myconf=" \ + `use_enable debug developer` \ + `use_with snmp` \ + `use_with frascend ascend-binary` \ + `use_with frxp experimental-modules` \ + `use_with udpfromto` \ + `use_with edirectory edir` " + + if useq frnothreads; then + myconf="${myconf} --without-threads" + fi + #fix bug #77613 + if has_version app-crypt/heimdal; then + myconf="${myconf} --enable-heimdal-krb5" + fi + + # kill modules we don't use + if ! use ssl; then + einfo "removing rlm_eap_tls and rlm_x99_token (no use ssl)" + rm -rf src/modules/rlm_eap/types/rlm_eap_tls src/modules/rlm_x99_token + fi + if ! use ldap; then + einfo "removing rlm_ldap (no use ldap)" + rm -rf src/modules/rlm_ldap + fi + if ! use kerberos; then + einfo "removing rlm_krb5 (no use kerberos)" + rm -rf src/modules/rlm_krb5 + fi + if ! use pam; then + einfo "removing rlm_pam (no use pam)" + rm -rf src/modules/rlm_pam + fi + + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --mandir=/usr/share/man --libdir=/usr/$(get_libdir) \ + --with-large-files --disable-ltdl-install --with-pic \ + ${myconf} || die "configure failed" + + make || die "make failed" +} + +src_install() { + dodir /etc + dodir /var/log + dodir /var/run + diropts -m0750 -o root -g radiusd + dodir /etc/raddb + diropts -m0750 -o radiusd -g radiusd + dodir /var/log/radius + keepdir /var/log/radius/radacct + dodir /var/run/radiusd + diropts + + make R="${D}" install || die "make install failed" + dosed 's:^#user *= *nobody:user = radiusd:;s:^#group *= *nobody:group = radiusd:' \ + /etc/raddb/radiusd.conf + chown -R root:radiusd "${D}"/etc/raddb/* + + mv "${D}/usr/share/doc/${PN}" "${D}/usr/share/doc/${PF}" + gzip -f -9 "${D}/usr/share/doc/${PF}"/{rfc/*.txt,*} + dodoc CREDITS + + rm "${D}/usr/sbin/rc.radiusd" + + newinitd "${FILESDIR}/radius.init" radiusd + newconfd "${FILESDIR}/radius.conf" radiusd +} + +pkg_preinst() { + enewgroup radiusd + enewuser radiusd -1 -1 /var/log/radius radiusd +} + +pkg_prerm() { + if [ "${ROOT}" = "/" ] && /etc/init.d/radiusd --quiet status ; then + /etc/init.d/radiusd stop + fi +} + +pkg_postrm() { + if [ "${ROOT}" = "/" ]; then + ewarn "If radiusd service was running, it had been stopped!" + echo + ewarn "You should update the configuration files using etc-update or dispatch-conf" + ewarn "and start the radiusd service again by running:" + einfo " /etc/init.d/radiusd start" + + ebeep + fi + ewarn "Auth-Type := Sql is no longer valid in /etc/raddb/users file!" + ewarn "You should replace it with Auth-Type := Local." +} |