diff options
author | Alin Năstac <mrness@gentoo.org> | 2009-12-05 08:28:58 +0000 |
---|---|---|
committer | Alin Năstac <mrness@gentoo.org> | 2009-12-05 08:28:58 +0000 |
commit | 115ef96e8ac7d637997f151f3ff4596f38b2b95d (patch) | |
tree | 66626e8455672556d8bea33df3df4d1e04d729df /net-dialup/freeradius | |
parent | Use selected CC (#293277). Install more doc files (#294533). (diff) | |
download | gentoo-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')
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 +} |