diff options
author | 2009-04-25 11:42:36 +0000 | |
---|---|---|
committer | 2009-04-25 11:42:36 +0000 | |
commit | 6d1548ad43b507aa28683f5e4db37c0fa0ab0d82 (patch) | |
tree | 672dc976c0f31e1a80a019c55a81431ed3f77082 /net-proxy | |
parent | Bump to newer beta release, this also fixes the gconf-check, see bug (diff) | |
download | gentoo-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/ChangeLog | 11 | ||||
-rw-r--r-- | net-proxy/squid/files/squid-3.0.14-cross-compile.patch | 38 | ||||
-rw-r--r-- | net-proxy/squid/files/squid-3.0.14-gcc43.patch | 39 | ||||
-rw-r--r-- | net-proxy/squid/files/squid-3.0.14-max-forwards.patch | 12 | ||||
-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 } |