summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlin Năstac <mrness@gentoo.org>2008-05-14 21:15:16 +0000
committerAlin Năstac <mrness@gentoo.org>2008-05-14 21:15:16 +0000
commit2d02ccafb287b529e42414e03fe7940b128409d1 (patch)
tree45769494e31a89bf8caeb3d04deb6e7e3d2f0397 /net-dialup
parentDepend on virtual/pam as the code builds fine with OpenPAM. (diff)
downloadgentoo-2-2d02ccafb287b529e42414e03fe7940b128409d1.tar.gz
gentoo-2-2d02ccafb287b529e42414e03fe7940b128409d1.tar.bz2
gentoo-2-2d02ccafb287b529e42414e03fe7940b128409d1.zip
Version bump which fixes bug #218843.
(Portage version: 2.1.4.4)
Diffstat (limited to 'net-dialup')
-rw-r--r--net-dialup/freeradius/ChangeLog10
-rw-r--r--net-dialup/freeradius/files/freeradius-2.0.4-ssl.patch11
-rw-r--r--net-dialup/freeradius/files/freeradius-2.0.4-versionless-la-files.patch28
-rw-r--r--net-dialup/freeradius/files/radius.init-r163
-rw-r--r--net-dialup/freeradius/freeradius-2.0.4.ebuild139
5 files changed, 250 insertions, 1 deletions
diff --git a/net-dialup/freeradius/ChangeLog b/net-dialup/freeradius/ChangeLog
index e42523ac3b1f..f93f4b3266a9 100644
--- a/net-dialup/freeradius/ChangeLog
+++ b/net-dialup/freeradius/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for net-dialup/freeradius
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/ChangeLog,v 1.76 2008/04/14 19:55:37 mrness Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/ChangeLog,v 1.77 2008/05/14 21:15:16 mrness Exp $
+
+*freeradius-2.0.4 (14 May 2008)
+
+ 14 May 2008; Alin Năstac <mrness@gentoo.org>
+ +files/freeradius-2.0.4-ssl.patch,
+ +files/freeradius-2.0.4-versionless-la-files.patch, +files/radius.init-r1,
+ +freeradius-2.0.4.ebuild:
+ Version bump which fixes bug #218843.
14 Apr 2008; Alin Năstac <mrness@gentoo.org> freeradius-1.1.7.ebuild,
freeradius-2.0.3.ebuild:
diff --git a/net-dialup/freeradius/files/freeradius-2.0.4-ssl.patch b/net-dialup/freeradius/files/freeradius-2.0.4-ssl.patch
new file mode 100644
index 000000000000..2f30e8ef563a
--- /dev/null
+++ b/net-dialup/freeradius/files/freeradius-2.0.4-ssl.patch
@@ -0,0 +1,11 @@
+diff -Nru freeradius-server-2.0.4.orig/src/modules/rlm_eap/libeap/Makefile freeradius-server-2.0.4/src/modules/rlm_eap/libeap/Makefile
+--- freeradius-server-2.0.4.orig/src/modules/rlm_eap/libeap/Makefile 2008-05-14 01:58:48.000000000 +0300
++++ freeradius-server-2.0.4/src/modules/rlm_eap/libeap/Makefile 2008-05-14 01:59:07.000000000 +0300
+@@ -9,6 +9,7 @@
+ SRCS = eapcommon.c eapcrypto.c eapsimlib.c fips186prf.c
+ ifneq ($(OPENSSL_LIBS),)
+ SRCS += cb.c eap_tls.c mppe_keys.c tls.c
++LIBS += $(OPENSSL_LIBS)
+ endif
+ LT_OBJS = $(SRCS:.c=.lo)
+ INCLUDES = eap_types.h eap_tls.h
diff --git a/net-dialup/freeradius/files/freeradius-2.0.4-versionless-la-files.patch b/net-dialup/freeradius/files/freeradius-2.0.4-versionless-la-files.patch
new file mode 100644
index 000000000000..8d308019264f
--- /dev/null
+++ b/net-dialup/freeradius/files/freeradius-2.0.4-versionless-la-files.patch
@@ -0,0 +1,28 @@
+diff -Nru freeradius-server-2.0.4.orig/src/lib/Makefile freeradius-server-2.0.4/src/lib/Makefile
+--- freeradius-server-2.0.4.orig/src/lib/Makefile 2008-04-20 18:18:39.000000000 +0300
++++ freeradius-server-2.0.4/src/lib/Makefile 2008-05-14 01:57:57.000000000 +0300
+@@ -53,5 +53,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-server-2.0.4.orig/src/modules/rlm_eap/libeap/Makefile freeradius-server-2.0.4/src/modules/rlm_eap/libeap/Makefile
+--- freeradius-server-2.0.4.orig/src/modules/rlm_eap/libeap/Makefile 2007-11-25 15:56:10.000000000 +0200
++++ freeradius-server-2.0.4/src/modules/rlm_eap/libeap/Makefile 2008-05-14 01:57:57.000000000 +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-server-2.0.4.orig/src/modules/rules.mak freeradius-server-2.0.4/src/modules/rules.mak
+--- freeradius-server-2.0.4.orig/src/modules/rules.mak 2008-01-10 12:12:01.000000000 +0200
++++ freeradius-server-2.0.4/src/modules/rules.mak 2008-05-14 01:57:57.000000000 +0300
+@@ -163,6 +163,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-r1 b/net-dialup/freeradius/files/radius.init-r1
new file mode 100644
index 000000000000..8c5f8c7927d9
--- /dev/null
+++ b/net-dialup/freeradius/files/radius.init-r1
@@ -0,0 +1,63 @@
+#!/sbin/runscript
+
+opts="${opts} reload"
+
+depend() {
+ need net
+ use dns
+}
+
+checkconfig() {
+ # set the location of log files
+ if ! cd /var/log/radius ; then
+ eerror "Failed to change current directory to /var/log/radius"
+ return 1
+ fi
+
+ if [ ! -d /var/run/radiusd ] && ! mkdir /var/run/radiusd ; then
+ eerror "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
+
+ 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 are dropped - need to set proper permissions on it
+ [ -f radius.log ] || touch radius.log || 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() {
+ checkconfig || return 1
+
+ ebegin "Starting radiusd"
+ 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/radiusd.pid
+ eend $?
+}
+
+reload () {
+ ebegin "Reloading radiusd"
+ kill -HUP `</var/run/radiusd/radiusd.pid`
+ eend $?
+}
diff --git a/net-dialup/freeradius/freeradius-2.0.4.ebuild b/net-dialup/freeradius/freeradius-2.0.4.ebuild
new file mode 100644
index 000000000000..5d8f2356e97f
--- /dev/null
+++ b/net-dialup/freeradius/freeradius-2.0.4.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/freeradius-2.0.4.ebuild,v 1.1 2008/05/14 21:15:16 mrness Exp $
+
+WANT_AUTOMAKE="none"
+
+inherit eutils multilib autotools pam
+
+DESCRIPTION="Highly configurable free RADIUS server"
+SRC_URI="ftp://ftp.freeradius.org/pub/radius/${PN}-server-${PV}.tar.gz"
+HOMEPAGE="http://www.freeradius.org/"
+
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="bindist debug edirectory firebird frascend frxp kerberos ldap mysql pam postgres snmp ssl threads udpfromto"
+
+RDEPEND="!net-dialup/cistronradius
+ !net-dialup/gnuradius
+ >=sys-libs/db-3.2
+ sys-libs/gdbm
+ dev-lang/perl
+ snmp? ( net-analyzer/net-snmp )
+ mysql? ( virtual/mysql )
+ postgres? ( dev-db/postgresql )
+ !bindist? ( firebird? ( dev-db/firebird ) )
+ pam? ( sys-libs/pam )
+ ssl? ( dev-libs/openssl )
+ ldap? ( net-nds/openldap )
+ kerberos? ( virtual/krb5 )
+ frxp? ( dev-lang/python )"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf"
+
+S="${WORKDIR}/${PN}-server-${PV}"
+
+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
+}
+
+src_unpack() {
+ unpack ${A}
+
+ epatch "${FILESDIR}/${P}-versionless-la-files.patch"
+ epatch "${FILESDIR}/${P}-ssl.patch"
+
+ cd "${S}"
+
+ # kill modules we don't use
+ if ! use ssl; then
+ einfo "removing rlm_eap_{tls,ttls,ikev2,peap} modules (no use ssl)"
+ rm -rf src/modules/rlm_eap/types/rlm_eap_{tls,ttls,ikev2,peap}
+ 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
+ if ! use mysql; then
+ einfo "removing rlm_sql_mysql (no use mysql)"
+ rm -rf src/modules/rlm_sql/drivers/rlm_sql_mysql
+ sed -i -e '/rlm_sql_mysql/d' src/modules/rlm_sql/stable
+ fi
+ if ! use postgres; then
+ einfo "removing rlm_sql_postgresql (no use postgres)"
+ rm -rf src/modules/rlm_sql/drivers/rlm_sql_postgresql
+ sed -i -e '/rlm_sql_postgresql/d' src/modules/rlm_sql/stable
+ fi
+ if use bindist || ! use firebird; then
+ einfo "removing rlm_sql_firebird (use bindist or no use firebird)"
+ rm -rf src/modules/rlm_sql/drivers/rlm_sql_firebird
+ sed -i -e '/rlm_sql_firebird/d' src/modules/rlm_sql/stable
+ fi
+
+ eautoconf || die "eautoconf failed"
+}
+
+src_compile() {
+ 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) \
+ $(use_with threads)"
+
+ #fix bug #77613
+ if has_version app-crypt/heimdal; then
+ myconf="${myconf} --enable-heimdal-krb5"
+ fi
+
+ econf --disable-ltdl-install \
+ --localstatedir=/var ${myconf} || die "econf 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/*
+
+ pamd_mimic_system radiusd auth account password session
+
+ mv "${D}/usr/share/doc/${PN}" "${D}/usr/share/doc/${PF}"
+ prepalldocs
+ dodoc CREDITS
+
+ rm "${D}/usr/sbin/rc.radiusd"
+
+ newinitd "${FILESDIR}/radius.init-r1" radiusd
+ newconfd "${FILESDIR}/radius.conf" radiusd
+}