summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlin Năstac <mrness@gentoo.org>2006-09-09 08:42:14 +0000
committerAlin Năstac <mrness@gentoo.org>2006-09-09 08:42:14 +0000
commite761ce7677dccddfaeba112671d2a1f10c5a69f7 (patch)
treed709c8f981c0cce0dceda07b3203964f78147d73 /net-dialup/freeradius
parenthppa&&ppc stable, bug #146878 (diff)
downloadgentoo-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/ChangeLog12
-rw-r--r--net-dialup/freeradius/files/digest-freeradius-1.1.33
-rw-r--r--net-dialup/freeradius/files/freeradius-1.1.3-nostrip.patch11
-rw-r--r--net-dialup/freeradius/files/freeradius-1.1.3-versionless-la-files.patch28
-rw-r--r--net-dialup/freeradius/files/radius.init17
-rw-r--r--net-dialup/freeradius/files/radwatch.init63
-rw-r--r--net-dialup/freeradius/freeradius-1.1.1-r1.ebuild4
-rw-r--r--net-dialup/freeradius/freeradius-1.1.3.ebuild162
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."
+}