diff options
author | Alin Năstac <mrness@gentoo.org> | 2008-05-14 21:15:16 +0000 |
---|---|---|
committer | Alin Năstac <mrness@gentoo.org> | 2008-05-14 21:15:16 +0000 |
commit | 2d02ccafb287b529e42414e03fe7940b128409d1 (patch) | |
tree | 45769494e31a89bf8caeb3d04deb6e7e3d2f0397 /net-dialup | |
parent | Depend on virtual/pam as the code builds fine with OpenPAM. (diff) | |
download | gentoo-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/ChangeLog | 10 | ||||
-rw-r--r-- | net-dialup/freeradius/files/freeradius-2.0.4-ssl.patch | 11 | ||||
-rw-r--r-- | net-dialup/freeradius/files/freeradius-2.0.4-versionless-la-files.patch | 28 | ||||
-rw-r--r-- | net-dialup/freeradius/files/radius.init-r1 | 63 | ||||
-rw-r--r-- | net-dialup/freeradius/freeradius-2.0.4.ebuild | 139 |
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 +} |