From 8b56dce8a7b9d40a27319cac44e6d7c121ff747d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alin=20N=C4=83stac?= Date: Mon, 8 Jan 2007 16:16:41 +0000 Subject: [PATCH] Detect if kernel supports CONFIG_EPOLL or not (#160637). Package-Manager: portage-2.1.1-r1 --- net-proxy/squid/ChangeLog | 12 +- net-proxy/squid/Manifest | 25 ++- net-proxy/squid/files/digest-squid-2.6.6-r2 | 6 + net-proxy/squid/squid-2.6.6-r2.ebuild | 194 ++++++++++++++++++++ 4 files changed, 231 insertions(+), 6 deletions(-) create mode 100644 net-proxy/squid/files/digest-squid-2.6.6-r2 create mode 100644 net-proxy/squid/squid-2.6.6-r2.ebuild diff --git a/net-proxy/squid/ChangeLog b/net-proxy/squid/ChangeLog index 8fed65fdc1a4..53bcf80f8a0e 100644 --- a/net-proxy/squid/ChangeLog +++ b/net-proxy/squid/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for net-proxy/squid -# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-proxy/squid/ChangeLog,v 1.110 2006/12/31 00:55:32 kloeri Exp $ +# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-proxy/squid/ChangeLog,v 1.111 2007/01/08 16:16:41 mrness Exp $ + + 08 Jan 2007; Alin Nastac +squid-2.6.6-r2.ebuild: + Detect if kernel supports CONFIG_EPOLL or not (#160637). + +*squid-2.6.6-r2 (08 Jan 2007) + + 08 Jan 2007; Alin Nastac +squid-2.6.6-r2.ebuild: + Enable epoll support only when Linux kernel has CONFIG_EPOLL enabled (#160637). 31 Dec 2006; Bryan Østergaard squid-2.6.5.ebuild: Stable on Alpha, bug 157570. diff --git a/net-proxy/squid/Manifest b/net-proxy/squid/Manifest index 87525d60a324..d066b0d518c2 100644 --- a/net-proxy/squid/Manifest +++ b/net-proxy/squid/Manifest @@ -1,3 +1,6 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + AUX squid.confd 437 RMD160 8fdfc1416b2f5aaa2964affc25e5fb140f6555c5 SHA1 59e15695bf4d7269002eac5015592419ad8155cc SHA256 d90a92f886764f56fd928ec3340da078a8ff35576a8339fa91b1ce59d0d02a34 MD5 8e7207b10699502e573d9d60ff0e07a6 files/squid.confd 437 RMD160 8fdfc1416b2f5aaa2964affc25e5fb140f6555c5 files/squid.confd 437 @@ -63,10 +66,14 @@ EBUILD squid-2.6.6-r1.ebuild 6002 RMD160 22d6c1dd02e1b82f0ae7ae04e6463b1b7eb3b05 MD5 d2a6292a225e609a25aca4bd3f2ce1fb squid-2.6.6-r1.ebuild 6002 RMD160 22d6c1dd02e1b82f0ae7ae04e6463b1b7eb3b05f squid-2.6.6-r1.ebuild 6002 SHA256 cb098f1e66d5fd31a0548f6e3d11cf3dd1dcac5dd476dea51666f62e6d2d8be7 squid-2.6.6-r1.ebuild 6002 -MISC ChangeLog 30778 RMD160 e3b460539ac37d2a801bd37bbb2e2fb90dd499ee SHA1 461a3c77fdf0f7528f835b80bd6fc49aa33c9417 SHA256 2c21e7cf9aee0f990d55c9fe2f0d708055360043a6ae9d819796d3189b3fe8ea -MD5 15f88a63ff2abb5279167995b57d1b59 ChangeLog 30778 -RMD160 e3b460539ac37d2a801bd37bbb2e2fb90dd499ee ChangeLog 30778 -SHA256 2c21e7cf9aee0f990d55c9fe2f0d708055360043a6ae9d819796d3189b3fe8ea ChangeLog 30778 +EBUILD squid-2.6.6-r2.ebuild 6082 RMD160 9db9969774fb53fcfc005cbe9b3a2d7096514506 SHA1 c53301893b9309df09e0bd52dc13958c0ee74385 SHA256 1829b222bc9ae18eb2ac1726e02cb3ffcc5d551b65a91866c11119393e85fb0b +MD5 d96e638ac249fd6fd155e91d8811039a squid-2.6.6-r2.ebuild 6082 +RMD160 9db9969774fb53fcfc005cbe9b3a2d7096514506 squid-2.6.6-r2.ebuild 6082 +SHA256 1829b222bc9ae18eb2ac1726e02cb3ffcc5d551b65a91866c11119393e85fb0b squid-2.6.6-r2.ebuild 6082 +MISC ChangeLog 31094 RMD160 2aea49ce49044cf12ce64cdf862064eeb587ef4f SHA1 8919a50d1e5abe23f18b57f6bfdf8195315f712b SHA256 1b490ec44077b951aec6fb390b7fc4bb8a4e6261bb3850b42732ac50bc3be9d3 +MD5 51f881b8c10227f000e00c58cc62fa0c ChangeLog 31094 +RMD160 2aea49ce49044cf12ce64cdf862064eeb587ef4f ChangeLog 31094 +SHA256 1b490ec44077b951aec6fb390b7fc4bb8a4e6261bb3850b42732ac50bc3be9d3 ChangeLog 31094 MISC metadata.xml 229 RMD160 3017fab68c82b875738f1df5bb414f46480f142f SHA1 975a764b9c2b956a744795d61a702bd3545bbfb9 SHA256 b986c2ccab6337ef434285c558ed764218d7ca79a82cb5ee3d2615cd03360e87 MD5 24a10e76803f4cc98cdc979586096c6f metadata.xml 229 RMD160 3017fab68c82b875738f1df5bb414f46480f142f metadata.xml 229 @@ -92,3 +99,13 @@ SHA256 c691f9d5c16ba2a14ce66add145963b4c3cdb58a5442e6365e7f74e20201a838 files/di MD5 6f8a61bcb61b59cc3fe028be4f8a8534 files/digest-squid-2.6.6-r1 554 RMD160 034ccaed8777131ddc2e8861edb19c1ed4a213fd files/digest-squid-2.6.6-r1 554 SHA256 401bcaf9999373992ebcf94f0c8f754e9d6a8e70ccc2539fb9af03a0c73e3811 files/digest-squid-2.6.6-r1 554 +MD5 6f8a61bcb61b59cc3fe028be4f8a8534 files/digest-squid-2.6.6-r2 554 +RMD160 034ccaed8777131ddc2e8861edb19c1ed4a213fd files/digest-squid-2.6.6-r2 554 +SHA256 401bcaf9999373992ebcf94f0c8f754e9d6a8e70ccc2539fb9af03a0c73e3811 files/digest-squid-2.6.6-r2 554 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.5 (GNU/Linux) + +iD8DBQFFom50JnxX6mF440QRAu+sAKCXm2yOBLbjObQdlE8rcSNicLBVkACeIcYt +0TX/FM6dBrmQ9X+EMZhnIQs= +=UrW9 +-----END PGP SIGNATURE----- diff --git a/net-proxy/squid/files/digest-squid-2.6.6-r2 b/net-proxy/squid/files/digest-squid-2.6.6-r2 new file mode 100644 index 000000000000..f23d0d08d271 --- /dev/null +++ b/net-proxy/squid/files/digest-squid-2.6.6-r2 @@ -0,0 +1,6 @@ +MD5 02662bee48e9429bccb371fe32bbf68e squid-2.6.STABLE6-patches-20061219.tar.gz 7164 +RMD160 70e6af41dbb512603a70c1f1be68497c43213f1a squid-2.6.STABLE6-patches-20061219.tar.gz 7164 +SHA256 6d4799e2ca21fb8dc5722be36df7064d9d01c0f153b2ecb87f34618991e9e5f1 squid-2.6.STABLE6-patches-20061219.tar.gz 7164 +MD5 9e10815ed542fefa06fbcaefdfcb05b3 squid-2.6.STABLE6.tar.gz 1623289 +RMD160 de0d7d22ab7fedb77e8034fe2028610c9303257f squid-2.6.STABLE6.tar.gz 1623289 +SHA256 ed02b22dfe0980ccbbe76144fd95c52128319f53e0dd35232bd6a73b6182ab2c squid-2.6.STABLE6.tar.gz 1623289 diff --git a/net-proxy/squid/squid-2.6.6-r2.ebuild b/net-proxy/squid/squid-2.6.6-r2.ebuild new file mode 100644 index 000000000000..5339b61d65d4 --- /dev/null +++ b/net-proxy/squid/squid-2.6.6-r2.ebuild @@ -0,0 +1,194 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-proxy/squid/squid-2.6.6-r2.ebuild,v 1.1 2007/01/08 16:16:41 mrness Exp $ + +WANT_AUTOCONF="latest" +WANT_AUTOMAKE="latest" + +inherit eutils pam toolchain-funcs flag-o-matic autotools linux-info + +#lame archive versioning scheme.. +S_PV="${PV%.*}" +S_PL="${PV##*.}" +S_PL="${S_PL/_rc/-RC}" +S_PP="${PN}-${S_PV}.STABLE${S_PL}" +PATCH_VERSION="20061219" + +DESCRIPTION="A full-featured web proxy cache" +HOMEPAGE="http://www.squid-cache.org/" +SRC_URI="http://www.squid-cache.org/Versions/v2/${S_PV}/${S_PP}.tar.gz + mirror://gentoo/${S_PP}-patches-${PATCH_VERSION}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="pam ldap sasl nis ssl snmp selinux logrotate zero-penalty-hit \ + pf-transparent ipf-transparent \ + elibc_uclibc kernel_linux" + +RDEPEND="pam? ( virtual/pam ) + ldap? ( >=net-nds/openldap-2.1.26 ) + ssl? ( >=dev-libs/openssl-0.9.7j ) + sasl? ( >=dev-libs/cyrus-sasl-2.1.21 ) + selinux? ( sec-policy/selinux-squid ) + !x86-fbsd? ( logrotate? ( app-admin/logrotate ) ) + >=sys-libs/db-4" +DEPEND="${RDEPEND} dev-lang/perl" + +S="${WORKDIR}/${S_PP}" + +pkg_setup() { + enewgroup squid 31 + enewuser squid 31 -1 /var/cache/squid squid +} + +src_unpack() { + unpack ${A} || die "unpack failed" + cd "${S}" || die "dir ${S} not found" + + # Do bulk patching from squids bug fix list as well as our patches + use zero-penalty-hit || rm "${WORKDIR}"/patch/9*ToS_Hit* + EPATCH_SUFFIX="patch" + epatch "${WORKDIR}/patch" + + sed -i -e 's%LDFLAGS="-g"%LDFLAGS=""%' configure.in + + #disable lazy bindings on (some at least) suided basic auth programs + sed -i -e '$aAM_LDFLAGS = '$(bindnow-flags) \ + helpers/basic_auth/*/Makefile.am + + eautoreconf +} + +src_compile() { + local basic_modules="getpwnam,NCSA,SMB,MSNT,multi-domain-NTLM" + 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}" + + local ext_helpers="ip_user,session,unix_group,wbinfo_group" + use ldap && ext_helpers="ldap_group,${ext_helpers}" + + 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 + + if use kernel_linux; then + myconf="${myconf} --enable-linux-netfilter" + if kernel_is ge 2 6 && linux_chkconfig_present EPOLL ; then + myconf="${myconf} --enable-epoll" + fi + elif use kernel_FreeBSD || use kernel_OpenBSD || use kernel_NetBSD ; then + myconf="${myconf} --enable-kqueue" + if use pf-transparent; then + myconf="${myconf} --enable-pf-transparent" + elif use ipf-transparent; then + myconf="${myconf} --enable-ipf-transparent" + fi + fi + + export CC=$(tc-getCC) + + econf \ + --sysconfdir=/etc/squid \ + --libexecdir=/usr/libexec/squid \ + --localstatedir=/var \ + --datadir=/usr/share/squid \ + --enable-auth="basic,digest,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="SMB,fakeauth" \ + --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 \ + $(use_enable snmp) \ + $(use_enable ssl) \ + ${myconf} || die "econf failed" + + sed -i -e "s:^#define SQUID_MAXFD.*:#define SQUID_MAXFD 8192:" \ + include/autoconf.h + + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "make install failed" + + #need suid root for looking into /etc/shadow + fowners root:squid /usr/libexec/squid/ncsa_auth + fowners root:squid /usr/libexec/squid/pam_auth + fperms 4750 /usr/libexec/squid/ncsa_auth + fperms 4750 /usr/libexec/squid/pam_auth + + #some clean ups + rm -f "${D}"/usr/bin/Run* + + dodoc CONTRIBUTORS CREDITS ChangeLog QUICKSTART SPONSORS doc/*.txt \ + helpers/ntlm_auth/no_check/README.no_check_ntlm_auth + newdoc helpers/basic_auth/SMB/README README.auth_smb + dohtml helpers/basic_auth/MSNT/README.html RELEASENOTES.html + newdoc helpers/basic_auth/LDAP/README README.auth_ldap + doman helpers/basic_auth/LDAP/*.8 + dodoc helpers/basic_auth/SASL/squid_sasl_auth* + + newpamd "${FILESDIR}/squid.pam" squid + newconfd "${FILESDIR}/squid.confd" squid + if use logrotate; then + newinitd "${FILESDIR}/squid.initd-logrotate" squid + insinto /etc/logrotate.d + newins "${FILESDIR}/squid.logrotate" squid + else + newinitd "${FILESDIR}/squid.initd" squid + exeinto /etc/cron.weekly + newexe "${FILESDIR}/squid.cron" squid.cron + fi + + rm -rf "${D}"/var + diropts -m0755 -o squid -g squid + keepdir /var/cache/squid /var/log/squid +} + +pkg_preinst() { + enewgroup squid 31 + enewuser squid 31 -1 /var/cache/squid squid + + #Remove this after all versions prior to 2.6.4 has been removed from the tree + if [[ -L "${ROOT}/etc/squid/errors" ]]; then + rm "${ROOT}/etc/squid/errors" + fi +} + +pkg_postinst() { + echo + ewarn "Squid authentication helpers have been installed suid root." + ewarn "This allows shadow based authentication (see bug #52977 for more)." + echo + ewarn "Be careful what type of cache_dir you select!" + ewarn " 'diskd' is optimized for high levels of traffic, but it might seem slow" + ewarn "when there isn't sufficient traffic to keep squid reasonably busy." + ewarn " If your traffic level is low to moderate, use 'aufs' or 'ufs'." + echo + ewarn "/etc/squid/errors symlink has been removed from your system." + ewarn "Error templates can be customized through ${HILITE}error_directory${NORMAL} directive." + echo + ewarn "Squid can be configured to run in transparent mode like this:" + ewarn " ${HILITE}http_port internal-addr:3128 transparent${NORMAL}" +} -- 2.26.2