summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlin Năstac <mrness@gentoo.org>2009-12-05 08:28:58 +0000
committerAlin Năstac <mrness@gentoo.org>2009-12-05 08:28:58 +0000
commit115ef96e8ac7d637997f151f3ff4596f38b2b95d (patch)
tree66626e8455672556d8bea33df3df4d1e04d729df /net-dialup/freeradius
parentUse selected CC (#293277). Install more doc files (#294533). (diff)
downloadgentoo-2-115ef96e8ac7d637997f151f3ff4596f38b2b95d.tar.gz
gentoo-2-115ef96e8ac7d637997f151f3ff4596f38b2b95d.tar.bz2
gentoo-2-115ef96e8ac7d637997f151f3ff4596f38b2b95d.zip
Version bump (#295438).
(Portage version: 2.1.6.13/cvs/Linux x86_64)
Diffstat (limited to 'net-dialup/freeradius')
-rw-r--r--net-dialup/freeradius/ChangeLog11
-rw-r--r--net-dialup/freeradius/files/freeradius-2.1.7-nothreads.patch13
-rw-r--r--net-dialup/freeradius/files/freeradius-2.1.7-pkglibdir.patch63
-rw-r--r--net-dialup/freeradius/files/freeradius-2.1.7-qafixes.patch89
-rw-r--r--net-dialup/freeradius/files/freeradius-2.1.7-ssl.patch11
-rw-r--r--net-dialup/freeradius/files/freeradius-2.1.7-versionless-la-files.patch33
-rw-r--r--net-dialup/freeradius/freeradius-2.1.7.ebuild144
7 files changed, 363 insertions, 1 deletions
diff --git a/net-dialup/freeradius/ChangeLog b/net-dialup/freeradius/ChangeLog
index 45cd768600a6..401498e34d06 100644
--- a/net-dialup/freeradius/ChangeLog
+++ b/net-dialup/freeradius/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for net-dialup/freeradius
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/ChangeLog,v 1.91 2009/09/12 04:35:43 mrness Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/ChangeLog,v 1.92 2009/12/05 08:28:57 mrness Exp $
+
+*freeradius-2.1.7 (05 Dec 2009)
+
+ 05 Dec 2009; Alin Năstac <mrness@gentoo.org> +freeradius-2.1.7.ebuild,
+ +files/freeradius-2.1.7-nothreads.patch,
+ +files/freeradius-2.1.7-pkglibdir.patch,
+ +files/freeradius-2.1.7-qafixes.patch, +files/freeradius-2.1.7-ssl.patch,
+ +files/freeradius-2.1.7-versionless-la-files.patch:
+ Version bump (#295438).
12 Sep 2009; Alin Năstac <mrness@gentoo.org>
-files/freeradius-1.1.7-qa-fixes.patch, -files/freeradius-1.1.7-ssl.patch,
diff --git a/net-dialup/freeradius/files/freeradius-2.1.7-nothreads.patch b/net-dialup/freeradius/files/freeradius-2.1.7-nothreads.patch
new file mode 100644
index 000000000000..a1835ff783d7
--- /dev/null
+++ b/net-dialup/freeradius/files/freeradius-2.1.7-nothreads.patch
@@ -0,0 +1,13 @@
+diff -Nru freeradius-server-2.1.7.orig/src/main/event.c freeradius-server-2.1.7/src/main/event.c
+--- freeradius-server-2.1.7.orig/src/main/event.c 2009-09-14 16:43:29.000000000 +0200
++++ freeradius-server-2.1.7/src/main/event.c 2009-12-05 09:17:06.000000000 +0100
+@@ -1617,7 +1617,9 @@
+ */
+ request->num_proxied_requests = 1;
+ request->num_proxied_responses = 0;
++#ifdef HAVE_PTHREAD_H
+ request->child_pid = NO_SUCH_CHILD_PID;
++#endif
+
+ update_event_timestamp(request->proxy, request->proxy_when.tv_sec);
+
diff --git a/net-dialup/freeradius/files/freeradius-2.1.7-pkglibdir.patch b/net-dialup/freeradius/files/freeradius-2.1.7-pkglibdir.patch
new file mode 100644
index 000000000000..c11ca3199160
--- /dev/null
+++ b/net-dialup/freeradius/files/freeradius-2.1.7-pkglibdir.patch
@@ -0,0 +1,63 @@
+diff -Nru freeradius-server-2.1.7.orig/Make.inc.in freeradius-server-2.1.7/Make.inc.in
+--- freeradius-server-2.1.7.orig/Make.inc.in 2009-09-14 16:43:29.000000000 +0200
++++ freeradius-server-2.1.7/Make.inc.in 2009-12-05 09:16:12.000000000 +0100
+@@ -10,6 +10,7 @@
+ sysconfdir = @sysconfdir@
+ localstatedir = @localstatedir@
+ libdir = @libdir@
++pkglibdir = @libdir@/freeradius
+ bindir = @bindir@
+ sbindir = @sbindir@
+ docdir = @docdir@
+diff -Nru freeradius-server-2.1.7.orig/raddb/radiusd.conf.in freeradius-server-2.1.7/raddb/radiusd.conf.in
+--- freeradius-server-2.1.7.orig/raddb/radiusd.conf.in 2009-09-14 16:43:29.000000000 +0200
++++ freeradius-server-2.1.7/raddb/radiusd.conf.in 2009-12-05 09:16:12.000000000 +0100
+@@ -103,7 +103,7 @@
+ # make
+ # make install
+ #
+-libdir = @libdir@
++libdir = @libdir@/freeradius
+
+ # pidfile: Where to place the PID of the RADIUS server.
+ #
+diff -Nru freeradius-server-2.1.7.orig/src/modules/Makefile freeradius-server-2.1.7/src/modules/Makefile
+--- freeradius-server-2.1.7.orig/src/modules/Makefile 2009-09-14 16:43:29.000000000 +0200
++++ freeradius-server-2.1.7/src/modules/Makefile 2009-12-05 09:16:12.000000000 +0100
+@@ -12,7 +12,7 @@
+ @$(MAKE) $(MFLAGS) WHAT_TO_MAKE=$@ common
+
+ install:
+- $(INSTALL) -d -m 755 $(R)$(libdir)
++ $(INSTALL) -d -m 755 $(R)$(pkglibdir)
+ @$(MAKE) $(MFLAGS) WHAT_TO_MAKE=$@ common
+
+ clean:
+diff -Nru freeradius-server-2.1.7.orig/src/modules/rules.mak freeradius-server-2.1.7/src/modules/rules.mak
+--- freeradius-server-2.1.7.orig/src/modules/rules.mak 2009-12-05 09:13:50.000000000 +0100
++++ freeradius-server-2.1.7/src/modules/rules.mak 2009-12-05 09:16:12.000000000 +0100
+@@ -123,7 +123,7 @@
+ $(TARGET).la: $(LT_OBJS)
+ $(LIBTOOL) --mode=link $(CC) -release $(RADIUSD_VERSION) \
+ -module $(LINK_MODE) $(LDFLAGS) $(RLM_LDFLAGS) -o $@ \
+- -rpath $(libdir) $^ $(LIBRADIUS) $(RLM_LIBS) $(LIBS)
++ -rpath $(pkglibdir) $^ $(LIBRADIUS) $(RLM_LIBS) $(LIBS)
+
+ #######################################################################
+ #
+@@ -164,13 +164,13 @@
+ # Do any module-specific installation.
+ #
+ # If there isn't a TARGET defined, then don't do anything.
+-# Otherwise, install the libraries into $(libdir)
++# Otherwise, install the libraries into $(pkglibdir)
+ #
+ install:
+ @[ "x$(RLM_INSTALL)" = "x" ] || $(MAKE) $(MFLAGS) $(RLM_INSTALL)
+ if [ "x$(TARGET)" != "x" ]; then \
+ $(LIBTOOL) --mode=install $(INSTALL) -c \
+- $(TARGET).la $(R)$(libdir)/$(TARGET).la || exit $$?; \
++ $(TARGET).la $(R)$(pkglibdir)/$(TARGET).la || exit $$?; \
+ fi
+
+ .PHONY: scan
diff --git a/net-dialup/freeradius/files/freeradius-2.1.7-qafixes.patch b/net-dialup/freeradius/files/freeradius-2.1.7-qafixes.patch
new file mode 100644
index 000000000000..28d6e373c23e
--- /dev/null
+++ b/net-dialup/freeradius/files/freeradius-2.1.7-qafixes.patch
@@ -0,0 +1,89 @@
+diff -Nru freeradius-server-2.1.7.orig/configure.in freeradius-server-2.1.7/configure.in
+--- freeradius-server-2.1.7.orig/configure.in 2009-09-14 16:43:29.000000000 +0200
++++ freeradius-server-2.1.7/configure.in 2009-12-05 09:15:14.000000000 +0100
+@@ -552,7 +552,19 @@
+ ],
+ [ AC_MSG_WARN([pcap library not found, silently disabling the RADIUS sniffer.]) ])
+
+-AC_LIB_READLINE
++AC_CHECK_LIB(readline, readline,
++ [ LIBREADLINE="-lreadline"
++ AC_DEFINE(HAVE_LIBREADLINE, 1,
++ [Define to 1 if you have a readline compatible library.])
++ AC_DEFINE(HAVE_READLINE_READLINE_H, 1,
++ [Define to 1 if you have the <readline/readline.h> header file.])
++ AC_DEFINE(HAVE_READLINE_HISTORY, 1,
++ [Define if your readline library has \`add_history'])
++ AC_DEFINE(HAVE_READLINE_HISTORY_H, 1,
++ [Define to 1 if you have the <readline/history.h> header file.])
++ ],
++ [ LIBREADLINE="" ])
++AC_SUBST(LIBREADLINE)
+
+ dnl #############################################################
+ dnl #
+diff -Nru freeradius-server-2.1.7.orig/src/include/radiusd.h freeradius-server-2.1.7/src/include/radiusd.h
+--- freeradius-server-2.1.7.orig/src/include/radiusd.h 2009-09-14 16:43:29.000000000 +0200
++++ freeradius-server-2.1.7/src/include/radiusd.h 2009-12-05 09:15:14.000000000 +0100
+@@ -642,6 +642,7 @@
+ void event_new_fd(rad_listen_t *listener);
+
+ /* evaluate.c */
++int radius_get_vp(REQUEST *request, const char *name, VALUE_PAIR **vp_p);
+ int radius_evaluate_condition(REQUEST *request, int modreturn, int depth,
+ const char **ptr, int evaluate_it, int *presult);
+ int radius_update_attrlist(REQUEST *request, CONF_SECTION *cs,
+diff -Nru freeradius-server-2.1.7.orig/src/lib/Makefile freeradius-server-2.1.7/src/lib/Makefile
+--- freeradius-server-2.1.7.orig/src/lib/Makefile 2009-12-05 09:13:50.000000000 +0100
++++ freeradius-server-2.1.7/src/lib/Makefile 2009-12-05 09:15:14.000000000 +0100
+@@ -41,7 +41,7 @@
+
+ $(TARGET).la: $(LT_OBJS)
+ $(LIBTOOL) --mode=link $(CC) -release $(RADIUSD_VERSION) \
+- $(LDFLAGS) $(LINK_MODE) -o $@ -rpath $(libdir) $^
++ $(LDFLAGS) $(LINK_MODE) -o $@ -rpath $(libdir) $^ $(LIBS)
+
+ $(LT_OBJS): $(INCLUDES)
+
+diff -Nru freeradius-server-2.1.7.orig/src/main/listen.c freeradius-server-2.1.7/src/main/listen.c
+--- freeradius-server-2.1.7.orig/src/main/listen.c 2009-09-14 16:43:29.000000000 +0200
++++ freeradius-server-2.1.7/src/main/listen.c 2009-12-05 09:15:14.000000000 +0100
+@@ -49,6 +49,9 @@
+ #include <fcntl.h>
+ #endif
+
++#ifdef WITH_UDPFROMTO
++#include <freeradius-devel/udpfromto.h>
++#endif
+
+ /*
+ * We'll use this below.
+diff -Nru freeradius-server-2.1.7.orig/src/modules/rlm_passwd/rlm_passwd.c freeradius-server-2.1.7/src/modules/rlm_passwd/rlm_passwd.c
+--- freeradius-server-2.1.7.orig/src/modules/rlm_passwd/rlm_passwd.c 2009-09-14 16:43:29.000000000 +0200
++++ freeradius-server-2.1.7/src/modules/rlm_passwd/rlm_passwd.c 2009-12-05 09:15:14.000000000 +0100
+@@ -247,8 +247,7 @@
+
+ static struct mypasswd * get_next(char *name, struct hashtable *ht)
+ {
+-#define passwd ((struct mypasswd *) ht->buffer)
+- struct mypasswd * hashentry;
++ struct mypasswd * hashentry, * passwd;
+ char buffer[1024];
+ int len;
+ char *list, *nextlist;
+@@ -267,6 +266,7 @@
+ }
+ /* printf("try to find in file\n"); */
+ if (!ht->fp) return NULL;
++ passwd = (struct mypasswd *) ht->buffer;
+ while (fgets(buffer, 1024,ht->fp)) {
+ if(*buffer && *buffer!='\n' && (len = string_to_entry(buffer, ht->nfields, ht->delimiter, passwd, sizeof(ht->buffer)-1)) &&
+ (!ht->ignorenis || (*buffer !='-' && *buffer != '+') ) ){
+@@ -288,7 +288,6 @@
+ fclose(ht->fp);
+ ht->fp = NULL;
+ return NULL;
+-#undef passwd
+ }
+
+ static struct mypasswd * get_pw_nam(char * name, struct hashtable* ht)
diff --git a/net-dialup/freeradius/files/freeradius-2.1.7-ssl.patch b/net-dialup/freeradius/files/freeradius-2.1.7-ssl.patch
new file mode 100644
index 000000000000..f30c09da182d
--- /dev/null
+++ b/net-dialup/freeradius/files/freeradius-2.1.7-ssl.patch
@@ -0,0 +1,11 @@
+diff -Nru freeradius-server-2.1.7.orig/src/modules/rlm_eap/libeap/Makefile freeradius-server-2.1.7/src/modules/rlm_eap/libeap/Makefile
+--- freeradius-server-2.1.7.orig/src/modules/rlm_eap/libeap/Makefile 2009-12-05 09:13:50.000000000 +0100
++++ freeradius-server-2.1.7/src/modules/rlm_eap/libeap/Makefile 2009-12-05 09:14:06.000000000 +0100
+@@ -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.1.7-versionless-la-files.patch b/net-dialup/freeradius/files/freeradius-2.1.7-versionless-la-files.patch
new file mode 100644
index 000000000000..c33bb761e801
--- /dev/null
+++ b/net-dialup/freeradius/files/freeradius-2.1.7-versionless-la-files.patch
@@ -0,0 +1,33 @@
+diff -Nru freeradius-server-2.1.7.orig/src/lib/Makefile freeradius-server-2.1.7/src/lib/Makefile
+--- freeradius-server-2.1.7.orig/src/lib/Makefile 2009-09-14 16:43:29.000000000 +0200
++++ freeradius-server-2.1.7/src/lib/Makefile 2009-12-05 09:12:55.000000000 +0100
+@@ -53,8 +53,6 @@
+ $(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
+
+ .PHONY: scan
+ scan:
+diff -Nru freeradius-server-2.1.7.orig/src/modules/rlm_eap/libeap/Makefile freeradius-server-2.1.7/src/modules/rlm_eap/libeap/Makefile
+--- freeradius-server-2.1.7.orig/src/modules/rlm_eap/libeap/Makefile 2009-09-14 16:43:29.000000000 +0200
++++ freeradius-server-2.1.7/src/modules/rlm_eap/libeap/Makefile 2009-12-05 09:12:55.000000000 +0100
+@@ -44,5 +44,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.1.7.orig/src/modules/rules.mak freeradius-server-2.1.7/src/modules/rules.mak
+--- freeradius-server-2.1.7.orig/src/modules/rules.mak 2009-09-14 16:43:29.000000000 +0200
++++ freeradius-server-2.1.7/src/modules/rules.mak 2009-12-05 09:12:55.000000000 +0100
+@@ -171,8 +171,6 @@
+ 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
+
+ .PHONY: scan
diff --git a/net-dialup/freeradius/freeradius-2.1.7.ebuild b/net-dialup/freeradius/freeradius-2.1.7.ebuild
new file mode 100644
index 000000000000..c9e9627ff112
--- /dev/null
+++ b/net-dialup/freeradius/freeradius-2.1.7.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/freeradius/freeradius-2.1.7.ebuild,v 1.1 2009/12/05 08:28:57 mrness Exp $
+
+EAPI="2"
+
+inherit eutils multilib pam autotools libtool
+
+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
+ sys-libs/readline
+ net-libs/libpcap
+ dev-lang/perl
+ snmp? ( net-analyzer/net-snmp )
+ mysql? ( virtual/mysql )
+ postgres? ( virtual/postgresql-server )
+ !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}"
+
+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_prepare() {
+ epatch "${FILESDIR}/${P}-versionless-la-files.patch"
+ epatch "${FILESDIR}/${P}-ssl.patch"
+ epatch "${FILESDIR}/${P}-qafixes.patch"
+ epatch "${FILESDIR}/${P}-pkglibdir.patch"
+ epatch "${FILESDIR}/${P}-nothreads.patch"
+
+ # 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
+
+ # These are needed for fixing libtool-2 related issues (#261189)
+ # Keep these lines even if you don't patch *.{in,am} files!
+ eautoreconf
+ elibtoolize
+}
+
+src_configure() {
+ 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-static --disable-ltdl-install \
+ --localstatedir=/var ${myconf} || die "econf failed"
+}
+
+src_compile() {
+ emake -j1 || die "emake 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
+}