summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlin Năstac <mrness@gentoo.org>2009-04-25 11:42:36 +0000
committerAlin Năstac <mrness@gentoo.org>2009-04-25 11:42:36 +0000
commit6d1548ad43b507aa28683f5e4db37c0fa0ab0d82 (patch)
tree672dc976c0f31e1a80a019c55a81431ed3f77082 /net-proxy
parentBump to newer beta release, this also fixes the gconf-check, see bug (diff)
downloadgentoo-2-6d1548ad43b507aa28683f5e4db37c0fa0ab0d82.tar.gz
gentoo-2-6d1548ad43b507aa28683f5e4db37c0fa0ab0d82.tar.bz2
gentoo-2-6d1548ad43b507aa28683f5e4db37c0fa0ab0d82.zip
Fix assertion failure (#267109). Fix gcc-4.3 and cross compilation issues (#266581).
(Portage version: 2.1.6.7/cvs/Linux x86_64)
Diffstat (limited to 'net-proxy')
-rw-r--r--net-proxy/squid/ChangeLog11
-rw-r--r--net-proxy/squid/files/squid-3.0.14-cross-compile.patch38
-rw-r--r--net-proxy/squid/files/squid-3.0.14-gcc43.patch39
-rw-r--r--net-proxy/squid/files/squid-3.0.14-max-forwards.patch12
-rw-r--r--net-proxy/squid/squid-3.0.14-r1.ebuild (renamed from net-proxy/squid/squid-2.7.6.ebuild)67
5 files changed, 134 insertions, 33 deletions
diff --git a/net-proxy/squid/ChangeLog b/net-proxy/squid/ChangeLog
index 0ebdc4ba69f1..51547d307b25 100644
--- a/net-proxy/squid/ChangeLog
+++ b/net-proxy/squid/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for net-proxy/squid
# Copyright 2002-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-proxy/squid/ChangeLog,v 1.241 2009/04/22 20:19:01 maekke Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-proxy/squid/ChangeLog,v 1.242 2009/04/25 11:42:35 mrness Exp $
+
+*squid-3.0.14-r1 (25 Apr 2009)
+
+ 25 Apr 2009; Alin Năstac <mrness@gentoo.org>
+ +files/squid-3.0.14-cross-compile.patch, +files/squid-3.0.14-gcc43.patch,
+ +files/squid-3.0.14-max-forwards.patch, -squid-2.7.6.ebuild,
+ +squid-3.0.14-r1.ebuild:
+ Fix assertion failure (#267109). Fix gcc-4.3 and cross compilation issues
+ (#266581).
22 Apr 2009; Markus Meier <maekke@gentoo.org> squid-2.7.6-r1:
amd64 stable, bug #263777
diff --git a/net-proxy/squid/files/squid-3.0.14-cross-compile.patch b/net-proxy/squid/files/squid-3.0.14-cross-compile.patch
new file mode 100644
index 000000000000..77d96c7d23ee
--- /dev/null
+++ b/net-proxy/squid/files/squid-3.0.14-cross-compile.patch
@@ -0,0 +1,38 @@
+diff -Nru squid-3.0.STABLE14.orig/configure.in squid-3.0.STABLE14/configure.in
+--- squid-3.0.STABLE14.orig/configure.in 2009-04-25 11:24:10.000000000 +0000
++++ squid-3.0.STABLE14/configure.in 2009-04-25 11:31:02.000000000 +0000
+@@ -1820,6 +1820,10 @@
+ ;;
+ esac
+
++dnl Define HOSTCXX
++HOSTCXX="$build-g++"
++AC_SUBST(HOSTCXX)
++
+ dnl Check for programs
+ AC_PROG_CPP
+ AC_PROG_INSTALL
+diff -Nru squid-3.0.STABLE14.orig/src/Makefile.am squid-3.0.STABLE14/src/Makefile.am
+--- squid-3.0.STABLE14.orig/src/Makefile.am 2009-04-25 11:24:10.000000000 +0000
++++ squid-3.0.STABLE14/src/Makefile.am 2009-04-25 11:31:02.000000000 +0000
+@@ -1007,6 +1007,8 @@
+
+ DEFS = @DEFS@ -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\"
+
++HOSTCXX ?= @HOSTCXX@
++
+ $(OBJS): $(top_srcdir)/include/version.h ../include/autoconf.h
+
+ snmp_core.o snmp_agent.o: ../snmplib/libsnmp.a $(top_srcdir)/include/cache_snmp.h
+@@ -1030,6 +1032,11 @@
+ squid.conf.default: cf_parser.h
+ true
+
++cf_gen$(EXEEXT): $(cf_gen_SOURCES) $(cf_gen_DEPENDENCIES)
++ $(HOSTCXX) -o $@ $(srcdir)/cf_gen.cc \
++ $(top_srcdir)/lib/util.c $(top_srcdir)/lib/assert.c \
++ -DNDEBUG -DBUILD_HOST_TOOL ${INCLUDES}
++
+ cf_parser.h: cf.data cf_gen$(EXEEXT)
+ ./cf_gen cf.data $(srcdir)/cf.data.depend
+
diff --git a/net-proxy/squid/files/squid-3.0.14-gcc43.patch b/net-proxy/squid/files/squid-3.0.14-gcc43.patch
new file mode 100644
index 000000000000..cc2a843201c5
--- /dev/null
+++ b/net-proxy/squid/files/squid-3.0.14-gcc43.patch
@@ -0,0 +1,39 @@
+diff -Nru squid-3.0.STABLE14.orig/lib/util.c squid-3.0.STABLE14/lib/util.c
+--- squid-3.0.STABLE14.orig/lib/util.c 2009-04-11 08:35:38.000000000 +0000
++++ squid-3.0.STABLE14/lib/util.c 2009-04-25 11:28:40.000000000 +0000
+@@ -755,7 +755,7 @@
+
+ PROF_stop(xstrdup);
+
+- return p;
++ return (char *)p;
+ }
+
+ /*
+@@ -765,7 +765,7 @@
+ xstrndup(const char *s, size_t n)
+ {
+ size_t sz;
+- void *p;
++ char *p;
+ PROF_start(xstrndup);
+ assert(s != NULL);
+ assert(n);
+@@ -774,7 +774,7 @@
+ if (sz > n)
+ sz = n;
+
+- p = xstrncpy(xmalloc(sz), s, sz);
++ p = xstrncpy((char *)xmalloc(sz), s, sz);
+
+ PROF_stop(xstrndup);
+
+@@ -923,7 +923,7 @@
+ xint64toa(int64_t num)
+ {
+ static char buf[24]; /* 2^64 = 18446744073709551616 */
+- snprintf(buf, sizeof(buf), "%" PRId64, num);
++ snprintf(buf, sizeof(buf), "%" PRId64, (long long int)num);
+ return buf;
+ }
+
diff --git a/net-proxy/squid/files/squid-3.0.14-max-forwards.patch b/net-proxy/squid/files/squid-3.0.14-max-forwards.patch
new file mode 100644
index 000000000000..52b274f81b29
--- /dev/null
+++ b/net-proxy/squid/files/squid-3.0.14-max-forwards.patch
@@ -0,0 +1,12 @@
+diff -Nru squid-3.0.STABLE14.orig/src/HttpHeader.cc squid-3.0.STABLE14/src/HttpHeader.cc
+--- squid-3.0.STABLE14.orig/src/HttpHeader.cc 2009-04-11 08:35:40.000000000 +0000
++++ squid-3.0.STABLE14/src/HttpHeader.cc 2009-04-25 11:34:00.000000000 +0000
+@@ -106,7 +106,7 @@
+ {"Last-Modified", HDR_LAST_MODIFIED, ftDate_1123},
+ {"Link", HDR_LINK, ftStr},
+ {"Location", HDR_LOCATION, ftStr},
+- {"Max-Forwards", HDR_MAX_FORWARDS, ftInt},
++ {"Max-Forwards", HDR_MAX_FORWARDS, ftInt64},
+ {"Mime-Version", HDR_MIME_VERSION, ftStr}, /* for now */
+ {"Pragma", HDR_PRAGMA, ftStr},
+ {"Proxy-Authenticate", HDR_PROXY_AUTHENTICATE, ftStr},
diff --git a/net-proxy/squid/squid-2.7.6.ebuild b/net-proxy/squid/squid-3.0.14-r1.ebuild
index ff6d382f4d5c..bf7370afd111 100644
--- a/net-proxy/squid/squid-2.7.6.ebuild
+++ b/net-proxy/squid/squid-3.0.14-r1.ebuild
@@ -1,27 +1,29 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-proxy/squid/squid-2.7.6.ebuild,v 1.7 2009/02/25 20:39:16 maekke Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-proxy/squid/squid-3.0.14-r1.ebuild,v 1.1 2009/04/25 11:42:35 mrness Exp $
+EAPI="2"
WANT_AUTOCONF="latest"
WANT_AUTOMAKE="latest"
inherit eutils pam toolchain-funcs autotools linux-info
-#lame archive versioning scheme..
+# lame archive versioning scheme..
S_PMV="${PV%%.*}"
S_PV="${PV%.*}"
S_PL="${PV##*.}"
-S_PL="${S_PL/_rc/-RC}"
S_PP="${PN}-${S_PV}.STABLE${S_PL}"
+RESTRICT="test" # check if test works in next bump
+
DESCRIPTION="A full-featured web proxy cache"
HOMEPAGE="http://www.squid-cache.org/"
SRC_URI="http://www.squid-cache.org/Versions/v${S_PMV}/${S_PV}/${S_PP}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd"
-IUSE="pam ldap samba sasl kerberos nis ssl snmp selinux logrotate \
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="pam ldap samba sasl kerberos nis radius ssl snmp selinux icap-client logrotate \
mysql postgres sqlite \
zero-penalty-hit \
pf-transparent ipf-transparent kqueue \
@@ -45,31 +47,37 @@ RDEPEND="${DEPEND}
S="${WORKDIR}/${S_PP}"
pkg_setup() {
- if use zero-penalty-hit; then
- ewarn "This version supports natively IP TOS/Priority mangling,"
- ewarn "but it does not support zph_preserve_miss_tos."
- ewarn "If you need that, please use squid-3.0.6-r2 or higher."
+ if grep -qs '^[[:space:]]*cache_dir[[:space:]]\+coss' "${ROOT}"etc/squid/squid.conf; then
+ eerror "coss store IO has been disabled by upstream due to stability issues!"
+ eerror "If you want to install this version, switch the store type to something else"
+ eerror "before attempting to install this version again."
+
+ die "/etc/squid/squid.conf: cache_dir use a disabled store type"
fi
+
enewgroup squid 31
enewuser squid 31 -1 /var/cache/squid squid
}
-src_unpack() {
- unpack ${A} || die "unpack failed"
-
- cd "${S}" || die "source dir not found"
+src_prepare() {
epatch "${FILESDIR}"/${P}-gentoo.patch
+ epatch "${FILESDIR}"/${P}-max-forwards.patch
+ epatch "${FILESDIR}"/${P}-gcc43.patch
+ epatch "${FILESDIR}"/${P}-cross-compile.patch
+ use zero-penalty-hit && epatch "${FILESDIR}"/${P}-adapted-zph.patch
has_version app-crypt/mit-krb5 || epatch "${FILESDIR}"/${P}-heimdal.patch
+
eautoreconf
}
-src_compile() {
+src_configure() {
local basic_modules="getpwnam,NCSA,MSNT"
use samba && basic_modules="SMB,multi-domain-NTLM,${basic_modules}"
use ldap && basic_modules="LDAP,${basic_modules}"
use pam && basic_modules="PAM,${basic_modules}"
use sasl && basic_modules="SASL,${basic_modules}"
use nis && ! use elibc_uclibc && basic_modules="YP,${basic_modules}"
+ use radius && basic_modules="squid_radius_auth,${basic_modules}"
if use mysql || use postgres || use sqlite ; then
basic_modules="DB,${basic_modules}"
fi
@@ -86,14 +94,9 @@ src_compile() {
local myconf=""
- # Support for uclibc #61175
- if use elibc_uclibc; then
- myconf="${myconf} --enable-storeio=ufs,diskd,aufs,null"
- myconf="${myconf} --disable-async-io"
- else
- myconf="${myconf} --enable-storeio=ufs,diskd,coss,aufs,null"
- myconf="${myconf} --enable-async-io"
- fi
+ # coss support has been disabled
+ # If it is re-enabled again, make sure you don't enable it for elibc_uclibc (#61175)
+ myconf="${myconf} --enable-storeio=ufs,diskd,aufs,null"
if use kernel_linux; then
myconf="${myconf} --enable-linux-netfilter
@@ -114,34 +117,29 @@ src_compile() {
--libexecdir=/usr/libexec/squid \
--localstatedir=/var \
--datadir=/usr/share/squid \
- --enable-auth="basic,digest,ntlm" \
+ --with-default-user=squid \
+ --enable-auth="basic,digest,negotiate,ntlm" \
--enable-removal-policies="lru,heap" \
--enable-digest-auth-helpers="password" \
--enable-basic-auth-helpers="${basic_modules}" \
--enable-external-acl-helpers="${ext_helpers}" \
--enable-ntlm-auth-helpers="${ntlm_helpers}" \
--enable-negotiate-auth-helpers="${negotiate_helpers}" \
- --enable-ident-lookups \
--enable-useragent-log \
--enable-cache-digests \
--enable-delay-pools \
--enable-referer-log \
--enable-arp-acl \
- --with-pthreads \
--with-large-files \
- --enable-htcp \
- --enable-carp \
- --enable-follow-x-forwarded-for \
- --with-maxfd=8192 \
+ --with-filedescriptors=8192 \
$(use_enable snmp) \
$(use_enable ssl) \
+ $(use_enable icap-client) \
${myconf} || die "econf failed"
-
- emake || die "emake failed"
}
src_install() {
- make DESTDIR="${D}" install || die "make install failed"
+ emake DESTDIR="${D}" install || die "emake install failed"
# need suid root for looking into /etc/shadow
fowners root:squid /usr/libexec/squid/ncsa_auth
@@ -189,4 +187,9 @@ pkg_postinst() {
echo
ewarn "Squid can be configured to run in transparent mode like this:"
ewarn " ${HILITE}http_port internal-addr:3128 transparent${NORMAL}"
+ if use zero-penalty-hit; then
+ echo
+ ewarn "In order for zph_preserve_miss_tos to work, you will have to alter your kernel"
+ ewarn "with the patch that can be found on http://zph.bratcheda.org site."
+ fi
}