diff options
author | adrian <adrian@FreeBSD.org> | 2008-04-18 14:29:39 +0800 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2008-04-18 14:29:39 +0800 |
commit | f5119b8d0bf80dd3391595bbd25e5c5889785861 (patch) | |
tree | 4bef5148d083e30fc537c54a4ae0bfb81676c794 | |
parent | b3b821bbdd13f8f00feb7093700c3a177306e001 (diff) | |
download | freebsd-ports-gnome-f5119b8d0bf80dd3391595bbd25e5c5889785861.tar.gz freebsd-ports-gnome-f5119b8d0bf80dd3391595bbd25e5c5889785861.tar.zst freebsd-ports-gnome-f5119b8d0bf80dd3391595bbd25e5c5889785861.zip |
Cacheboy is a deriative of Squid-2 begun by yours truely to continue
active development on the stable Squid-2 codebase.
This initial preview release should be as stable as Squid-2.HEAD (at this
point in time) is.
45 files changed, 2385 insertions, 0 deletions
diff --git a/www/cacheboy/Makefile b/www/cacheboy/Makefile new file mode 100644 index 000000000000..18b03502d5bf --- /dev/null +++ b/www/cacheboy/Makefile @@ -0,0 +1,417 @@ +# New ports collection makefile for: squid24 +# Date created: Tue Mar 27 14:56:08 CEST 2001 +# Whom: Adrian Chadd <adrian@FreeBSD.org> +# +# $FreeBSD$ +# +# Tunables not (yet) configurable via 'make config': +# SQUID_{U,G}ID +# Which user/group Squid should run as (default: squid/squid). +# The user and group will be created if they do not already exist using +# a uid:gid of 100:100. +# NOTE: older versions of Squid defaulted to nobody/nogroup. +# If you wish to run Squid as "nobody" (which is not recommended), please +# define SQUID_UID=nobody and SQUID_GID=nogroup in your make environment +# before you start the update or installation of this port. +# +# SQUID_LANGUAGES +# A list of languages for which error page files should be installed +# (default: all) +# +# E.g. use `make SQUID_LANGUAGES="English French"' if you want to +# install the files for these languages only. +# Use `make -VSQUID_LANGUAGES' or scroll down to this variable's +# definition to see which values are valid. +# +# SQUID_DEFAULT_LANG +# If you define SQUID_LANGUAGES, select which language should be the default +# one (this variable defaults to English). This setting can be overwritten +# with squid.conf's error_directory directive. +# +# SQUID_CONFIGURE_ARGS +# Additional configuration options. +# +# To enable them, use e.g +# `make SQUID_CONFIGURE_ARGS="--enable-dlmalloc --enable-truncate" install' +# +# The list below may be incomplete, please see the configure script +# in the Squid source distribution for the complete list of additional +# options. +# Note that you probably do not need to worry about these options in most +# cases, they are included in case you want to experiment with them. +# +# --enable-dlmalloc +# Compile and use the malloc package from Doug Lea +# --enable-gnuregex +# Compile and use the supplied GNUregex routines instead of BSD regex +# (not recommended). +# --enable-xmalloc-statistics +# Show malloc statistics in status page +# --enable-cachemgr-hostname=some.hostname +# Set an explicit hostname in cachemgr.cgi +# --enable-truncate +# Use truncate() rather than unlink() +# --disable-unlinkd +# Do not use "unlinkd" +# --with-aufs-threads=N_THREADS +# Tune the number of worker threads for the aufs object +# --with-coss-membuf-size +# COSS membuf size (default: 1048576 bytes) +# --with-maxfd=N +# Override the maximum number of filedescriptors. Useful if you +# build as another user who is not privileged to use the amount +# of filedescriptors the resulting binary is expected to support. +# --enable-ntlm-fail-open +# Enable NTLM fail open, where a helper that fails one of the +# Authentication steps can allow Squid to still authenticate the user +# --enable-x-accelerator-vary +# Enable support for the X-Accelerator-Vary HTTP header. Can be used +# to indicate variance within an accelerator setup. Typically used +# together with other code that adds custom HTTP headers to the +# requests. +# --enable-forward-log +# Enable experimental forward_log directive. +# --enable-multicast-miss +# Enable experimental multicast notification of cachemisses. + +# FATAL: Makefile: order must be PORTNAME/PORTVERSION/DISTVERSIONPREFIX/DISTVERSION/DISTVERSIONSUFFIX/PORTREVISION/PORTEPOCH/CATEGORIES/MASTER_SITES/MASTER_SITE_SUBDIR/PKGNAMEPREFIX/PKGNAMESUFFIX/DISTNAME/EXTRACT_SUFX/DISTFILES/DIST_SUBDIR/EXTRACT_ONLY. + +PORTNAME= cacheboy +DISTVERSION= 0.PRE1 +PORTREVISION= 1 +CATEGORIES= www +MASTER_SITES= http://cacheboy.googlecode.com/files/ +MASTER_SITE_SUBDIR= / +DISTNAME= CACHEBOY_0.PRE1 +# EXTRACT_SUFX= .tar.gz +DIST_SUBDIR= CACHEBOY_0.PRE1 + +MAINTAINER= adrian@freebsd.org +COMMENT= HTTP Caching Proxy (Squid Derivative) + +CONFLICTS= squid-[0-9]* +GNU_CONFIGURE= yes +USE_PERL5= yes +USE_RC_SUBR= squid + +SQUID_UID?= squid +SQUID_GID?= squid + +MAN8= cachemgr.cgi.8 squid.8 +docs= QUICKSTART README.Squid doc/debug-sections.txt +PORTDOCS= ${docs:T} +PORTEXAMPLES= passwd.sql +SUB_FILES+= pkg-deinstall pkg-install pkg-message +SUB_LIST+= SQUID_UID=${SQUID_UID} SQUID_GID=${SQUID_GID} + +OPTIONS= SQUID_LDAP_AUTH "Install LDAP authentication helpers" off \ + SQUID_SASL_AUTH "Install SASL authentication helpers" off \ + SQUID_DELAY_POOLS "Enable delay pools" off \ + SQUID_SNMP "Enable SNMP support" off \ + SQUID_CARP "Enable CARP support" on \ + SQUID_SSL "Enable SSL support for reverse proxies" off \ + SQUID_PINGER "Install the icmp helper" off \ + SQUID_DNS_HELPER "Use the old 'dnsserver' helper" off \ + SQUID_HTCP "Enable HTCP support" off \ + SQUID_VIA_DB "Enable forward/via database" off \ + SQUID_CACHE_DIGESTS "Enable cache digests" off \ + SQUID_WCCP "Enable Web Cache Coordination Prot. v1" on \ + SQUID_WCCPV2 "Enable Web Cache Coordination Prot. v2" off \ + SQUID_STRICT_HTTP "Be strictly HTTP compliant" off \ + SQUID_IDENT "Enable ident (RFC 931) lookups" on \ + SQUID_REFERER_LOG "Enable Referer-header logging" off \ + SQUID_USERAGENT_LOG "Enable User-Agent-header logging" off \ + SQUID_ARP_ACL "Enable ACLs based on ethernet address" off \ + SQUID_PF "Enable transparent proxying with PF" off \ + SQUID_IPFILTER "Enable transp. proxying with IPFilter" off \ + SQUID_FOLLOW_XFF "Follow X-Forwarded-For headers" off \ + SQUID_AUFS "Enable the aufs storage scheme" off \ + SQUID_COSS "Enable the COSS storage scheme" off \ + SQUID_KQUEUE "Use kqueue(2) instead of poll(2)" on \ + SQUID_LARGEFILE "Support log and cache files >2GB" off \ + SQUID_STACKTRACES "Create backtraces on fatal errors" off + +etc_files= squid/cachemgr.conf.default \ + squid/mib.txt squid/mime.conf.default \ + squid/msntauth.conf.default squid/squid.conf.default + +icon_files= anthony-binhex.gif anthony-bomb.gif anthony-box.gif \ + anthony-box2.gif anthony-c.gif anthony-compressed.gif \ + anthony-dir.gif anthony-dirup.gif anthony-dvi.gif \ + anthony-f.gif anthony-image.gif anthony-image2.gif \ + anthony-layout.gif anthony-link.gif anthony-movie.gif \ + anthony-pdf.gif anthony-portal.gif anthony-ps.gif \ + anthony-quill.gif anthony-script.gif anthony-sound.gif \ + anthony-tar.gif anthony-tex.gif anthony-text.gif \ + anthony-unknown.gif anthony-xbm.gif anthony-xpm.gif + +error_files= ERR_ACCESS_DENIED ERR_CACHE_ACCESS_DENIED \ + ERR_CACHE_MGR_ACCESS_DENIED ERR_CANNOT_FORWARD \ + ERR_CONNECT_FAIL ERR_DNS_FAIL ERR_FORWARDING_DENIED \ + ERR_FTP_DISABLED ERR_FTP_FAILURE ERR_FTP_FORBIDDEN \ + ERR_FTP_NOT_FOUND ERR_FTP_PUT_CREATED \ + ERR_FTP_PUT_ERROR ERR_FTP_PUT_MODIFIED ERR_FTP_UNAVAILABLE \ + ERR_INVALID_REQ ERR_INVALID_RESP ERR_INVALID_URL \ + ERR_LIFETIME_EXP ERR_NO_RELAY ERR_ONLY_IF_CACHED_MISS \ + ERR_READ_ERROR ERR_READ_TIMEOUT ERR_SHUTTING_DOWN \ + ERR_SOCKET_FAILURE ERR_TOO_BIG ERR_UNSUP_REQ \ + ERR_URN_RESOLVE ERR_WRITE_ERROR ERR_ZERO_SIZE_OBJECT + +libexec= cachemgr.cgi digest_pw_auth diskd-daemon \ + ip_user_check \ + msnt_auth ncsa_auth ntlm_auth \ + pam_auth smb_auth smb_auth.sh squid_db_auth squid_session \ + squid_unix_group wbinfo_group.pl +.if !defined(SQUID_CONFIGURE_ARGS) || ${SQUID_CONFIGURE_ARGS:M*--disable-unlinkd*} == "" +libexec+= unlinkd +.endif + +sbin= RunCache squidclient squid + +CONFIGURE_ARGS= --bindir=${PREFIX}/sbin \ + --sbindir=${PREFIX}/sbin \ + --datadir=${PREFIX}/etc/squid \ + --libexecdir=${PREFIX}/libexec/squid \ + --localstatedir=${PREFIX}/squid \ + --sysconfdir=${PREFIX}/etc/squid \ + --enable-removal-policies="lru heap" \ + --disable-linux-netfilter \ + --disable-linux-tproxy \ + --disable-epoll + +.include <bsd.port.pre.mk> + +# Authentication methods and modules: + +basic_auth= DB NCSA PAM MSNT SMB +digest_auth= password +external_acl= ip_user session unix_group wbinfo_group +MAN8+= ncsa_auth.8 pam_auth.8 squid_db_auth.8 squid_session.8 \ + squid_unix_group.8 +.if defined(WITH_SQUID_LDAP_AUTH) +USE_OPENLDAP= yes +CFLAGS+= -I${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib +MAN8+= squid_ldap_auth.8 squid_ldap_group.8 +basic_auth+= LDAP +digest_auth+= ldap +external_acl+= ldap_group +libexec+= digest_ldap_auth squid_ldap_auth squid_ldap_group +.endif +.if defined(WITH_SQUID_SASL_AUTH) +LIB_DEPENDS+= sasl2.2:${PORTSDIR}/security/cyrus-sasl2 +CFLAGS+= -I${LOCALBASE}/include +CPPFLAGS+= -I${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib +basic_auth+= SASL +libexec+= sasl_auth +.endif +.if !defined(NO_NIS) && !defined(WITHOUT_NIS) +basic_auth+= YP +libexec+= yp_auth +.endif +CONFIGURE_ARGS+= --enable-auth="basic ntlm digest" \ + --enable-basic-auth-helpers="${basic_auth}" \ + --enable-digest-auth-helpers="${digest_auth}" \ + --enable-external-acl-helpers="${external_acl}" \ + --enable-ntlm-auth-helpers="SMB" +.if !defined(NO_KERBEROS) && !defined(WITHOUT_KERBEROS) +# XXX This currently only works with heimdal from the base system, +# see files/patch-helpers_negotiate_auth-squid_kerb_auth_* +CONFIGURE_ARGS+= --enable-negotiate-auth-helpers="squid_kerb_auth" +libexec+= squid_kerb_auth +.endif + +# Storage schemes: + +storage_schemes= ufs diskd null +.if defined(WITH_SQUID_AUFS) +storage_schemes+= aufs +.if ${OSVERSION}>=501000 +# Only document libmap.conf where it is available: +EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-src-cf.data.pre.aufs +.endif +# Nil aufs threads is default, set any other value via SQUID_CONFIGURE_ARGS +CONFIGURE_ARGS+= --with-pthreads +CFLAGS+= ${PTHREAD_CFLAGS} +.endif +.if defined(WITH_SQUID_COSS) +storage_schemes+= coss +.if !defined(WITH_SQUID_AUFS) +# use Posix AIO instead of aufs' AIO; note that you then need the kernel to +# supply AIO support, either by loading the aio(4) module (n/a on 4.x) or by +# adding the option VFS_AIO to your kernel configuration if you want to +# actually use COSS storage: +CONFIGURE_ARGS+= --enable-coss-aio-ops +.endif +sbin+= cossdump +.endif +CONFIGURE_ARGS+= --enable-storeio="${storage_schemes}" + +# Other options set via 'make config': + +.if defined(WITH_SQUID_DELAY_POOLS) +CONFIGURE_ARGS+= --enable-delay-pools +.endif +.if defined(WITH_SQUID_SNMP) +CONFIGURE_ARGS+= --enable-snmp +.endif +.if defined(WITHOUT_SQUID_CARP) +CONFIGURE_ARGS+= --disable-carp +.endif +.if defined(WITH_SQUID_SSL) +# we need to .include bsd.openssl.mk manually here.because USE_OPENSSL only +# works when it is defined before bsd.port{.pre}.mk is .included. +# This makes it currently impossible to combine this macro with OPTIONS to +# conditionally include OpenSSL support. +.include "${PORTSDIR}/Mk/bsd.openssl.mk" +CONFIGURE_ARGS+= --enable-ssl \ + --with-openssl="${OPENSSLBASE}" +CFLAGS+= -I${OPENSSLINC} +LDFLAGS+= -L${OPENSSLLIB} +.endif +.if defined(WITH_SQUID_PINGER) +CONFIGURE_ARGS+= --enable-icmp +libexec+= pinger +.endif +.if defined(WITH_SQUID_DNS_HELPER) +CONFIGURE_ARGS+= --disable-internal-dns +libexec+= dnsserver +.endif +.if defined(WITH_SQUID_HTCP) +CONFIGURE_ARGS+= --enable-htcp +.endif +.if defined(WITH_SQUID_VIA_DB) +CONFIGURE_ARGS+= --enable-forw-via-db +.endif +.if defined(WITH_SQUID_CACHE_DIGESTS) +CONFIGURE_ARGS+= --enable-cache-digests +.endif +.if defined(WITHOUT_SQUID_WCCP) +CONFIGURE_ARGS+= --disable-wccp +.endif +.if defined(WITH_SQUID_WCCPV2) +CONFIGURE_ARGS+= --enable-wccpv2 +.endif +.if defined(WITH_SQUID_STRICT_HTTP) +CONFIGURE_ARGS+= --disable-http-violations +.endif +.if defined(WITHOUT_SQUID_IDENT) +CONFIGURE_ARGS+= --disable-ident-lookups +.endif +.if defined(WITH_SQUID_REFERER_LOG) +CONFIGURE_ARGS+= --enable-referer-log +.endif +.if defined(WITH_SQUID_USERAGENT_LOG) +CONFIGURE_ARGS+= --enable-useragent-log +.endif +.if defined(WITH_SQUID_ARP_ACL) +CONFIGURE_ARGS+= --enable-arp-acl +.endif +.if defined(WITH_SQUID_PF) +CONFIGURE_ARGS+= --enable-pf-transparent +.if ${OSVERSION} < 502106 +IGNORE= pf available only in FreeBSD 5.3 and newer +.endif +.endif +# IPFilter-headers are not installed on FreeBSD 4 since 4.7-RELEASE, +# they were not installed on FreeBSD 5 from 2002-03-26 (OSVERSION > 500032) to +# 2003-06-27 (OSVERSION < 501101). +# +# Please see PR misc/44148 and the CVS log of src/include/Makefile for further +# information. +.if defined(WITH_SQUID_IPFILTER) +.if (${OSVERSION} > 500032 && ${OSVERSION} < 501101) +IGNORE= the IPFilter headers are not part of the base system +.else +CONFIGURE_ARGS+= --enable-ipf-transparent +.endif +.endif +.if defined(WITH_SQUID_FOLLOW_XFF) +CONFIGURE_ARGS+= --enable-follow-x-forwarded-for +.endif +.if defined(WITHOUT_SQUID_KQUEUE) +CONFIGURE_ARGS+= --disable-kqueue +.endif +.if defined(WITH_SQUID_LARGEFILE) +CONFIGURE_ARGS+= --with-large-files --enable-large-cache-files +.endif +.if defined(WITH_SQUID_STACKTRACES) +CONFIGURE_ARGS+= --enable-stacktraces +CFLAGS+= -g +STRIP= +.endif + +# Languages: +# +# If you do not define SQUID_LANGUAGES yourself, all available language files +# will be installed; the default language will be English. + +SQUID_LANGUAGES?= Armenian Azerbaijani Bulgarian Catalan Czech Danish \ + Dutch English Estonian Finnish French German Greek \ + Hebrew Hungarian Italian Japanese Korean Lithuanian \ + Polish Portuguese Romanian Russian-1251 Russian-koi8-r \ + Serbian Simplify_Chinese Slovak Spanish Swedish \ + Traditional_Chinese Turkish +SQUID_DEFAULT_LANG?= English +CONFIGURE_ARGS+= --enable-err-languages="${SQUID_LANGUAGES}" \ + --enable-default-err-language=${SQUID_DEFAULT_LANG} + +# Finally, add additional user specified configuration options: +CONFIGURE_ARGS+= ${SQUID_CONFIGURE_ARGS} + +CONFIGURE_ENV+= CFLAGS="${CFLAGS}" \ + CPPFLAGS="${CPPFLAGS}"\ + LDFLAGS="${LDFLAGS}" + +PLIST_DIRS= etc/squid/icons libexec/squid +PLIST_FILES= ${etc_files:S,^,etc/,} ${icon_files:S,^,etc/squid/icons/,} \ + ${libexec:S,^,libexec/squid/,} ${sbin:S,^,sbin/,} + +.for d in ${SQUID_LANGUAGES} +PLIST_DIRS+= etc/squid/errors/${d} +PLIST_FILES+= ${error_files:S,^,etc/squid/errors/${d}/,} +.endfor +PLIST_DIRS+= etc/squid/errors etc/squid squid/logs squid/cache squid + +post-patch: + @${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|g' \ + ${WRKSRC}/configure + @${REINPLACE_CMD} -e 's|%%SQUID_UID%%|${SQUID_UID}|g' \ + -e 's|%%SQUID_GID%%|${SQUID_GID}|g' \ + -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/src/cf.data.pre + @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ + ${WRKSRC}/helpers/basic_auth/SMB/Makefile.in \ + ${WRKSRC}/helpers/basic_auth/SMB/smb_auth.sh + +pre-install: +# Prevent installation of .orig files by deleting them. + @${FIND} ${WRKSRC} -name '*.bak' -delete + @${FIND} ${WRKSRC} -name '*.orig' -delete + +pre-su-install: + @${SETENV} ${SCRIPTS_ENV} PKG_PREFIX=${PREFIX} \ + ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL + +post-install: +.if !defined(NOPORTEXAMPLES) + @${MKDIR} ${EXAMPLESDIR} + ${INSTALL_DATA} ${WRKSRC}/helpers/basic_auth/DB/passwd.sql ${EXAMPLESDIR} +.endif +.if defined(WITH_SQUID_PINGER) + ${CHMOD} 4510 ${PREFIX}/libexec/squid/pinger; \ + ${CHGRP} ${SQUID_GID} ${PREFIX}/libexec/squid/pinger +.endif +.if !defined(NOPORTDOCS) + @${MKDIR} ${DOCSDIR} + cd ${WRKSRC} && ${INSTALL_DATA} ${docs} ${DOCSDIR} +.endif + @${SETENV} PKG_PREFIX=${PREFIX} \ + ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL + + @${ECHO_CMD} "===> post-installation information for ${PKGNAME}:" + @${ECHO_CMD} "" + @${CAT} ${PKGMESSAGE} + @${ECHO_CMD} "" + +.include <bsd.port.post.mk> diff --git a/www/cacheboy/distinfo b/www/cacheboy/distinfo new file mode 100644 index 000000000000..1b1c59307c9f --- /dev/null +++ b/www/cacheboy/distinfo @@ -0,0 +1,3 @@ +MD5 (CACHEBOY_0.PRE1/CACHEBOY_0.PRE1.tar.gz) = 844a5a1d15d211d94c26993c956ed695 +SHA256 (CACHEBOY_0.PRE1/CACHEBOY_0.PRE1.tar.gz) = 14aff6c61e4e9c3b0f0ec0ff0f5c6714e18230d78eb522e1ebe55578ebdad819 +SIZE (CACHEBOY_0.PRE1/CACHEBOY_0.PRE1.tar.gz) = 2086632 diff --git a/www/cacheboy/files/extra-patch-src-cf.data.pre.aufs b/www/cacheboy/files/extra-patch-src-cf.data.pre.aufs new file mode 100644 index 000000000000..019fdcac0fc7 --- /dev/null +++ b/www/cacheboy/files/extra-patch-src-cf.data.pre.aufs @@ -0,0 +1,20 @@ +--- src/cf.data.pre.orig Wed Nov 1 15:12:02 2006 ++++ src/cf.data.pre Wed Nov 1 15:12:17 2006 +@@ -1097,6 +1100,17 @@ + + see argument descriptions under ufs above + ++ Note: ++ By default, FreeBSD uses the pthread(3) M:N threading library. ++ You can, however, map the thread library to the 1:1 libthr(3) ++ implementation by inserting the following lines into ++ /etc/libmap.conf and see whether this performs better on your ++ system: ++ ++ [%%PREFIX%%/sbin/squid] ++ libpthread.so.1 libthr.so.1 ++ libpthread.so.2 libthr.so.2 ++ + The diskd store type: + + "diskd" uses the same storage format as "ufs", utilizing a diff --git a/www/cacheboy/files/patch-aa b/www/cacheboy/files/patch-aa new file mode 100644 index 000000000000..ec93f2dd3c39 --- /dev/null +++ b/www/cacheboy/files/patch-aa @@ -0,0 +1,11 @@ +--- include/squid_types.h.orig Mon Jul 7 00:45:26 2003 ++++ include/squid_types.h Mon Jul 7 00:48:39 2003 +@@ -66,8 +66,5 @@ + #if HAVE_SYS_TYPES_H + #include <sys/types.h> + #endif +-#if HAVE_SYS_BITYPES_H +-#include <sys/bitypes.h> +-#endif + + #endif /* SQUID_TYPES_H */ diff --git a/www/cacheboy/files/patch-helpers-basic_auth-SMB-Makefile.in b/www/cacheboy/files/patch-helpers-basic_auth-SMB-Makefile.in new file mode 100644 index 000000000000..09a82638fd3c --- /dev/null +++ b/www/cacheboy/files/patch-helpers-basic_auth-SMB-Makefile.in @@ -0,0 +1,11 @@ +--- helpers/basic_auth/SMB/Makefile.in.orig Tue Oct 4 07:29:26 2005 ++++ helpers/basic_auth/SMB/Makefile.in Tue Oct 4 07:29:49 2005 +@@ -129,7 +129,7 @@ + makesnmplib = @makesnmplib@ + + SMB_AUTH_HELPER = smb_auth.sh +-SAMBAPREFIX = /usr/local/samba ++SAMBAPREFIX = %%LOCALBASE%% + SMB_AUTH_HELPER_PATH = $(libexecdir)/$(SMB_AUTH_HELPER) + + libexec_SCRIPTS = $(SMB_AUTH_HELPER) diff --git a/www/cacheboy/files/patch-helpers-basic_auth-SMB-smb_auth.sh b/www/cacheboy/files/patch-helpers-basic_auth-SMB-smb_auth.sh new file mode 100644 index 000000000000..8f41fa2ff024 --- /dev/null +++ b/www/cacheboy/files/patch-helpers-basic_auth-SMB-smb_auth.sh @@ -0,0 +1,13 @@ +*** helpers/basic_auth/SMB/smb_auth.sh.orig Thu Feb 26 20:58:22 2004 +--- helpers/basic_auth/SMB/smb_auth.sh Thu Feb 26 20:59:45 2004 +*************** +*** 17,22 **** +--- 17,24 ---- + # along with this program; if not, write to the Free Software + # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + ++ SAMBAPREFIX=${SAMBAPREFIX:-%%LOCALBASE%%} ++ + read DOMAINNAME + read PASSTHROUGH + read NMBADDR diff --git a/www/cacheboy/files/patch-helpers-negotiate_auth-squid_kerb_auth-Makefile.in b/www/cacheboy/files/patch-helpers-negotiate_auth-squid_kerb_auth-Makefile.in new file mode 100644 index 000000000000..ca72c3f2fdd0 --- /dev/null +++ b/www/cacheboy/files/patch-helpers-negotiate_auth-squid_kerb_auth-Makefile.in @@ -0,0 +1,19 @@ +--- helpers/negotiate_auth/squid_kerb_auth/Makefile.in.orig Mon Jul 16 20:40:58 2007 ++++ helpers/negotiate_auth/squid_kerb_auth/Makefile.in Mon Jul 16 20:44:52 2007 +@@ -264,12 +264,12 @@ + #-L$(top_builddir)/lib -lmiscutil $(XTRA_LIBS) + + # HEIMDAL +-#KERBINC = -DHEIMDAL -I/usr/include/heimdal +-#KERBLIBS = -lgssapi -lkrb5 -lcom_err -lasn1 -lroken ++KERBINC = -DHEIMDAL -I/usr/include ++KERBLIBS = -lgssapi -lkrb5 -lcom_err -lasn1 -lroken -lcrypt -lcrypto + + # MIT +-KERBINC = +-KERBLIBS = -lgssapi_krb5 -lkrb5 -lcom_err ++#KERBINC = ++#KERBLIBS = -lgssapi_krb5 -lkrb5 -lcom_err + all: all-am + + .SUFFIXES: diff --git a/www/cacheboy/files/patch-helpers-negotiate_auth-squid_kerb_auth-squid_kerb_auth.c b/www/cacheboy/files/patch-helpers-negotiate_auth-squid_kerb_auth-squid_kerb_auth.c new file mode 100644 index 000000000000..14f2ac56e21a --- /dev/null +++ b/www/cacheboy/files/patch-helpers-negotiate_auth-squid_kerb_auth-squid_kerb_auth.c @@ -0,0 +1,10 @@ +--- helpers/negotiate_auth/squid_kerb_auth/squid_kerb_auth.c.orig Mon Jul 16 21:10:10 2007 ++++ helpers/negotiate_auth/squid_kerb_auth/squid_kerb_auth.c Mon Jul 16 21:10:35 2007 +@@ -31,6 +31,7 @@ + #include <unistd.h> + #include <time.h> + #include <sys/time.h> ++#include <sys/param.h> + + #include "base64.h" + #ifndef HAVE_SPNEGO diff --git a/www/cacheboy/files/patch-src-cf.data.pre b/www/cacheboy/files/patch-src-cf.data.pre new file mode 100644 index 000000000000..6cb44428ed2b --- /dev/null +++ b/www/cacheboy/files/patch-src-cf.data.pre @@ -0,0 +1,50 @@ +--- src/cf.data.pre.orig Tue Jun 26 01:34:57 2007 ++++ src/cf.data.pre Mon Jul 16 20:02:21 2007 +@@ -1207,6 +1207,21 @@ + + Note that for coss, max-size must be less than COSS_MEMBUF_SZ + (hard coded at 1 MB). ++ ++ Note for FreeBSD users: ++ COSS -- like aufs -- uses async IO so if you compiled Squid without ++ support for the aufs storage type, COSS will use POSIX AIO. ++ This means that you need to add the line ++ ++ options VFS_AIO ++ ++ to your kernel configuration in order to use COSS. ++ ++ On FreeBSD 5 and higher you can load the aio(4) module and do not ++ necessarily need to recompile your kernel. ++ ++ If you compiled Squid with both support for aufs and COSS, COSS ++ will use aufs' routines and does not need special kernel support. + DOC_END + + NAME: logformat +@@ -1439,6 +1454,10 @@ + LOC: Config.pidFilename + DOC_START + A filename to write the process-id to. To disable, enter "none". ++ ++ Note: If you change this setting, you need to set squid_pidfile ++ in /etc/rc.conf to reflect the new value. Please see ++ %%PREFIX%%/etc/rc.d/squid for details. + DOC_END + + NAME: debug_options +@@ -3275,12 +3294,12 @@ + + NAME: cache_effective_user + TYPE: string +-DEFAULT: nobody ++DEFAULT: %%SQUID_UID%% + LOC: Config.effectiveUser + DOC_START + If you start Squid as root, it will change its effective/real + UID/GID to the user specified below. The default is to change +- to UID to nobody. If you define cache_effective_user, but not ++ to UID to %%SQUID_UID%%. If you define cache_effective_user, but not + cache_effective_group, Squid sets the GID to the effective + user's default group ID (taken from the password file) and + supplementary group list from the from groups membership of diff --git a/www/cacheboy/files/patch-tools-Makefile.in b/www/cacheboy/files/patch-tools-Makefile.in new file mode 100644 index 000000000000..3daee0c17c82 --- /dev/null +++ b/www/cacheboy/files/patch-tools-Makefile.in @@ -0,0 +1,11 @@ +--- tools/Makefile.in.orig Sun May 14 18:30:04 2006 ++++ tools/Makefile.in Sun May 14 18:31:02 2006 +@@ -297,7 +297,7 @@ + EXTRA_DIST = \ + cachemgr.conf + +-DEFAULT_CACHEMGR_CONFIG = $(sysconfdir)/cachemgr.conf ++DEFAULT_CACHEMGR_CONFIG = $(sysconfdir)/cachemgr.conf.default + + # Don't automatically uninstall config files + # @if test -f $(DESTDIR)$(DEFAULT_CONFIG_FILE) ; then \ diff --git a/www/cacheboy/files/pkg-deinstall.in b/www/cacheboy/files/pkg-deinstall.in new file mode 100644 index 000000000000..f685fd282a57 --- /dev/null +++ b/www/cacheboy/files/pkg-deinstall.in @@ -0,0 +1,39 @@ +#!/bin/sh +# +# $FreeBSD: /tmp/pcvs/ports/www/cacheboy/files/Attic/pkg-deinstall.in,v 1.1 2008-04-18 06:29:39 adrian Exp $ +# + +PATH=/bin:/usr/bin:/usr/sbin + +case $2 in +DEINSTALL) + cd ${PKG_PREFIX}/etc/squid || exit 1 + for f in cachemgr.conf mime.conf msntauth.conf squid.conf; do + cmp -s -z ${f} ${f}.default && rm ${f} + done + ;; +POST-DEINSTALL) + echo "===> post-deinstallation information for $1:" + echo "" + echo " Note:" + echo " Squid related user accounts and groups were not removed." + echo "" + echo " To remove the '%%SQUID_UID%%' user and the '%%SQUID_GID%%' group which were" + echo " created by a default installation of this package, run" + echo "" + echo " pw userdel -n %%SQUID_UID%% -u 100" + if [ -d ${PKG_PREFIX}/squid -o -d ${PKG_PREFIX}/etc/squid ] ; then + echo "" + echo " In order to ease updates the cache and log directories" + echo " and all configuration files modified by you were preserved." + echo "" + echo " Please remove them manually if you do not want to use" + echo " Squid any longer." + fi + echo "" + ;; +*) + exit 64 + ;; +esac +exit 0 diff --git a/www/cacheboy/files/pkg-install.in b/www/cacheboy/files/pkg-install.in new file mode 100644 index 000000000000..3c2edfb1bf19 --- /dev/null +++ b/www/cacheboy/files/pkg-install.in @@ -0,0 +1,81 @@ +#!/bin/sh +# +# $FreeBSD: /tmp/pcvs/ports/www/cacheboy/files/Attic/pkg-install.in,v 1.1 2008-04-18 06:29:39 adrian Exp $ +# + +PATH=/bin:/usr/bin:/usr/sbin +pkgname=$1 +squid_base="${PKG_PREFIX:-%%PREFIX%%}/squid" +squid_confdir="${PKG_PREFIX:-%%PREFIX%%}/etc/squid" +if [ -x /usr/sbin/nologin ]; then + nologin=/usr/sbin/nologin +else + nologin=/sbin/nologin +fi +squid_user="%%SQUID_UID%%" +squid_group="%%SQUID_GID%%" +squid_gid=100 +squid_uid=100 +case $2 in +PRE-INSTALL) + echo "===> Pre-installation configuration for ${pkgname}" + if ! pw groupshow ${squid_group} -q >/dev/null ; then + echo "There is no group '${squid_group}' on this system, so I will try to create it (using group id ${squid_gid}):" + if ! pw groupadd ${squid_group} -g ${squid_gid} -q ; then + echo "Failed to create group \"${squid_group}\"!" >&2 + echo "Please create it manually." >&2 + exit 1 + else + echo "Group '${squid_group}' created successfully:" + fi + else + echo "I will use the existing group '${squid_group}':" + fi + pw groupshow ${squid_group} + + if ! pw usershow ${squid_user} -q >/dev/null ; then + echo "There is no account '${squid_user}' on this system, so I will try to create it (using user id ${squid_uid}):" + if ! pw useradd -q -n ${squid_user} \ + -u ${squid_uid} -g ${squid_group} \ + -c "Squid caching-proxy pseudo user" \ + -d "${squid_base}" -s "${nologin}" \ + -h - ; then + echo "Failed to create user '${squid_user}'!" >&2 + echo "Please create it manually." >&2 + exit 1 + else + echo "User '${squid_user}' created successfully:" + fi + else + echo "I will use the existing user '${squid_user}':" + fi + pw usershow ${squid_user} + for dir in cache logs; do + if [ ! -d ${squid_base}/${dir} ]; then + echo "Creating ${squid_base}/${dir}..." + install -d -o ${squid_user} -g ${squid_group} \ + -m 0750 ${squid_base}/${dir} + fi + done + if [ ! -d ${squid_confdir} ]; then + echo "Creating ${squid_confdir}..." + install -d -o root -g ${squid_group} \ + -m 0750 ${squid_confdir} + fi + ;; +POST-INSTALL) + for file in cachemgr.conf mime.conf squid.conf; do + if [ ! -f ${squid_confdir}/${file} \ + -a -f ${squid_confdir}/${file}.default ]; then + echo "Creating ${file} from default..." + install -c -o root -g ${squid_group} -m 0640 \ + ${squid_confdir}/${file}.default \ + ${squid_confdir}/${file} + fi + done + ;; +*) + exit 64 + ;; +esac +exit 0 diff --git a/www/cacheboy/files/pkg-message.in b/www/cacheboy/files/pkg-message.in new file mode 100644 index 000000000000..3f52e7bff6e2 --- /dev/null +++ b/www/cacheboy/files/pkg-message.in @@ -0,0 +1,37 @@ + + o This port looks a lot like Squid. Yes, thats because its based + on Squid-2.HEAD. The binaries and paths are the same as Squid - + this is intended to make migrating from Squid-2.X to Cacheboy + (sans ICAP) as effortless as possible. + + o You can find the configuration files for this package in the + directory %%PREFIX%%/etc/squid. + + o A cache directory has been created in %%PREFIX%%/squid/cache. + Log files will be written to %%PREFIX%%/squid/logs. + + Note: + You must initialize new cache directories before you can start + squid. Do this by running "squid -z" as 'root' or '%%SQUID_UID%%'. + If your cache directories are already initialized (e.g. after an + upgrade of squid) you do not need to initialize them again. + + o The default configuration will deny everyone access to the + proxy service. Edit the "http_access" directives in + %%PREFIX%%/etc/squid/squid.conf to suit your needs. + + Please note that the Cacheboy start script is an rc.d style script. + This means that Cacheboy will not start automatically at boot + time unless it is explicitly enabled. + + To enable Cacheboy, set squid_enable=yes in either + /etc/rc.conf, /etc/rc.conf.local or /etc/rc.conf.d/squid + Please see %%PREFIX%%/etc/rc.d/squid(.sh) for further details. + + Note: + If you just updated your Cacheboy installation from Squid 2.5 or earlier, + make sure to check your Cacheboy configuration against the default + configuration file %%PREFIX%%/etc/squid/squid.conf.default. + + Additionally, you should check your configuration by calling + 'squid -f /path/to/squid.conf -k parse' before starting Cacheboy. diff --git a/www/cacheboy/files/squid.in b/www/cacheboy/files/squid.in new file mode 100644 index 000000000000..dc2734995d64 --- /dev/null +++ b/www/cacheboy/files/squid.in @@ -0,0 +1,60 @@ +#!/bin/sh +# +# $FreeBSD: /tmp/pcvs/ports/www/cacheboy/files/Attic/squid.in,v 1.1 2008-04-18 06:29:39 adrian Exp $ +# +# PROVIDE: squid +# REQUIRE: LOGIN +# KEYWORD: shutdown +# +# Note: +# Set "squid_enable=yes" in either /etc/rc.conf, /etc/rc.conf.local or +# /etc/rc.conf.d/squid to make this script actually do something. There +# you can also set squid_chdir, squid_pidfile, squid_user, and squid_flags. +# +# Please see squid(8), rc.conf(5) and rc(8) for further details. +# + +squid_checkrunning() { + ${command} ${squid_flags} -k check 2>/dev/null +} + +squid_stop() { + echo "Stopping ${name}." + ${command} ${squid_flags} -k shutdown + run_rc_command poll +} + +. %%RC_SUBR%% + +name=squid +rcvar=${name}_enable + +command=%%PREFIX%%/sbin/squid +extra_commands=reload +reload_cmd="${command} ${squid_flags} -k reconfigure" +stop_precmd="squid_checkrunning" +stop_cmd="squid_stop" + +load_rc_config ${name} + +squid_chdir=${squid_chdir:-"%%PREFIX%%/squid/logs"} +squid_enable=${squid_enable:-"NO"} +squid_flags=${squid_flags-"-D"} +squid_pidfile=${squid_pidfile:-"%%PREFIX%%/squid/logs/squid.pid"} +squid_user=${squid_user:-%%SQUID_UID%%} +default_config=%%PREFIX%%/etc/squid/squid.conf + +pidfile=${squid_pidfile} +required_dirs=${squid_chdir} + +# squid(8) will not start if ${default_config} is not present so try +# to catch that beforehand via ${required_files} rather than make +# squid(8) crash. +# If you remove the default configuration file make sure to add +# '-f /path/to/your/squid.conf' to squid_flags + +if [ -z "${squid_flags}" ]; then + required_files=${default_config} +fi + +run_rc_command "$1" diff --git a/www/cacheboy/pkg-descr b/www/cacheboy/pkg-descr new file mode 100644 index 000000000000..3716d8430937 --- /dev/null +++ b/www/cacheboy/pkg-descr @@ -0,0 +1,13 @@ +Cacheboy is a continuation of Squid-2 development which focuses on stability +whilst improving performance, functionality and compliance. + +THIS SOFTWARE IS CURRENTLY BETA - the bugs need ironing out so please submit +any mishaps as Issues via Google Code. New functionality will only appear after +the code is stable, so please help us find and fix the bugs! + +Cacheboy supports all of the features found in Squid-2. This release +currently doesn't support ICAP as it was never intergrated into the Squid-2 +release. + +WWW: http://www.cacheboy.net/ +WWW: http://code.google.com/p/cacheboy/ diff --git a/www/cacheboy15-devel/Makefile b/www/cacheboy15-devel/Makefile new file mode 100644 index 000000000000..18b03502d5bf --- /dev/null +++ b/www/cacheboy15-devel/Makefile @@ -0,0 +1,417 @@ +# New ports collection makefile for: squid24 +# Date created: Tue Mar 27 14:56:08 CEST 2001 +# Whom: Adrian Chadd <adrian@FreeBSD.org> +# +# $FreeBSD$ +# +# Tunables not (yet) configurable via 'make config': +# SQUID_{U,G}ID +# Which user/group Squid should run as (default: squid/squid). +# The user and group will be created if they do not already exist using +# a uid:gid of 100:100. +# NOTE: older versions of Squid defaulted to nobody/nogroup. +# If you wish to run Squid as "nobody" (which is not recommended), please +# define SQUID_UID=nobody and SQUID_GID=nogroup in your make environment +# before you start the update or installation of this port. +# +# SQUID_LANGUAGES +# A list of languages for which error page files should be installed +# (default: all) +# +# E.g. use `make SQUID_LANGUAGES="English French"' if you want to +# install the files for these languages only. +# Use `make -VSQUID_LANGUAGES' or scroll down to this variable's +# definition to see which values are valid. +# +# SQUID_DEFAULT_LANG +# If you define SQUID_LANGUAGES, select which language should be the default +# one (this variable defaults to English). This setting can be overwritten +# with squid.conf's error_directory directive. +# +# SQUID_CONFIGURE_ARGS +# Additional configuration options. +# +# To enable them, use e.g +# `make SQUID_CONFIGURE_ARGS="--enable-dlmalloc --enable-truncate" install' +# +# The list below may be incomplete, please see the configure script +# in the Squid source distribution for the complete list of additional +# options. +# Note that you probably do not need to worry about these options in most +# cases, they are included in case you want to experiment with them. +# +# --enable-dlmalloc +# Compile and use the malloc package from Doug Lea +# --enable-gnuregex +# Compile and use the supplied GNUregex routines instead of BSD regex +# (not recommended). +# --enable-xmalloc-statistics +# Show malloc statistics in status page +# --enable-cachemgr-hostname=some.hostname +# Set an explicit hostname in cachemgr.cgi +# --enable-truncate +# Use truncate() rather than unlink() +# --disable-unlinkd +# Do not use "unlinkd" +# --with-aufs-threads=N_THREADS +# Tune the number of worker threads for the aufs object +# --with-coss-membuf-size +# COSS membuf size (default: 1048576 bytes) +# --with-maxfd=N +# Override the maximum number of filedescriptors. Useful if you +# build as another user who is not privileged to use the amount +# of filedescriptors the resulting binary is expected to support. +# --enable-ntlm-fail-open +# Enable NTLM fail open, where a helper that fails one of the +# Authentication steps can allow Squid to still authenticate the user +# --enable-x-accelerator-vary +# Enable support for the X-Accelerator-Vary HTTP header. Can be used +# to indicate variance within an accelerator setup. Typically used +# together with other code that adds custom HTTP headers to the +# requests. +# --enable-forward-log +# Enable experimental forward_log directive. +# --enable-multicast-miss +# Enable experimental multicast notification of cachemisses. + +# FATAL: Makefile: order must be PORTNAME/PORTVERSION/DISTVERSIONPREFIX/DISTVERSION/DISTVERSIONSUFFIX/PORTREVISION/PORTEPOCH/CATEGORIES/MASTER_SITES/MASTER_SITE_SUBDIR/PKGNAMEPREFIX/PKGNAMESUFFIX/DISTNAME/EXTRACT_SUFX/DISTFILES/DIST_SUBDIR/EXTRACT_ONLY. + +PORTNAME= cacheboy +DISTVERSION= 0.PRE1 +PORTREVISION= 1 +CATEGORIES= www +MASTER_SITES= http://cacheboy.googlecode.com/files/ +MASTER_SITE_SUBDIR= / +DISTNAME= CACHEBOY_0.PRE1 +# EXTRACT_SUFX= .tar.gz +DIST_SUBDIR= CACHEBOY_0.PRE1 + +MAINTAINER= adrian@freebsd.org +COMMENT= HTTP Caching Proxy (Squid Derivative) + +CONFLICTS= squid-[0-9]* +GNU_CONFIGURE= yes +USE_PERL5= yes +USE_RC_SUBR= squid + +SQUID_UID?= squid +SQUID_GID?= squid + +MAN8= cachemgr.cgi.8 squid.8 +docs= QUICKSTART README.Squid doc/debug-sections.txt +PORTDOCS= ${docs:T} +PORTEXAMPLES= passwd.sql +SUB_FILES+= pkg-deinstall pkg-install pkg-message +SUB_LIST+= SQUID_UID=${SQUID_UID} SQUID_GID=${SQUID_GID} + +OPTIONS= SQUID_LDAP_AUTH "Install LDAP authentication helpers" off \ + SQUID_SASL_AUTH "Install SASL authentication helpers" off \ + SQUID_DELAY_POOLS "Enable delay pools" off \ + SQUID_SNMP "Enable SNMP support" off \ + SQUID_CARP "Enable CARP support" on \ + SQUID_SSL "Enable SSL support for reverse proxies" off \ + SQUID_PINGER "Install the icmp helper" off \ + SQUID_DNS_HELPER "Use the old 'dnsserver' helper" off \ + SQUID_HTCP "Enable HTCP support" off \ + SQUID_VIA_DB "Enable forward/via database" off \ + SQUID_CACHE_DIGESTS "Enable cache digests" off \ + SQUID_WCCP "Enable Web Cache Coordination Prot. v1" on \ + SQUID_WCCPV2 "Enable Web Cache Coordination Prot. v2" off \ + SQUID_STRICT_HTTP "Be strictly HTTP compliant" off \ + SQUID_IDENT "Enable ident (RFC 931) lookups" on \ + SQUID_REFERER_LOG "Enable Referer-header logging" off \ + SQUID_USERAGENT_LOG "Enable User-Agent-header logging" off \ + SQUID_ARP_ACL "Enable ACLs based on ethernet address" off \ + SQUID_PF "Enable transparent proxying with PF" off \ + SQUID_IPFILTER "Enable transp. proxying with IPFilter" off \ + SQUID_FOLLOW_XFF "Follow X-Forwarded-For headers" off \ + SQUID_AUFS "Enable the aufs storage scheme" off \ + SQUID_COSS "Enable the COSS storage scheme" off \ + SQUID_KQUEUE "Use kqueue(2) instead of poll(2)" on \ + SQUID_LARGEFILE "Support log and cache files >2GB" off \ + SQUID_STACKTRACES "Create backtraces on fatal errors" off + +etc_files= squid/cachemgr.conf.default \ + squid/mib.txt squid/mime.conf.default \ + squid/msntauth.conf.default squid/squid.conf.default + +icon_files= anthony-binhex.gif anthony-bomb.gif anthony-box.gif \ + anthony-box2.gif anthony-c.gif anthony-compressed.gif \ + anthony-dir.gif anthony-dirup.gif anthony-dvi.gif \ + anthony-f.gif anthony-image.gif anthony-image2.gif \ + anthony-layout.gif anthony-link.gif anthony-movie.gif \ + anthony-pdf.gif anthony-portal.gif anthony-ps.gif \ + anthony-quill.gif anthony-script.gif anthony-sound.gif \ + anthony-tar.gif anthony-tex.gif anthony-text.gif \ + anthony-unknown.gif anthony-xbm.gif anthony-xpm.gif + +error_files= ERR_ACCESS_DENIED ERR_CACHE_ACCESS_DENIED \ + ERR_CACHE_MGR_ACCESS_DENIED ERR_CANNOT_FORWARD \ + ERR_CONNECT_FAIL ERR_DNS_FAIL ERR_FORWARDING_DENIED \ + ERR_FTP_DISABLED ERR_FTP_FAILURE ERR_FTP_FORBIDDEN \ + ERR_FTP_NOT_FOUND ERR_FTP_PUT_CREATED \ + ERR_FTP_PUT_ERROR ERR_FTP_PUT_MODIFIED ERR_FTP_UNAVAILABLE \ + ERR_INVALID_REQ ERR_INVALID_RESP ERR_INVALID_URL \ + ERR_LIFETIME_EXP ERR_NO_RELAY ERR_ONLY_IF_CACHED_MISS \ + ERR_READ_ERROR ERR_READ_TIMEOUT ERR_SHUTTING_DOWN \ + ERR_SOCKET_FAILURE ERR_TOO_BIG ERR_UNSUP_REQ \ + ERR_URN_RESOLVE ERR_WRITE_ERROR ERR_ZERO_SIZE_OBJECT + +libexec= cachemgr.cgi digest_pw_auth diskd-daemon \ + ip_user_check \ + msnt_auth ncsa_auth ntlm_auth \ + pam_auth smb_auth smb_auth.sh squid_db_auth squid_session \ + squid_unix_group wbinfo_group.pl +.if !defined(SQUID_CONFIGURE_ARGS) || ${SQUID_CONFIGURE_ARGS:M*--disable-unlinkd*} == "" +libexec+= unlinkd +.endif + +sbin= RunCache squidclient squid + +CONFIGURE_ARGS= --bindir=${PREFIX}/sbin \ + --sbindir=${PREFIX}/sbin \ + --datadir=${PREFIX}/etc/squid \ + --libexecdir=${PREFIX}/libexec/squid \ + --localstatedir=${PREFIX}/squid \ + --sysconfdir=${PREFIX}/etc/squid \ + --enable-removal-policies="lru heap" \ + --disable-linux-netfilter \ + --disable-linux-tproxy \ + --disable-epoll + +.include <bsd.port.pre.mk> + +# Authentication methods and modules: + +basic_auth= DB NCSA PAM MSNT SMB +digest_auth= password +external_acl= ip_user session unix_group wbinfo_group +MAN8+= ncsa_auth.8 pam_auth.8 squid_db_auth.8 squid_session.8 \ + squid_unix_group.8 +.if defined(WITH_SQUID_LDAP_AUTH) +USE_OPENLDAP= yes +CFLAGS+= -I${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib +MAN8+= squid_ldap_auth.8 squid_ldap_group.8 +basic_auth+= LDAP +digest_auth+= ldap +external_acl+= ldap_group +libexec+= digest_ldap_auth squid_ldap_auth squid_ldap_group +.endif +.if defined(WITH_SQUID_SASL_AUTH) +LIB_DEPENDS+= sasl2.2:${PORTSDIR}/security/cyrus-sasl2 +CFLAGS+= -I${LOCALBASE}/include +CPPFLAGS+= -I${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib +basic_auth+= SASL +libexec+= sasl_auth +.endif +.if !defined(NO_NIS) && !defined(WITHOUT_NIS) +basic_auth+= YP +libexec+= yp_auth +.endif +CONFIGURE_ARGS+= --enable-auth="basic ntlm digest" \ + --enable-basic-auth-helpers="${basic_auth}" \ + --enable-digest-auth-helpers="${digest_auth}" \ + --enable-external-acl-helpers="${external_acl}" \ + --enable-ntlm-auth-helpers="SMB" +.if !defined(NO_KERBEROS) && !defined(WITHOUT_KERBEROS) +# XXX This currently only works with heimdal from the base system, +# see files/patch-helpers_negotiate_auth-squid_kerb_auth_* +CONFIGURE_ARGS+= --enable-negotiate-auth-helpers="squid_kerb_auth" +libexec+= squid_kerb_auth +.endif + +# Storage schemes: + +storage_schemes= ufs diskd null +.if defined(WITH_SQUID_AUFS) +storage_schemes+= aufs +.if ${OSVERSION}>=501000 +# Only document libmap.conf where it is available: +EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-src-cf.data.pre.aufs +.endif +# Nil aufs threads is default, set any other value via SQUID_CONFIGURE_ARGS +CONFIGURE_ARGS+= --with-pthreads +CFLAGS+= ${PTHREAD_CFLAGS} +.endif +.if defined(WITH_SQUID_COSS) +storage_schemes+= coss +.if !defined(WITH_SQUID_AUFS) +# use Posix AIO instead of aufs' AIO; note that you then need the kernel to +# supply AIO support, either by loading the aio(4) module (n/a on 4.x) or by +# adding the option VFS_AIO to your kernel configuration if you want to +# actually use COSS storage: +CONFIGURE_ARGS+= --enable-coss-aio-ops +.endif +sbin+= cossdump +.endif +CONFIGURE_ARGS+= --enable-storeio="${storage_schemes}" + +# Other options set via 'make config': + +.if defined(WITH_SQUID_DELAY_POOLS) +CONFIGURE_ARGS+= --enable-delay-pools +.endif +.if defined(WITH_SQUID_SNMP) +CONFIGURE_ARGS+= --enable-snmp +.endif +.if defined(WITHOUT_SQUID_CARP) +CONFIGURE_ARGS+= --disable-carp +.endif +.if defined(WITH_SQUID_SSL) +# we need to .include bsd.openssl.mk manually here.because USE_OPENSSL only +# works when it is defined before bsd.port{.pre}.mk is .included. +# This makes it currently impossible to combine this macro with OPTIONS to +# conditionally include OpenSSL support. +.include "${PORTSDIR}/Mk/bsd.openssl.mk" +CONFIGURE_ARGS+= --enable-ssl \ + --with-openssl="${OPENSSLBASE}" +CFLAGS+= -I${OPENSSLINC} +LDFLAGS+= -L${OPENSSLLIB} +.endif +.if defined(WITH_SQUID_PINGER) +CONFIGURE_ARGS+= --enable-icmp +libexec+= pinger +.endif +.if defined(WITH_SQUID_DNS_HELPER) +CONFIGURE_ARGS+= --disable-internal-dns +libexec+= dnsserver +.endif +.if defined(WITH_SQUID_HTCP) +CONFIGURE_ARGS+= --enable-htcp +.endif +.if defined(WITH_SQUID_VIA_DB) +CONFIGURE_ARGS+= --enable-forw-via-db +.endif +.if defined(WITH_SQUID_CACHE_DIGESTS) +CONFIGURE_ARGS+= --enable-cache-digests +.endif +.if defined(WITHOUT_SQUID_WCCP) +CONFIGURE_ARGS+= --disable-wccp +.endif +.if defined(WITH_SQUID_WCCPV2) +CONFIGURE_ARGS+= --enable-wccpv2 +.endif +.if defined(WITH_SQUID_STRICT_HTTP) +CONFIGURE_ARGS+= --disable-http-violations +.endif +.if defined(WITHOUT_SQUID_IDENT) +CONFIGURE_ARGS+= --disable-ident-lookups +.endif +.if defined(WITH_SQUID_REFERER_LOG) +CONFIGURE_ARGS+= --enable-referer-log +.endif +.if defined(WITH_SQUID_USERAGENT_LOG) +CONFIGURE_ARGS+= --enable-useragent-log +.endif +.if defined(WITH_SQUID_ARP_ACL) +CONFIGURE_ARGS+= --enable-arp-acl +.endif +.if defined(WITH_SQUID_PF) +CONFIGURE_ARGS+= --enable-pf-transparent +.if ${OSVERSION} < 502106 +IGNORE= pf available only in FreeBSD 5.3 and newer +.endif +.endif +# IPFilter-headers are not installed on FreeBSD 4 since 4.7-RELEASE, +# they were not installed on FreeBSD 5 from 2002-03-26 (OSVERSION > 500032) to +# 2003-06-27 (OSVERSION < 501101). +# +# Please see PR misc/44148 and the CVS log of src/include/Makefile for further +# information. +.if defined(WITH_SQUID_IPFILTER) +.if (${OSVERSION} > 500032 && ${OSVERSION} < 501101) +IGNORE= the IPFilter headers are not part of the base system +.else +CONFIGURE_ARGS+= --enable-ipf-transparent +.endif +.endif +.if defined(WITH_SQUID_FOLLOW_XFF) +CONFIGURE_ARGS+= --enable-follow-x-forwarded-for +.endif +.if defined(WITHOUT_SQUID_KQUEUE) +CONFIGURE_ARGS+= --disable-kqueue +.endif +.if defined(WITH_SQUID_LARGEFILE) +CONFIGURE_ARGS+= --with-large-files --enable-large-cache-files +.endif +.if defined(WITH_SQUID_STACKTRACES) +CONFIGURE_ARGS+= --enable-stacktraces +CFLAGS+= -g +STRIP= +.endif + +# Languages: +# +# If you do not define SQUID_LANGUAGES yourself, all available language files +# will be installed; the default language will be English. + +SQUID_LANGUAGES?= Armenian Azerbaijani Bulgarian Catalan Czech Danish \ + Dutch English Estonian Finnish French German Greek \ + Hebrew Hungarian Italian Japanese Korean Lithuanian \ + Polish Portuguese Romanian Russian-1251 Russian-koi8-r \ + Serbian Simplify_Chinese Slovak Spanish Swedish \ + Traditional_Chinese Turkish +SQUID_DEFAULT_LANG?= English +CONFIGURE_ARGS+= --enable-err-languages="${SQUID_LANGUAGES}" \ + --enable-default-err-language=${SQUID_DEFAULT_LANG} + +# Finally, add additional user specified configuration options: +CONFIGURE_ARGS+= ${SQUID_CONFIGURE_ARGS} + +CONFIGURE_ENV+= CFLAGS="${CFLAGS}" \ + CPPFLAGS="${CPPFLAGS}"\ + LDFLAGS="${LDFLAGS}" + +PLIST_DIRS= etc/squid/icons libexec/squid +PLIST_FILES= ${etc_files:S,^,etc/,} ${icon_files:S,^,etc/squid/icons/,} \ + ${libexec:S,^,libexec/squid/,} ${sbin:S,^,sbin/,} + +.for d in ${SQUID_LANGUAGES} +PLIST_DIRS+= etc/squid/errors/${d} +PLIST_FILES+= ${error_files:S,^,etc/squid/errors/${d}/,} +.endfor +PLIST_DIRS+= etc/squid/errors etc/squid squid/logs squid/cache squid + +post-patch: + @${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|g' \ + ${WRKSRC}/configure + @${REINPLACE_CMD} -e 's|%%SQUID_UID%%|${SQUID_UID}|g' \ + -e 's|%%SQUID_GID%%|${SQUID_GID}|g' \ + -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/src/cf.data.pre + @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ + ${WRKSRC}/helpers/basic_auth/SMB/Makefile.in \ + ${WRKSRC}/helpers/basic_auth/SMB/smb_auth.sh + +pre-install: +# Prevent installation of .orig files by deleting them. + @${FIND} ${WRKSRC} -name '*.bak' -delete + @${FIND} ${WRKSRC} -name '*.orig' -delete + +pre-su-install: + @${SETENV} ${SCRIPTS_ENV} PKG_PREFIX=${PREFIX} \ + ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL + +post-install: +.if !defined(NOPORTEXAMPLES) + @${MKDIR} ${EXAMPLESDIR} + ${INSTALL_DATA} ${WRKSRC}/helpers/basic_auth/DB/passwd.sql ${EXAMPLESDIR} +.endif +.if defined(WITH_SQUID_PINGER) + ${CHMOD} 4510 ${PREFIX}/libexec/squid/pinger; \ + ${CHGRP} ${SQUID_GID} ${PREFIX}/libexec/squid/pinger +.endif +.if !defined(NOPORTDOCS) + @${MKDIR} ${DOCSDIR} + cd ${WRKSRC} && ${INSTALL_DATA} ${docs} ${DOCSDIR} +.endif + @${SETENV} PKG_PREFIX=${PREFIX} \ + ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL + + @${ECHO_CMD} "===> post-installation information for ${PKGNAME}:" + @${ECHO_CMD} "" + @${CAT} ${PKGMESSAGE} + @${ECHO_CMD} "" + +.include <bsd.port.post.mk> diff --git a/www/cacheboy15-devel/distinfo b/www/cacheboy15-devel/distinfo new file mode 100644 index 000000000000..1b1c59307c9f --- /dev/null +++ b/www/cacheboy15-devel/distinfo @@ -0,0 +1,3 @@ +MD5 (CACHEBOY_0.PRE1/CACHEBOY_0.PRE1.tar.gz) = 844a5a1d15d211d94c26993c956ed695 +SHA256 (CACHEBOY_0.PRE1/CACHEBOY_0.PRE1.tar.gz) = 14aff6c61e4e9c3b0f0ec0ff0f5c6714e18230d78eb522e1ebe55578ebdad819 +SIZE (CACHEBOY_0.PRE1/CACHEBOY_0.PRE1.tar.gz) = 2086632 diff --git a/www/cacheboy15-devel/files/extra-patch-src-cf.data.pre.aufs b/www/cacheboy15-devel/files/extra-patch-src-cf.data.pre.aufs new file mode 100644 index 000000000000..019fdcac0fc7 --- /dev/null +++ b/www/cacheboy15-devel/files/extra-patch-src-cf.data.pre.aufs @@ -0,0 +1,20 @@ +--- src/cf.data.pre.orig Wed Nov 1 15:12:02 2006 ++++ src/cf.data.pre Wed Nov 1 15:12:17 2006 +@@ -1097,6 +1100,17 @@ + + see argument descriptions under ufs above + ++ Note: ++ By default, FreeBSD uses the pthread(3) M:N threading library. ++ You can, however, map the thread library to the 1:1 libthr(3) ++ implementation by inserting the following lines into ++ /etc/libmap.conf and see whether this performs better on your ++ system: ++ ++ [%%PREFIX%%/sbin/squid] ++ libpthread.so.1 libthr.so.1 ++ libpthread.so.2 libthr.so.2 ++ + The diskd store type: + + "diskd" uses the same storage format as "ufs", utilizing a diff --git a/www/cacheboy15-devel/files/patch-aa b/www/cacheboy15-devel/files/patch-aa new file mode 100644 index 000000000000..ec93f2dd3c39 --- /dev/null +++ b/www/cacheboy15-devel/files/patch-aa @@ -0,0 +1,11 @@ +--- include/squid_types.h.orig Mon Jul 7 00:45:26 2003 ++++ include/squid_types.h Mon Jul 7 00:48:39 2003 +@@ -66,8 +66,5 @@ + #if HAVE_SYS_TYPES_H + #include <sys/types.h> + #endif +-#if HAVE_SYS_BITYPES_H +-#include <sys/bitypes.h> +-#endif + + #endif /* SQUID_TYPES_H */ diff --git a/www/cacheboy15-devel/files/patch-helpers-basic_auth-SMB-Makefile.in b/www/cacheboy15-devel/files/patch-helpers-basic_auth-SMB-Makefile.in new file mode 100644 index 000000000000..09a82638fd3c --- /dev/null +++ b/www/cacheboy15-devel/files/patch-helpers-basic_auth-SMB-Makefile.in @@ -0,0 +1,11 @@ +--- helpers/basic_auth/SMB/Makefile.in.orig Tue Oct 4 07:29:26 2005 ++++ helpers/basic_auth/SMB/Makefile.in Tue Oct 4 07:29:49 2005 +@@ -129,7 +129,7 @@ + makesnmplib = @makesnmplib@ + + SMB_AUTH_HELPER = smb_auth.sh +-SAMBAPREFIX = /usr/local/samba ++SAMBAPREFIX = %%LOCALBASE%% + SMB_AUTH_HELPER_PATH = $(libexecdir)/$(SMB_AUTH_HELPER) + + libexec_SCRIPTS = $(SMB_AUTH_HELPER) diff --git a/www/cacheboy15-devel/files/patch-helpers-basic_auth-SMB-smb_auth.sh b/www/cacheboy15-devel/files/patch-helpers-basic_auth-SMB-smb_auth.sh new file mode 100644 index 000000000000..8f41fa2ff024 --- /dev/null +++ b/www/cacheboy15-devel/files/patch-helpers-basic_auth-SMB-smb_auth.sh @@ -0,0 +1,13 @@ +*** helpers/basic_auth/SMB/smb_auth.sh.orig Thu Feb 26 20:58:22 2004 +--- helpers/basic_auth/SMB/smb_auth.sh Thu Feb 26 20:59:45 2004 +*************** +*** 17,22 **** +--- 17,24 ---- + # along with this program; if not, write to the Free Software + # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + ++ SAMBAPREFIX=${SAMBAPREFIX:-%%LOCALBASE%%} ++ + read DOMAINNAME + read PASSTHROUGH + read NMBADDR diff --git a/www/cacheboy15-devel/files/patch-helpers-negotiate_auth-squid_kerb_auth-Makefile.in b/www/cacheboy15-devel/files/patch-helpers-negotiate_auth-squid_kerb_auth-Makefile.in new file mode 100644 index 000000000000..ca72c3f2fdd0 --- /dev/null +++ b/www/cacheboy15-devel/files/patch-helpers-negotiate_auth-squid_kerb_auth-Makefile.in @@ -0,0 +1,19 @@ +--- helpers/negotiate_auth/squid_kerb_auth/Makefile.in.orig Mon Jul 16 20:40:58 2007 ++++ helpers/negotiate_auth/squid_kerb_auth/Makefile.in Mon Jul 16 20:44:52 2007 +@@ -264,12 +264,12 @@ + #-L$(top_builddir)/lib -lmiscutil $(XTRA_LIBS) + + # HEIMDAL +-#KERBINC = -DHEIMDAL -I/usr/include/heimdal +-#KERBLIBS = -lgssapi -lkrb5 -lcom_err -lasn1 -lroken ++KERBINC = -DHEIMDAL -I/usr/include ++KERBLIBS = -lgssapi -lkrb5 -lcom_err -lasn1 -lroken -lcrypt -lcrypto + + # MIT +-KERBINC = +-KERBLIBS = -lgssapi_krb5 -lkrb5 -lcom_err ++#KERBINC = ++#KERBLIBS = -lgssapi_krb5 -lkrb5 -lcom_err + all: all-am + + .SUFFIXES: diff --git a/www/cacheboy15-devel/files/patch-helpers-negotiate_auth-squid_kerb_auth-squid_kerb_auth.c b/www/cacheboy15-devel/files/patch-helpers-negotiate_auth-squid_kerb_auth-squid_kerb_auth.c new file mode 100644 index 000000000000..14f2ac56e21a --- /dev/null +++ b/www/cacheboy15-devel/files/patch-helpers-negotiate_auth-squid_kerb_auth-squid_kerb_auth.c @@ -0,0 +1,10 @@ +--- helpers/negotiate_auth/squid_kerb_auth/squid_kerb_auth.c.orig Mon Jul 16 21:10:10 2007 ++++ helpers/negotiate_auth/squid_kerb_auth/squid_kerb_auth.c Mon Jul 16 21:10:35 2007 +@@ -31,6 +31,7 @@ + #include <unistd.h> + #include <time.h> + #include <sys/time.h> ++#include <sys/param.h> + + #include "base64.h" + #ifndef HAVE_SPNEGO diff --git a/www/cacheboy15-devel/files/patch-src-cf.data.pre b/www/cacheboy15-devel/files/patch-src-cf.data.pre new file mode 100644 index 000000000000..6cb44428ed2b --- /dev/null +++ b/www/cacheboy15-devel/files/patch-src-cf.data.pre @@ -0,0 +1,50 @@ +--- src/cf.data.pre.orig Tue Jun 26 01:34:57 2007 ++++ src/cf.data.pre Mon Jul 16 20:02:21 2007 +@@ -1207,6 +1207,21 @@ + + Note that for coss, max-size must be less than COSS_MEMBUF_SZ + (hard coded at 1 MB). ++ ++ Note for FreeBSD users: ++ COSS -- like aufs -- uses async IO so if you compiled Squid without ++ support for the aufs storage type, COSS will use POSIX AIO. ++ This means that you need to add the line ++ ++ options VFS_AIO ++ ++ to your kernel configuration in order to use COSS. ++ ++ On FreeBSD 5 and higher you can load the aio(4) module and do not ++ necessarily need to recompile your kernel. ++ ++ If you compiled Squid with both support for aufs and COSS, COSS ++ will use aufs' routines and does not need special kernel support. + DOC_END + + NAME: logformat +@@ -1439,6 +1454,10 @@ + LOC: Config.pidFilename + DOC_START + A filename to write the process-id to. To disable, enter "none". ++ ++ Note: If you change this setting, you need to set squid_pidfile ++ in /etc/rc.conf to reflect the new value. Please see ++ %%PREFIX%%/etc/rc.d/squid for details. + DOC_END + + NAME: debug_options +@@ -3275,12 +3294,12 @@ + + NAME: cache_effective_user + TYPE: string +-DEFAULT: nobody ++DEFAULT: %%SQUID_UID%% + LOC: Config.effectiveUser + DOC_START + If you start Squid as root, it will change its effective/real + UID/GID to the user specified below. The default is to change +- to UID to nobody. If you define cache_effective_user, but not ++ to UID to %%SQUID_UID%%. If you define cache_effective_user, but not + cache_effective_group, Squid sets the GID to the effective + user's default group ID (taken from the password file) and + supplementary group list from the from groups membership of diff --git a/www/cacheboy15-devel/files/patch-tools-Makefile.in b/www/cacheboy15-devel/files/patch-tools-Makefile.in new file mode 100644 index 000000000000..3daee0c17c82 --- /dev/null +++ b/www/cacheboy15-devel/files/patch-tools-Makefile.in @@ -0,0 +1,11 @@ +--- tools/Makefile.in.orig Sun May 14 18:30:04 2006 ++++ tools/Makefile.in Sun May 14 18:31:02 2006 +@@ -297,7 +297,7 @@ + EXTRA_DIST = \ + cachemgr.conf + +-DEFAULT_CACHEMGR_CONFIG = $(sysconfdir)/cachemgr.conf ++DEFAULT_CACHEMGR_CONFIG = $(sysconfdir)/cachemgr.conf.default + + # Don't automatically uninstall config files + # @if test -f $(DESTDIR)$(DEFAULT_CONFIG_FILE) ; then \ diff --git a/www/cacheboy15-devel/files/pkg-deinstall.in b/www/cacheboy15-devel/files/pkg-deinstall.in new file mode 100644 index 000000000000..397c79bdc843 --- /dev/null +++ b/www/cacheboy15-devel/files/pkg-deinstall.in @@ -0,0 +1,39 @@ +#!/bin/sh +# +# $FreeBSD: /tmp/pcvs/ports/www/cacheboy15-devel/files/pkg-deinstall.in,v 1.1 2008-04-18 06:29:39 adrian Exp $ +# + +PATH=/bin:/usr/bin:/usr/sbin + +case $2 in +DEINSTALL) + cd ${PKG_PREFIX}/etc/squid || exit 1 + for f in cachemgr.conf mime.conf msntauth.conf squid.conf; do + cmp -s -z ${f} ${f}.default && rm ${f} + done + ;; +POST-DEINSTALL) + echo "===> post-deinstallation information for $1:" + echo "" + echo " Note:" + echo " Squid related user accounts and groups were not removed." + echo "" + echo " To remove the '%%SQUID_UID%%' user and the '%%SQUID_GID%%' group which were" + echo " created by a default installation of this package, run" + echo "" + echo " pw userdel -n %%SQUID_UID%% -u 100" + if [ -d ${PKG_PREFIX}/squid -o -d ${PKG_PREFIX}/etc/squid ] ; then + echo "" + echo " In order to ease updates the cache and log directories" + echo " and all configuration files modified by you were preserved." + echo "" + echo " Please remove them manually if you do not want to use" + echo " Squid any longer." + fi + echo "" + ;; +*) + exit 64 + ;; +esac +exit 0 diff --git a/www/cacheboy15-devel/files/pkg-install.in b/www/cacheboy15-devel/files/pkg-install.in new file mode 100644 index 000000000000..e5237f7e5624 --- /dev/null +++ b/www/cacheboy15-devel/files/pkg-install.in @@ -0,0 +1,81 @@ +#!/bin/sh +# +# $FreeBSD: /tmp/pcvs/ports/www/cacheboy15-devel/files/pkg-install.in,v 1.1 2008-04-18 06:29:39 adrian Exp $ +# + +PATH=/bin:/usr/bin:/usr/sbin +pkgname=$1 +squid_base="${PKG_PREFIX:-%%PREFIX%%}/squid" +squid_confdir="${PKG_PREFIX:-%%PREFIX%%}/etc/squid" +if [ -x /usr/sbin/nologin ]; then + nologin=/usr/sbin/nologin +else + nologin=/sbin/nologin +fi +squid_user="%%SQUID_UID%%" +squid_group="%%SQUID_GID%%" +squid_gid=100 +squid_uid=100 +case $2 in +PRE-INSTALL) + echo "===> Pre-installation configuration for ${pkgname}" + if ! pw groupshow ${squid_group} -q >/dev/null ; then + echo "There is no group '${squid_group}' on this system, so I will try to create it (using group id ${squid_gid}):" + if ! pw groupadd ${squid_group} -g ${squid_gid} -q ; then + echo "Failed to create group \"${squid_group}\"!" >&2 + echo "Please create it manually." >&2 + exit 1 + else + echo "Group '${squid_group}' created successfully:" + fi + else + echo "I will use the existing group '${squid_group}':" + fi + pw groupshow ${squid_group} + + if ! pw usershow ${squid_user} -q >/dev/null ; then + echo "There is no account '${squid_user}' on this system, so I will try to create it (using user id ${squid_uid}):" + if ! pw useradd -q -n ${squid_user} \ + -u ${squid_uid} -g ${squid_group} \ + -c "Squid caching-proxy pseudo user" \ + -d "${squid_base}" -s "${nologin}" \ + -h - ; then + echo "Failed to create user '${squid_user}'!" >&2 + echo "Please create it manually." >&2 + exit 1 + else + echo "User '${squid_user}' created successfully:" + fi + else + echo "I will use the existing user '${squid_user}':" + fi + pw usershow ${squid_user} + for dir in cache logs; do + if [ ! -d ${squid_base}/${dir} ]; then + echo "Creating ${squid_base}/${dir}..." + install -d -o ${squid_user} -g ${squid_group} \ + -m 0750 ${squid_base}/${dir} + fi + done + if [ ! -d ${squid_confdir} ]; then + echo "Creating ${squid_confdir}..." + install -d -o root -g ${squid_group} \ + -m 0750 ${squid_confdir} + fi + ;; +POST-INSTALL) + for file in cachemgr.conf mime.conf squid.conf; do + if [ ! -f ${squid_confdir}/${file} \ + -a -f ${squid_confdir}/${file}.default ]; then + echo "Creating ${file} from default..." + install -c -o root -g ${squid_group} -m 0640 \ + ${squid_confdir}/${file}.default \ + ${squid_confdir}/${file} + fi + done + ;; +*) + exit 64 + ;; +esac +exit 0 diff --git a/www/cacheboy15-devel/files/pkg-message.in b/www/cacheboy15-devel/files/pkg-message.in new file mode 100644 index 000000000000..3f52e7bff6e2 --- /dev/null +++ b/www/cacheboy15-devel/files/pkg-message.in @@ -0,0 +1,37 @@ + + o This port looks a lot like Squid. Yes, thats because its based + on Squid-2.HEAD. The binaries and paths are the same as Squid - + this is intended to make migrating from Squid-2.X to Cacheboy + (sans ICAP) as effortless as possible. + + o You can find the configuration files for this package in the + directory %%PREFIX%%/etc/squid. + + o A cache directory has been created in %%PREFIX%%/squid/cache. + Log files will be written to %%PREFIX%%/squid/logs. + + Note: + You must initialize new cache directories before you can start + squid. Do this by running "squid -z" as 'root' or '%%SQUID_UID%%'. + If your cache directories are already initialized (e.g. after an + upgrade of squid) you do not need to initialize them again. + + o The default configuration will deny everyone access to the + proxy service. Edit the "http_access" directives in + %%PREFIX%%/etc/squid/squid.conf to suit your needs. + + Please note that the Cacheboy start script is an rc.d style script. + This means that Cacheboy will not start automatically at boot + time unless it is explicitly enabled. + + To enable Cacheboy, set squid_enable=yes in either + /etc/rc.conf, /etc/rc.conf.local or /etc/rc.conf.d/squid + Please see %%PREFIX%%/etc/rc.d/squid(.sh) for further details. + + Note: + If you just updated your Cacheboy installation from Squid 2.5 or earlier, + make sure to check your Cacheboy configuration against the default + configuration file %%PREFIX%%/etc/squid/squid.conf.default. + + Additionally, you should check your configuration by calling + 'squid -f /path/to/squid.conf -k parse' before starting Cacheboy. diff --git a/www/cacheboy15-devel/files/squid.in b/www/cacheboy15-devel/files/squid.in new file mode 100644 index 000000000000..bd9483908ae6 --- /dev/null +++ b/www/cacheboy15-devel/files/squid.in @@ -0,0 +1,60 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# PROVIDE: squid +# REQUIRE: LOGIN +# KEYWORD: shutdown +# +# Note: +# Set "squid_enable=yes" in either /etc/rc.conf, /etc/rc.conf.local or +# /etc/rc.conf.d/squid to make this script actually do something. There +# you can also set squid_chdir, squid_pidfile, squid_user, and squid_flags. +# +# Please see squid(8), rc.conf(5) and rc(8) for further details. +# + +squid_checkrunning() { + ${command} ${squid_flags} -k check 2>/dev/null +} + +squid_stop() { + echo "Stopping ${name}." + ${command} ${squid_flags} -k shutdown + run_rc_command poll +} + +. %%RC_SUBR%% + +name=squid +rcvar=${name}_enable + +command=%%PREFIX%%/sbin/squid +extra_commands=reload +reload_cmd="${command} ${squid_flags} -k reconfigure" +stop_precmd="squid_checkrunning" +stop_cmd="squid_stop" + +load_rc_config ${name} + +squid_chdir=${squid_chdir:-"%%PREFIX%%/squid/logs"} +squid_enable=${squid_enable:-"NO"} +squid_flags=${squid_flags-"-D"} +squid_pidfile=${squid_pidfile:-"%%PREFIX%%/squid/logs/squid.pid"} +squid_user=${squid_user:-%%SQUID_UID%%} +default_config=%%PREFIX%%/etc/squid/squid.conf + +pidfile=${squid_pidfile} +required_dirs=${squid_chdir} + +# squid(8) will not start if ${default_config} is not present so try +# to catch that beforehand via ${required_files} rather than make +# squid(8) crash. +# If you remove the default configuration file make sure to add +# '-f /path/to/your/squid.conf' to squid_flags + +if [ -z "${squid_flags}" ]; then + required_files=${default_config} +fi + +run_rc_command "$1" diff --git a/www/cacheboy15-devel/pkg-descr b/www/cacheboy15-devel/pkg-descr new file mode 100644 index 000000000000..3716d8430937 --- /dev/null +++ b/www/cacheboy15-devel/pkg-descr @@ -0,0 +1,13 @@ +Cacheboy is a continuation of Squid-2 development which focuses on stability +whilst improving performance, functionality and compliance. + +THIS SOFTWARE IS CURRENTLY BETA - the bugs need ironing out so please submit +any mishaps as Issues via Google Code. New functionality will only appear after +the code is stable, so please help us find and fix the bugs! + +Cacheboy supports all of the features found in Squid-2. This release +currently doesn't support ICAP as it was never intergrated into the Squid-2 +release. + +WWW: http://www.cacheboy.net/ +WWW: http://code.google.com/p/cacheboy/ diff --git a/www/cacheboy16/Makefile b/www/cacheboy16/Makefile new file mode 100644 index 000000000000..18b03502d5bf --- /dev/null +++ b/www/cacheboy16/Makefile @@ -0,0 +1,417 @@ +# New ports collection makefile for: squid24 +# Date created: Tue Mar 27 14:56:08 CEST 2001 +# Whom: Adrian Chadd <adrian@FreeBSD.org> +# +# $FreeBSD$ +# +# Tunables not (yet) configurable via 'make config': +# SQUID_{U,G}ID +# Which user/group Squid should run as (default: squid/squid). +# The user and group will be created if they do not already exist using +# a uid:gid of 100:100. +# NOTE: older versions of Squid defaulted to nobody/nogroup. +# If you wish to run Squid as "nobody" (which is not recommended), please +# define SQUID_UID=nobody and SQUID_GID=nogroup in your make environment +# before you start the update or installation of this port. +# +# SQUID_LANGUAGES +# A list of languages for which error page files should be installed +# (default: all) +# +# E.g. use `make SQUID_LANGUAGES="English French"' if you want to +# install the files for these languages only. +# Use `make -VSQUID_LANGUAGES' or scroll down to this variable's +# definition to see which values are valid. +# +# SQUID_DEFAULT_LANG +# If you define SQUID_LANGUAGES, select which language should be the default +# one (this variable defaults to English). This setting can be overwritten +# with squid.conf's error_directory directive. +# +# SQUID_CONFIGURE_ARGS +# Additional configuration options. +# +# To enable them, use e.g +# `make SQUID_CONFIGURE_ARGS="--enable-dlmalloc --enable-truncate" install' +# +# The list below may be incomplete, please see the configure script +# in the Squid source distribution for the complete list of additional +# options. +# Note that you probably do not need to worry about these options in most +# cases, they are included in case you want to experiment with them. +# +# --enable-dlmalloc +# Compile and use the malloc package from Doug Lea +# --enable-gnuregex +# Compile and use the supplied GNUregex routines instead of BSD regex +# (not recommended). +# --enable-xmalloc-statistics +# Show malloc statistics in status page +# --enable-cachemgr-hostname=some.hostname +# Set an explicit hostname in cachemgr.cgi +# --enable-truncate +# Use truncate() rather than unlink() +# --disable-unlinkd +# Do not use "unlinkd" +# --with-aufs-threads=N_THREADS +# Tune the number of worker threads for the aufs object +# --with-coss-membuf-size +# COSS membuf size (default: 1048576 bytes) +# --with-maxfd=N +# Override the maximum number of filedescriptors. Useful if you +# build as another user who is not privileged to use the amount +# of filedescriptors the resulting binary is expected to support. +# --enable-ntlm-fail-open +# Enable NTLM fail open, where a helper that fails one of the +# Authentication steps can allow Squid to still authenticate the user +# --enable-x-accelerator-vary +# Enable support for the X-Accelerator-Vary HTTP header. Can be used +# to indicate variance within an accelerator setup. Typically used +# together with other code that adds custom HTTP headers to the +# requests. +# --enable-forward-log +# Enable experimental forward_log directive. +# --enable-multicast-miss +# Enable experimental multicast notification of cachemisses. + +# FATAL: Makefile: order must be PORTNAME/PORTVERSION/DISTVERSIONPREFIX/DISTVERSION/DISTVERSIONSUFFIX/PORTREVISION/PORTEPOCH/CATEGORIES/MASTER_SITES/MASTER_SITE_SUBDIR/PKGNAMEPREFIX/PKGNAMESUFFIX/DISTNAME/EXTRACT_SUFX/DISTFILES/DIST_SUBDIR/EXTRACT_ONLY. + +PORTNAME= cacheboy +DISTVERSION= 0.PRE1 +PORTREVISION= 1 +CATEGORIES= www +MASTER_SITES= http://cacheboy.googlecode.com/files/ +MASTER_SITE_SUBDIR= / +DISTNAME= CACHEBOY_0.PRE1 +# EXTRACT_SUFX= .tar.gz +DIST_SUBDIR= CACHEBOY_0.PRE1 + +MAINTAINER= adrian@freebsd.org +COMMENT= HTTP Caching Proxy (Squid Derivative) + +CONFLICTS= squid-[0-9]* +GNU_CONFIGURE= yes +USE_PERL5= yes +USE_RC_SUBR= squid + +SQUID_UID?= squid +SQUID_GID?= squid + +MAN8= cachemgr.cgi.8 squid.8 +docs= QUICKSTART README.Squid doc/debug-sections.txt +PORTDOCS= ${docs:T} +PORTEXAMPLES= passwd.sql +SUB_FILES+= pkg-deinstall pkg-install pkg-message +SUB_LIST+= SQUID_UID=${SQUID_UID} SQUID_GID=${SQUID_GID} + +OPTIONS= SQUID_LDAP_AUTH "Install LDAP authentication helpers" off \ + SQUID_SASL_AUTH "Install SASL authentication helpers" off \ + SQUID_DELAY_POOLS "Enable delay pools" off \ + SQUID_SNMP "Enable SNMP support" off \ + SQUID_CARP "Enable CARP support" on \ + SQUID_SSL "Enable SSL support for reverse proxies" off \ + SQUID_PINGER "Install the icmp helper" off \ + SQUID_DNS_HELPER "Use the old 'dnsserver' helper" off \ + SQUID_HTCP "Enable HTCP support" off \ + SQUID_VIA_DB "Enable forward/via database" off \ + SQUID_CACHE_DIGESTS "Enable cache digests" off \ + SQUID_WCCP "Enable Web Cache Coordination Prot. v1" on \ + SQUID_WCCPV2 "Enable Web Cache Coordination Prot. v2" off \ + SQUID_STRICT_HTTP "Be strictly HTTP compliant" off \ + SQUID_IDENT "Enable ident (RFC 931) lookups" on \ + SQUID_REFERER_LOG "Enable Referer-header logging" off \ + SQUID_USERAGENT_LOG "Enable User-Agent-header logging" off \ + SQUID_ARP_ACL "Enable ACLs based on ethernet address" off \ + SQUID_PF "Enable transparent proxying with PF" off \ + SQUID_IPFILTER "Enable transp. proxying with IPFilter" off \ + SQUID_FOLLOW_XFF "Follow X-Forwarded-For headers" off \ + SQUID_AUFS "Enable the aufs storage scheme" off \ + SQUID_COSS "Enable the COSS storage scheme" off \ + SQUID_KQUEUE "Use kqueue(2) instead of poll(2)" on \ + SQUID_LARGEFILE "Support log and cache files >2GB" off \ + SQUID_STACKTRACES "Create backtraces on fatal errors" off + +etc_files= squid/cachemgr.conf.default \ + squid/mib.txt squid/mime.conf.default \ + squid/msntauth.conf.default squid/squid.conf.default + +icon_files= anthony-binhex.gif anthony-bomb.gif anthony-box.gif \ + anthony-box2.gif anthony-c.gif anthony-compressed.gif \ + anthony-dir.gif anthony-dirup.gif anthony-dvi.gif \ + anthony-f.gif anthony-image.gif anthony-image2.gif \ + anthony-layout.gif anthony-link.gif anthony-movie.gif \ + anthony-pdf.gif anthony-portal.gif anthony-ps.gif \ + anthony-quill.gif anthony-script.gif anthony-sound.gif \ + anthony-tar.gif anthony-tex.gif anthony-text.gif \ + anthony-unknown.gif anthony-xbm.gif anthony-xpm.gif + +error_files= ERR_ACCESS_DENIED ERR_CACHE_ACCESS_DENIED \ + ERR_CACHE_MGR_ACCESS_DENIED ERR_CANNOT_FORWARD \ + ERR_CONNECT_FAIL ERR_DNS_FAIL ERR_FORWARDING_DENIED \ + ERR_FTP_DISABLED ERR_FTP_FAILURE ERR_FTP_FORBIDDEN \ + ERR_FTP_NOT_FOUND ERR_FTP_PUT_CREATED \ + ERR_FTP_PUT_ERROR ERR_FTP_PUT_MODIFIED ERR_FTP_UNAVAILABLE \ + ERR_INVALID_REQ ERR_INVALID_RESP ERR_INVALID_URL \ + ERR_LIFETIME_EXP ERR_NO_RELAY ERR_ONLY_IF_CACHED_MISS \ + ERR_READ_ERROR ERR_READ_TIMEOUT ERR_SHUTTING_DOWN \ + ERR_SOCKET_FAILURE ERR_TOO_BIG ERR_UNSUP_REQ \ + ERR_URN_RESOLVE ERR_WRITE_ERROR ERR_ZERO_SIZE_OBJECT + +libexec= cachemgr.cgi digest_pw_auth diskd-daemon \ + ip_user_check \ + msnt_auth ncsa_auth ntlm_auth \ + pam_auth smb_auth smb_auth.sh squid_db_auth squid_session \ + squid_unix_group wbinfo_group.pl +.if !defined(SQUID_CONFIGURE_ARGS) || ${SQUID_CONFIGURE_ARGS:M*--disable-unlinkd*} == "" +libexec+= unlinkd +.endif + +sbin= RunCache squidclient squid + +CONFIGURE_ARGS= --bindir=${PREFIX}/sbin \ + --sbindir=${PREFIX}/sbin \ + --datadir=${PREFIX}/etc/squid \ + --libexecdir=${PREFIX}/libexec/squid \ + --localstatedir=${PREFIX}/squid \ + --sysconfdir=${PREFIX}/etc/squid \ + --enable-removal-policies="lru heap" \ + --disable-linux-netfilter \ + --disable-linux-tproxy \ + --disable-epoll + +.include <bsd.port.pre.mk> + +# Authentication methods and modules: + +basic_auth= DB NCSA PAM MSNT SMB +digest_auth= password +external_acl= ip_user session unix_group wbinfo_group +MAN8+= ncsa_auth.8 pam_auth.8 squid_db_auth.8 squid_session.8 \ + squid_unix_group.8 +.if defined(WITH_SQUID_LDAP_AUTH) +USE_OPENLDAP= yes +CFLAGS+= -I${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib +MAN8+= squid_ldap_auth.8 squid_ldap_group.8 +basic_auth+= LDAP +digest_auth+= ldap +external_acl+= ldap_group +libexec+= digest_ldap_auth squid_ldap_auth squid_ldap_group +.endif +.if defined(WITH_SQUID_SASL_AUTH) +LIB_DEPENDS+= sasl2.2:${PORTSDIR}/security/cyrus-sasl2 +CFLAGS+= -I${LOCALBASE}/include +CPPFLAGS+= -I${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib +basic_auth+= SASL +libexec+= sasl_auth +.endif +.if !defined(NO_NIS) && !defined(WITHOUT_NIS) +basic_auth+= YP +libexec+= yp_auth +.endif +CONFIGURE_ARGS+= --enable-auth="basic ntlm digest" \ + --enable-basic-auth-helpers="${basic_auth}" \ + --enable-digest-auth-helpers="${digest_auth}" \ + --enable-external-acl-helpers="${external_acl}" \ + --enable-ntlm-auth-helpers="SMB" +.if !defined(NO_KERBEROS) && !defined(WITHOUT_KERBEROS) +# XXX This currently only works with heimdal from the base system, +# see files/patch-helpers_negotiate_auth-squid_kerb_auth_* +CONFIGURE_ARGS+= --enable-negotiate-auth-helpers="squid_kerb_auth" +libexec+= squid_kerb_auth +.endif + +# Storage schemes: + +storage_schemes= ufs diskd null +.if defined(WITH_SQUID_AUFS) +storage_schemes+= aufs +.if ${OSVERSION}>=501000 +# Only document libmap.conf where it is available: +EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-src-cf.data.pre.aufs +.endif +# Nil aufs threads is default, set any other value via SQUID_CONFIGURE_ARGS +CONFIGURE_ARGS+= --with-pthreads +CFLAGS+= ${PTHREAD_CFLAGS} +.endif +.if defined(WITH_SQUID_COSS) +storage_schemes+= coss +.if !defined(WITH_SQUID_AUFS) +# use Posix AIO instead of aufs' AIO; note that you then need the kernel to +# supply AIO support, either by loading the aio(4) module (n/a on 4.x) or by +# adding the option VFS_AIO to your kernel configuration if you want to +# actually use COSS storage: +CONFIGURE_ARGS+= --enable-coss-aio-ops +.endif +sbin+= cossdump +.endif +CONFIGURE_ARGS+= --enable-storeio="${storage_schemes}" + +# Other options set via 'make config': + +.if defined(WITH_SQUID_DELAY_POOLS) +CONFIGURE_ARGS+= --enable-delay-pools +.endif +.if defined(WITH_SQUID_SNMP) +CONFIGURE_ARGS+= --enable-snmp +.endif +.if defined(WITHOUT_SQUID_CARP) +CONFIGURE_ARGS+= --disable-carp +.endif +.if defined(WITH_SQUID_SSL) +# we need to .include bsd.openssl.mk manually here.because USE_OPENSSL only +# works when it is defined before bsd.port{.pre}.mk is .included. +# This makes it currently impossible to combine this macro with OPTIONS to +# conditionally include OpenSSL support. +.include "${PORTSDIR}/Mk/bsd.openssl.mk" +CONFIGURE_ARGS+= --enable-ssl \ + --with-openssl="${OPENSSLBASE}" +CFLAGS+= -I${OPENSSLINC} +LDFLAGS+= -L${OPENSSLLIB} +.endif +.if defined(WITH_SQUID_PINGER) +CONFIGURE_ARGS+= --enable-icmp +libexec+= pinger +.endif +.if defined(WITH_SQUID_DNS_HELPER) +CONFIGURE_ARGS+= --disable-internal-dns +libexec+= dnsserver +.endif +.if defined(WITH_SQUID_HTCP) +CONFIGURE_ARGS+= --enable-htcp +.endif +.if defined(WITH_SQUID_VIA_DB) +CONFIGURE_ARGS+= --enable-forw-via-db +.endif +.if defined(WITH_SQUID_CACHE_DIGESTS) +CONFIGURE_ARGS+= --enable-cache-digests +.endif +.if defined(WITHOUT_SQUID_WCCP) +CONFIGURE_ARGS+= --disable-wccp +.endif +.if defined(WITH_SQUID_WCCPV2) +CONFIGURE_ARGS+= --enable-wccpv2 +.endif +.if defined(WITH_SQUID_STRICT_HTTP) +CONFIGURE_ARGS+= --disable-http-violations +.endif +.if defined(WITHOUT_SQUID_IDENT) +CONFIGURE_ARGS+= --disable-ident-lookups +.endif +.if defined(WITH_SQUID_REFERER_LOG) +CONFIGURE_ARGS+= --enable-referer-log +.endif +.if defined(WITH_SQUID_USERAGENT_LOG) +CONFIGURE_ARGS+= --enable-useragent-log +.endif +.if defined(WITH_SQUID_ARP_ACL) +CONFIGURE_ARGS+= --enable-arp-acl +.endif +.if defined(WITH_SQUID_PF) +CONFIGURE_ARGS+= --enable-pf-transparent +.if ${OSVERSION} < 502106 +IGNORE= pf available only in FreeBSD 5.3 and newer +.endif +.endif +# IPFilter-headers are not installed on FreeBSD 4 since 4.7-RELEASE, +# they were not installed on FreeBSD 5 from 2002-03-26 (OSVERSION > 500032) to +# 2003-06-27 (OSVERSION < 501101). +# +# Please see PR misc/44148 and the CVS log of src/include/Makefile for further +# information. +.if defined(WITH_SQUID_IPFILTER) +.if (${OSVERSION} > 500032 && ${OSVERSION} < 501101) +IGNORE= the IPFilter headers are not part of the base system +.else +CONFIGURE_ARGS+= --enable-ipf-transparent +.endif +.endif +.if defined(WITH_SQUID_FOLLOW_XFF) +CONFIGURE_ARGS+= --enable-follow-x-forwarded-for +.endif +.if defined(WITHOUT_SQUID_KQUEUE) +CONFIGURE_ARGS+= --disable-kqueue +.endif +.if defined(WITH_SQUID_LARGEFILE) +CONFIGURE_ARGS+= --with-large-files --enable-large-cache-files +.endif +.if defined(WITH_SQUID_STACKTRACES) +CONFIGURE_ARGS+= --enable-stacktraces +CFLAGS+= -g +STRIP= +.endif + +# Languages: +# +# If you do not define SQUID_LANGUAGES yourself, all available language files +# will be installed; the default language will be English. + +SQUID_LANGUAGES?= Armenian Azerbaijani Bulgarian Catalan Czech Danish \ + Dutch English Estonian Finnish French German Greek \ + Hebrew Hungarian Italian Japanese Korean Lithuanian \ + Polish Portuguese Romanian Russian-1251 Russian-koi8-r \ + Serbian Simplify_Chinese Slovak Spanish Swedish \ + Traditional_Chinese Turkish +SQUID_DEFAULT_LANG?= English +CONFIGURE_ARGS+= --enable-err-languages="${SQUID_LANGUAGES}" \ + --enable-default-err-language=${SQUID_DEFAULT_LANG} + +# Finally, add additional user specified configuration options: +CONFIGURE_ARGS+= ${SQUID_CONFIGURE_ARGS} + +CONFIGURE_ENV+= CFLAGS="${CFLAGS}" \ + CPPFLAGS="${CPPFLAGS}"\ + LDFLAGS="${LDFLAGS}" + +PLIST_DIRS= etc/squid/icons libexec/squid +PLIST_FILES= ${etc_files:S,^,etc/,} ${icon_files:S,^,etc/squid/icons/,} \ + ${libexec:S,^,libexec/squid/,} ${sbin:S,^,sbin/,} + +.for d in ${SQUID_LANGUAGES} +PLIST_DIRS+= etc/squid/errors/${d} +PLIST_FILES+= ${error_files:S,^,etc/squid/errors/${d}/,} +.endfor +PLIST_DIRS+= etc/squid/errors etc/squid squid/logs squid/cache squid + +post-patch: + @${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|g' \ + ${WRKSRC}/configure + @${REINPLACE_CMD} -e 's|%%SQUID_UID%%|${SQUID_UID}|g' \ + -e 's|%%SQUID_GID%%|${SQUID_GID}|g' \ + -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/src/cf.data.pre + @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ + ${WRKSRC}/helpers/basic_auth/SMB/Makefile.in \ + ${WRKSRC}/helpers/basic_auth/SMB/smb_auth.sh + +pre-install: +# Prevent installation of .orig files by deleting them. + @${FIND} ${WRKSRC} -name '*.bak' -delete + @${FIND} ${WRKSRC} -name '*.orig' -delete + +pre-su-install: + @${SETENV} ${SCRIPTS_ENV} PKG_PREFIX=${PREFIX} \ + ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL + +post-install: +.if !defined(NOPORTEXAMPLES) + @${MKDIR} ${EXAMPLESDIR} + ${INSTALL_DATA} ${WRKSRC}/helpers/basic_auth/DB/passwd.sql ${EXAMPLESDIR} +.endif +.if defined(WITH_SQUID_PINGER) + ${CHMOD} 4510 ${PREFIX}/libexec/squid/pinger; \ + ${CHGRP} ${SQUID_GID} ${PREFIX}/libexec/squid/pinger +.endif +.if !defined(NOPORTDOCS) + @${MKDIR} ${DOCSDIR} + cd ${WRKSRC} && ${INSTALL_DATA} ${docs} ${DOCSDIR} +.endif + @${SETENV} PKG_PREFIX=${PREFIX} \ + ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL + + @${ECHO_CMD} "===> post-installation information for ${PKGNAME}:" + @${ECHO_CMD} "" + @${CAT} ${PKGMESSAGE} + @${ECHO_CMD} "" + +.include <bsd.port.post.mk> diff --git a/www/cacheboy16/distinfo b/www/cacheboy16/distinfo new file mode 100644 index 000000000000..1b1c59307c9f --- /dev/null +++ b/www/cacheboy16/distinfo @@ -0,0 +1,3 @@ +MD5 (CACHEBOY_0.PRE1/CACHEBOY_0.PRE1.tar.gz) = 844a5a1d15d211d94c26993c956ed695 +SHA256 (CACHEBOY_0.PRE1/CACHEBOY_0.PRE1.tar.gz) = 14aff6c61e4e9c3b0f0ec0ff0f5c6714e18230d78eb522e1ebe55578ebdad819 +SIZE (CACHEBOY_0.PRE1/CACHEBOY_0.PRE1.tar.gz) = 2086632 diff --git a/www/cacheboy16/files/extra-patch-src-cf.data.pre.aufs b/www/cacheboy16/files/extra-patch-src-cf.data.pre.aufs new file mode 100644 index 000000000000..019fdcac0fc7 --- /dev/null +++ b/www/cacheboy16/files/extra-patch-src-cf.data.pre.aufs @@ -0,0 +1,20 @@ +--- src/cf.data.pre.orig Wed Nov 1 15:12:02 2006 ++++ src/cf.data.pre Wed Nov 1 15:12:17 2006 +@@ -1097,6 +1100,17 @@ + + see argument descriptions under ufs above + ++ Note: ++ By default, FreeBSD uses the pthread(3) M:N threading library. ++ You can, however, map the thread library to the 1:1 libthr(3) ++ implementation by inserting the following lines into ++ /etc/libmap.conf and see whether this performs better on your ++ system: ++ ++ [%%PREFIX%%/sbin/squid] ++ libpthread.so.1 libthr.so.1 ++ libpthread.so.2 libthr.so.2 ++ + The diskd store type: + + "diskd" uses the same storage format as "ufs", utilizing a diff --git a/www/cacheboy16/files/patch-aa b/www/cacheboy16/files/patch-aa new file mode 100644 index 000000000000..ec93f2dd3c39 --- /dev/null +++ b/www/cacheboy16/files/patch-aa @@ -0,0 +1,11 @@ +--- include/squid_types.h.orig Mon Jul 7 00:45:26 2003 ++++ include/squid_types.h Mon Jul 7 00:48:39 2003 +@@ -66,8 +66,5 @@ + #if HAVE_SYS_TYPES_H + #include <sys/types.h> + #endif +-#if HAVE_SYS_BITYPES_H +-#include <sys/bitypes.h> +-#endif + + #endif /* SQUID_TYPES_H */ diff --git a/www/cacheboy16/files/patch-helpers-basic_auth-SMB-Makefile.in b/www/cacheboy16/files/patch-helpers-basic_auth-SMB-Makefile.in new file mode 100644 index 000000000000..09a82638fd3c --- /dev/null +++ b/www/cacheboy16/files/patch-helpers-basic_auth-SMB-Makefile.in @@ -0,0 +1,11 @@ +--- helpers/basic_auth/SMB/Makefile.in.orig Tue Oct 4 07:29:26 2005 ++++ helpers/basic_auth/SMB/Makefile.in Tue Oct 4 07:29:49 2005 +@@ -129,7 +129,7 @@ + makesnmplib = @makesnmplib@ + + SMB_AUTH_HELPER = smb_auth.sh +-SAMBAPREFIX = /usr/local/samba ++SAMBAPREFIX = %%LOCALBASE%% + SMB_AUTH_HELPER_PATH = $(libexecdir)/$(SMB_AUTH_HELPER) + + libexec_SCRIPTS = $(SMB_AUTH_HELPER) diff --git a/www/cacheboy16/files/patch-helpers-basic_auth-SMB-smb_auth.sh b/www/cacheboy16/files/patch-helpers-basic_auth-SMB-smb_auth.sh new file mode 100644 index 000000000000..8f41fa2ff024 --- /dev/null +++ b/www/cacheboy16/files/patch-helpers-basic_auth-SMB-smb_auth.sh @@ -0,0 +1,13 @@ +*** helpers/basic_auth/SMB/smb_auth.sh.orig Thu Feb 26 20:58:22 2004 +--- helpers/basic_auth/SMB/smb_auth.sh Thu Feb 26 20:59:45 2004 +*************** +*** 17,22 **** +--- 17,24 ---- + # along with this program; if not, write to the Free Software + # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + ++ SAMBAPREFIX=${SAMBAPREFIX:-%%LOCALBASE%%} ++ + read DOMAINNAME + read PASSTHROUGH + read NMBADDR diff --git a/www/cacheboy16/files/patch-helpers-negotiate_auth-squid_kerb_auth-Makefile.in b/www/cacheboy16/files/patch-helpers-negotiate_auth-squid_kerb_auth-Makefile.in new file mode 100644 index 000000000000..ca72c3f2fdd0 --- /dev/null +++ b/www/cacheboy16/files/patch-helpers-negotiate_auth-squid_kerb_auth-Makefile.in @@ -0,0 +1,19 @@ +--- helpers/negotiate_auth/squid_kerb_auth/Makefile.in.orig Mon Jul 16 20:40:58 2007 ++++ helpers/negotiate_auth/squid_kerb_auth/Makefile.in Mon Jul 16 20:44:52 2007 +@@ -264,12 +264,12 @@ + #-L$(top_builddir)/lib -lmiscutil $(XTRA_LIBS) + + # HEIMDAL +-#KERBINC = -DHEIMDAL -I/usr/include/heimdal +-#KERBLIBS = -lgssapi -lkrb5 -lcom_err -lasn1 -lroken ++KERBINC = -DHEIMDAL -I/usr/include ++KERBLIBS = -lgssapi -lkrb5 -lcom_err -lasn1 -lroken -lcrypt -lcrypto + + # MIT +-KERBINC = +-KERBLIBS = -lgssapi_krb5 -lkrb5 -lcom_err ++#KERBINC = ++#KERBLIBS = -lgssapi_krb5 -lkrb5 -lcom_err + all: all-am + + .SUFFIXES: diff --git a/www/cacheboy16/files/patch-helpers-negotiate_auth-squid_kerb_auth-squid_kerb_auth.c b/www/cacheboy16/files/patch-helpers-negotiate_auth-squid_kerb_auth-squid_kerb_auth.c new file mode 100644 index 000000000000..14f2ac56e21a --- /dev/null +++ b/www/cacheboy16/files/patch-helpers-negotiate_auth-squid_kerb_auth-squid_kerb_auth.c @@ -0,0 +1,10 @@ +--- helpers/negotiate_auth/squid_kerb_auth/squid_kerb_auth.c.orig Mon Jul 16 21:10:10 2007 ++++ helpers/negotiate_auth/squid_kerb_auth/squid_kerb_auth.c Mon Jul 16 21:10:35 2007 +@@ -31,6 +31,7 @@ + #include <unistd.h> + #include <time.h> + #include <sys/time.h> ++#include <sys/param.h> + + #include "base64.h" + #ifndef HAVE_SPNEGO diff --git a/www/cacheboy16/files/patch-src-cf.data.pre b/www/cacheboy16/files/patch-src-cf.data.pre new file mode 100644 index 000000000000..6cb44428ed2b --- /dev/null +++ b/www/cacheboy16/files/patch-src-cf.data.pre @@ -0,0 +1,50 @@ +--- src/cf.data.pre.orig Tue Jun 26 01:34:57 2007 ++++ src/cf.data.pre Mon Jul 16 20:02:21 2007 +@@ -1207,6 +1207,21 @@ + + Note that for coss, max-size must be less than COSS_MEMBUF_SZ + (hard coded at 1 MB). ++ ++ Note for FreeBSD users: ++ COSS -- like aufs -- uses async IO so if you compiled Squid without ++ support for the aufs storage type, COSS will use POSIX AIO. ++ This means that you need to add the line ++ ++ options VFS_AIO ++ ++ to your kernel configuration in order to use COSS. ++ ++ On FreeBSD 5 and higher you can load the aio(4) module and do not ++ necessarily need to recompile your kernel. ++ ++ If you compiled Squid with both support for aufs and COSS, COSS ++ will use aufs' routines and does not need special kernel support. + DOC_END + + NAME: logformat +@@ -1439,6 +1454,10 @@ + LOC: Config.pidFilename + DOC_START + A filename to write the process-id to. To disable, enter "none". ++ ++ Note: If you change this setting, you need to set squid_pidfile ++ in /etc/rc.conf to reflect the new value. Please see ++ %%PREFIX%%/etc/rc.d/squid for details. + DOC_END + + NAME: debug_options +@@ -3275,12 +3294,12 @@ + + NAME: cache_effective_user + TYPE: string +-DEFAULT: nobody ++DEFAULT: %%SQUID_UID%% + LOC: Config.effectiveUser + DOC_START + If you start Squid as root, it will change its effective/real + UID/GID to the user specified below. The default is to change +- to UID to nobody. If you define cache_effective_user, but not ++ to UID to %%SQUID_UID%%. If you define cache_effective_user, but not + cache_effective_group, Squid sets the GID to the effective + user's default group ID (taken from the password file) and + supplementary group list from the from groups membership of diff --git a/www/cacheboy16/files/patch-tools-Makefile.in b/www/cacheboy16/files/patch-tools-Makefile.in new file mode 100644 index 000000000000..3daee0c17c82 --- /dev/null +++ b/www/cacheboy16/files/patch-tools-Makefile.in @@ -0,0 +1,11 @@ +--- tools/Makefile.in.orig Sun May 14 18:30:04 2006 ++++ tools/Makefile.in Sun May 14 18:31:02 2006 +@@ -297,7 +297,7 @@ + EXTRA_DIST = \ + cachemgr.conf + +-DEFAULT_CACHEMGR_CONFIG = $(sysconfdir)/cachemgr.conf ++DEFAULT_CACHEMGR_CONFIG = $(sysconfdir)/cachemgr.conf.default + + # Don't automatically uninstall config files + # @if test -f $(DESTDIR)$(DEFAULT_CONFIG_FILE) ; then \ diff --git a/www/cacheboy16/files/pkg-deinstall.in b/www/cacheboy16/files/pkg-deinstall.in new file mode 100644 index 000000000000..a1f34434d70f --- /dev/null +++ b/www/cacheboy16/files/pkg-deinstall.in @@ -0,0 +1,39 @@ +#!/bin/sh +# +# $FreeBSD: /tmp/pcvs/ports/www/cacheboy16/files/pkg-deinstall.in,v 1.1 2008-04-18 06:29:39 adrian Exp $ +# + +PATH=/bin:/usr/bin:/usr/sbin + +case $2 in +DEINSTALL) + cd ${PKG_PREFIX}/etc/squid || exit 1 + for f in cachemgr.conf mime.conf msntauth.conf squid.conf; do + cmp -s -z ${f} ${f}.default && rm ${f} + done + ;; +POST-DEINSTALL) + echo "===> post-deinstallation information for $1:" + echo "" + echo " Note:" + echo " Squid related user accounts and groups were not removed." + echo "" + echo " To remove the '%%SQUID_UID%%' user and the '%%SQUID_GID%%' group which were" + echo " created by a default installation of this package, run" + echo "" + echo " pw userdel -n %%SQUID_UID%% -u 100" + if [ -d ${PKG_PREFIX}/squid -o -d ${PKG_PREFIX}/etc/squid ] ; then + echo "" + echo " In order to ease updates the cache and log directories" + echo " and all configuration files modified by you were preserved." + echo "" + echo " Please remove them manually if you do not want to use" + echo " Squid any longer." + fi + echo "" + ;; +*) + exit 64 + ;; +esac +exit 0 diff --git a/www/cacheboy16/files/pkg-install.in b/www/cacheboy16/files/pkg-install.in new file mode 100644 index 000000000000..4691ef122a21 --- /dev/null +++ b/www/cacheboy16/files/pkg-install.in @@ -0,0 +1,81 @@ +#!/bin/sh +# +# $FreeBSD: /tmp/pcvs/ports/www/cacheboy16/files/pkg-install.in,v 1.1 2008-04-18 06:29:39 adrian Exp $ +# + +PATH=/bin:/usr/bin:/usr/sbin +pkgname=$1 +squid_base="${PKG_PREFIX:-%%PREFIX%%}/squid" +squid_confdir="${PKG_PREFIX:-%%PREFIX%%}/etc/squid" +if [ -x /usr/sbin/nologin ]; then + nologin=/usr/sbin/nologin +else + nologin=/sbin/nologin +fi +squid_user="%%SQUID_UID%%" +squid_group="%%SQUID_GID%%" +squid_gid=100 +squid_uid=100 +case $2 in +PRE-INSTALL) + echo "===> Pre-installation configuration for ${pkgname}" + if ! pw groupshow ${squid_group} -q >/dev/null ; then + echo "There is no group '${squid_group}' on this system, so I will try to create it (using group id ${squid_gid}):" + if ! pw groupadd ${squid_group} -g ${squid_gid} -q ; then + echo "Failed to create group \"${squid_group}\"!" >&2 + echo "Please create it manually." >&2 + exit 1 + else + echo "Group '${squid_group}' created successfully:" + fi + else + echo "I will use the existing group '${squid_group}':" + fi + pw groupshow ${squid_group} + + if ! pw usershow ${squid_user} -q >/dev/null ; then + echo "There is no account '${squid_user}' on this system, so I will try to create it (using user id ${squid_uid}):" + if ! pw useradd -q -n ${squid_user} \ + -u ${squid_uid} -g ${squid_group} \ + -c "Squid caching-proxy pseudo user" \ + -d "${squid_base}" -s "${nologin}" \ + -h - ; then + echo "Failed to create user '${squid_user}'!" >&2 + echo "Please create it manually." >&2 + exit 1 + else + echo "User '${squid_user}' created successfully:" + fi + else + echo "I will use the existing user '${squid_user}':" + fi + pw usershow ${squid_user} + for dir in cache logs; do + if [ ! -d ${squid_base}/${dir} ]; then + echo "Creating ${squid_base}/${dir}..." + install -d -o ${squid_user} -g ${squid_group} \ + -m 0750 ${squid_base}/${dir} + fi + done + if [ ! -d ${squid_confdir} ]; then + echo "Creating ${squid_confdir}..." + install -d -o root -g ${squid_group} \ + -m 0750 ${squid_confdir} + fi + ;; +POST-INSTALL) + for file in cachemgr.conf mime.conf squid.conf; do + if [ ! -f ${squid_confdir}/${file} \ + -a -f ${squid_confdir}/${file}.default ]; then + echo "Creating ${file} from default..." + install -c -o root -g ${squid_group} -m 0640 \ + ${squid_confdir}/${file}.default \ + ${squid_confdir}/${file} + fi + done + ;; +*) + exit 64 + ;; +esac +exit 0 diff --git a/www/cacheboy16/files/pkg-message.in b/www/cacheboy16/files/pkg-message.in new file mode 100644 index 000000000000..3f52e7bff6e2 --- /dev/null +++ b/www/cacheboy16/files/pkg-message.in @@ -0,0 +1,37 @@ + + o This port looks a lot like Squid. Yes, thats because its based + on Squid-2.HEAD. The binaries and paths are the same as Squid - + this is intended to make migrating from Squid-2.X to Cacheboy + (sans ICAP) as effortless as possible. + + o You can find the configuration files for this package in the + directory %%PREFIX%%/etc/squid. + + o A cache directory has been created in %%PREFIX%%/squid/cache. + Log files will be written to %%PREFIX%%/squid/logs. + + Note: + You must initialize new cache directories before you can start + squid. Do this by running "squid -z" as 'root' or '%%SQUID_UID%%'. + If your cache directories are already initialized (e.g. after an + upgrade of squid) you do not need to initialize them again. + + o The default configuration will deny everyone access to the + proxy service. Edit the "http_access" directives in + %%PREFIX%%/etc/squid/squid.conf to suit your needs. + + Please note that the Cacheboy start script is an rc.d style script. + This means that Cacheboy will not start automatically at boot + time unless it is explicitly enabled. + + To enable Cacheboy, set squid_enable=yes in either + /etc/rc.conf, /etc/rc.conf.local or /etc/rc.conf.d/squid + Please see %%PREFIX%%/etc/rc.d/squid(.sh) for further details. + + Note: + If you just updated your Cacheboy installation from Squid 2.5 or earlier, + make sure to check your Cacheboy configuration against the default + configuration file %%PREFIX%%/etc/squid/squid.conf.default. + + Additionally, you should check your configuration by calling + 'squid -f /path/to/squid.conf -k parse' before starting Cacheboy. diff --git a/www/cacheboy16/files/squid.in b/www/cacheboy16/files/squid.in new file mode 100644 index 000000000000..bd9483908ae6 --- /dev/null +++ b/www/cacheboy16/files/squid.in @@ -0,0 +1,60 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# PROVIDE: squid +# REQUIRE: LOGIN +# KEYWORD: shutdown +# +# Note: +# Set "squid_enable=yes" in either /etc/rc.conf, /etc/rc.conf.local or +# /etc/rc.conf.d/squid to make this script actually do something. There +# you can also set squid_chdir, squid_pidfile, squid_user, and squid_flags. +# +# Please see squid(8), rc.conf(5) and rc(8) for further details. +# + +squid_checkrunning() { + ${command} ${squid_flags} -k check 2>/dev/null +} + +squid_stop() { + echo "Stopping ${name}." + ${command} ${squid_flags} -k shutdown + run_rc_command poll +} + +. %%RC_SUBR%% + +name=squid +rcvar=${name}_enable + +command=%%PREFIX%%/sbin/squid +extra_commands=reload +reload_cmd="${command} ${squid_flags} -k reconfigure" +stop_precmd="squid_checkrunning" +stop_cmd="squid_stop" + +load_rc_config ${name} + +squid_chdir=${squid_chdir:-"%%PREFIX%%/squid/logs"} +squid_enable=${squid_enable:-"NO"} +squid_flags=${squid_flags-"-D"} +squid_pidfile=${squid_pidfile:-"%%PREFIX%%/squid/logs/squid.pid"} +squid_user=${squid_user:-%%SQUID_UID%%} +default_config=%%PREFIX%%/etc/squid/squid.conf + +pidfile=${squid_pidfile} +required_dirs=${squid_chdir} + +# squid(8) will not start if ${default_config} is not present so try +# to catch that beforehand via ${required_files} rather than make +# squid(8) crash. +# If you remove the default configuration file make sure to add +# '-f /path/to/your/squid.conf' to squid_flags + +if [ -z "${squid_flags}" ]; then + required_files=${default_config} +fi + +run_rc_command "$1" diff --git a/www/cacheboy16/pkg-descr b/www/cacheboy16/pkg-descr new file mode 100644 index 000000000000..3716d8430937 --- /dev/null +++ b/www/cacheboy16/pkg-descr @@ -0,0 +1,13 @@ +Cacheboy is a continuation of Squid-2 development which focuses on stability +whilst improving performance, functionality and compliance. + +THIS SOFTWARE IS CURRENTLY BETA - the bugs need ironing out so please submit +any mishaps as Issues via Google Code. New functionality will only appear after +the code is stable, so please help us find and fix the bugs! + +Cacheboy supports all of the features found in Squid-2. This release +currently doesn't support ICAP as it was never intergrated into the Squid-2 +release. + +WWW: http://www.cacheboy.net/ +WWW: http://code.google.com/p/cacheboy/ |