chase latest; major cleanups :)
authorDonny Davies <woodchip@gentoo.org>
Thu, 7 Nov 2002 12:23:56 +0000 (12:23 +0000)
committerDonny Davies <woodchip@gentoo.org>
Thu, 7 Nov 2002 12:23:56 +0000 (12:23 +0000)
net-www/squid/ChangeLog
net-www/squid/files/digest-squid-2.4.6-r1 [deleted file]
net-www/squid/files/digest-squid-2.5.1 [new file with mode: 0644]
net-www/squid/files/squid-2.4.6-debian.diff [deleted file]
net-www/squid/files/squid-2.4.6-gentoo.diff [deleted file]
net-www/squid/files/squid-2.5.1-gentoo.diff [new file with mode: 0644]
net-www/squid/squid-2.4.6-r1.ebuild [deleted file]
net-www/squid/squid-2.5.1.ebuild [new file with mode: 0644]

index 97adc7152c9e5c2f934888ebddeeebf93a5c8b11..8da575a909dd0e45c91094ef4329ade2db1863a6 100644 (file)
@@ -1,44 +1,38 @@
 # ChangeLog for net-www/squid
 # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
-# $Header: /var/cvsroot/gentoo-x86/net-www/squid/ChangeLog,v 1.7 2002/09/15 01:26:51 blizzy Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/squid/ChangeLog,v 1.8 2002/11/07 12:23:56 woodchip Exp $
 
-  15 Sep 2002; Maik Schreiber <blizzy@gentoo.org> files/squid.rc6: Removed
+*squid-2.5.1 (07 Nov 2002)
+
+  07 Sep 2002; Donny Davies <woodchip@gentoo.org> : Chase latest release.
+  Major patch cleanup.  Added USE ssl and sasl support.  Fixed KEYWORDS.
+  Big authentication and helper modules reorganization.  Make dealing with
+  the lame archive versioning scheme easier.  Some general cleanups.
+
+  15 Sep 2002; Maik Schreiber <blizzy@gentoo.org> files/squid.rc6 : Removed
   hard dependency on /var/cache/squid.
 
 *squid-2.4.7 (12 Jul 2002)
 
-  12 Jul 2002; Bruce A. Locke <blocke@shivan.org> :
-
-  Version bump and added KEYWORDS
+  12 Jul 2002; Bruce A. Locke <blocke@shivan.org> : Version bump and added KEYWORDS.
   
 *squid-2.4.6-r1 (4 May 2002)
   
-  4 May 2002; Donny Davies <woodchip@gentoo.org> :
-
-  Added LICENSE, SLOT, $Headers, pam_stack aware pam.d/ file.
+  4 May 2002; Donny Davies <woodchip@gentoo.org> : Added LICENSE, SLOT, $Headers,
+  pam_stack aware pam.d/ file.
 
 *squid-2.4.6 (20 Mar 2002)
 
-  20 Mar 2002; Donny Davies <woodchip@gentoo.org> files/squid.rc6, files/squid.confd,
-  squid-2.4.6.ebuild, files/squid-2.4.6-debian.diff, squid-2.4.6-gentoo.diff,
-  files/squid.pam.new, files/digest-squid-2.4.6, squid-2.3.4s-r3.ebuild,
-  squid-2.3.4s-r4.ebuild, squid-2.4.2s.ebuild, files/digest-squid-2.3.4s-r3,
-  files/digest-squid-2.3.4s-r4, files/digest-squid-2.4.2s,
-  files/squid-2.4.2s-debian.diff, files/squid-2.4.2s-gentoo.diff
-  files/squid.conf, files/squid.rc5 :
-
-  Be sure to upgrade! This version fixes some security glitches in older squids!
-
-  Updated to latest available release; fixed permissions on /usr/lib/squid/*_auth
-  programs, made the initscript stop() function more robust, grabbed Debian's latest
-  patch which includes tweaking SQUID_MAXFD (works this time ;) plus other fixes.
-  We now install the error pages for all available languages, defaulting to English.
-  Simply change the errors symlink in /etc/squid to whichever you prefer. Changed
-  the cache location to /var/cache/squid; sorry if this bothers anybody but it fits
-  better here and matches /etc/passwd properly now. If you're upgrading you could
-  make /var/cache/squid a symlink to /var/spool/squid, or move the subdirectories
-  manually. Heads up :)
-
+  20 Mar 2002; Donny Davies <woodchip@gentoo.org> :  Be sure to upgrade! This
+  version fixes some security glitches in older squids! Updated to latest available
+  release; fixed permissions on /usr/lib/squid/*_auth programs, made the initscript
+  stop() function more robust, grabbed Debian's latest patch which includes tweaking
+  SQUID_MAXFD (works this time ;) plus other fixes. We now install the error pages
+  for all available languages, defaulting to English. Simply change the errors symlink
+  in /etc/squid to whichever you prefer. Changed the cache location to /var/cache/squid;
+  sorry if this bothers anybody but it fits better here and matches /etc/passwd
+  properly now. If you're upgrading you could make /var/cache/squid a symlink to
+  /var/spool/squid, or move the subdirectories manually.  Heads up :)
   Changed some ./configure options; enabled cache-digests, disabled the pinger
   and added two more auth-modules. Added ability to compile without debugging.
   Removed the stale config file and the old rc5 initscript. Also removed the older
   deployment.
 
   8 Feb 2002; Donny Davies <woodchip@gentoo.org> files/squid.rc6 :
-
   Squid can often take a long time to shutdown. Tried to make things a little more
   friendly in that situation.
-
-*squid-2.4.2s-r6 (1 Feb 2002)
-
-  1 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog :
-  
-  Added initial ChangeLog which should be updated whenever the package is
-  updated in any way. This changelog is targetted to users. This means that the
-  comments should well explained and written in clean English. The details about
-  writing correct changelogs are explained in the skel.ChangeLog file which you
-  can find in the root directory of the portage repository.
diff --git a/net-www/squid/files/digest-squid-2.4.6-r1 b/net-www/squid/files/digest-squid-2.4.6-r1
deleted file mode 100644 (file)
index 2686949..0000000
+++ /dev/null
@@ -1 +0,0 @@
-MD5 103fe9d03aca06f89218740f29730527 squid-2.4.STABLE6-src.tar.gz 1081327
diff --git a/net-www/squid/files/digest-squid-2.5.1 b/net-www/squid/files/digest-squid-2.5.1
new file mode 100644 (file)
index 0000000..71ee1aa
--- /dev/null
@@ -0,0 +1 @@
+MD5 c83e3f4f0313529a2bc4b5dd6f651544 squid-2.5.STABLE1.tar.bz2 1006600
diff --git a/net-www/squid/files/squid-2.4.6-debian.diff b/net-www/squid/files/squid-2.4.6-debian.diff
deleted file mode 100644 (file)
index b6ae925..0000000
+++ /dev/null
@@ -1,413 +0,0 @@
-These patches are borrowed from Debian's squid-2.4.4 patch.  Here's
-the README file describing them:
----
-
-Upstream patches against the release, that will be integrated into
-the next stable release (http://www.squid-cache.org/Versions/v2/2.4/bugs/)
-
-[currently none]
-
-Debian specific patches:
-All patches that were in the debian squid-2.2.5 and squid-2.3.4 have been
-applied to squid-2.4.3 as well, if they hadn't been integrated yet.
-
-cf.data.debian.patch   Debian specific squid.conf patches
-dfl-error-dir.patch    Default error dir is under /usr/lib/squid for Debian
-linux-increase-fds.patch
-                       A hack to squid.h so that FD_SETSIZE can be
-                       redefined on Linux for more open filedescriptors.
-no_append_domain_localhost.patch
-                       Don't apply "append_domain" setting to "localhost"
-                       in unqualified URLs.
-pipeline-shutup.patch  Lower priority of some debug msgs of pipelining code
-smb_auth.patch         Read password with '-r' so backslashes work
-                       Patch awk regexp to read correct field from nmblookup
-syslog.patch           Log to daemon.log instead of local4.log
-unlinkd.patch          Only run unlinkd for diskd and ufs storage methods
-debug.c.patch          Fix debug output corruption (and crash) when
-                       debug_options is set to 11,3
-webdav-search.patch    Reckognize SEARCH webdav method - the Exchange 2000
-                       web frontend uses it (sigh).
-pam-auth-reload.patch  Make PAM reload time configurable on command line
-
---- squid-2.4.4.orig/auth_modules/PAM/pam_auth.c
-+++ squid-2.4.4/auth_modules/PAM/pam_auth.c
-@@ -42,6 +42,7 @@
- #include <stdio.h>
- #include <assert.h>
- #include <stdlib.h>
-+#include <unistd.h>
- #include <string.h>
- #include <signal.h>
- #include <time.h>
-@@ -56,8 +57,8 @@
- #define SQUID_PAM_SERVICE "squid"
- #endif
- 
--/* How often to reinitialize PAM, in seconds. Undefined = never, 0=always */
--/* #define PAM_CONNECTION_TTL 60 */
-+/* How often to reinitialize PAM, in seconds. -1 = never, 0=always */
-+#define PAM_CONNECTION_TTL -1
- 
- static int reset_pam = 1;     /* Set to one if it is time to reset PAM processing */
- 
-@@ -111,6 +112,13 @@
- }
- 
- int
-+usage(void)
-+{
-+    fprintf(stderr, "Usage: pam_auth [-r seconds]\n");
-+    exit(1);
-+}
-+
-+int
- main(int argc, char *argv[])
- {
-     pam_handle_t *pamh = NULL;
-@@ -119,6 +127,18 @@
-     /* char *password; */
-     char buf[BUFSIZE];
-     time_t pamh_created = 0;
-+    int c, pam_connection_ttl = PAM_CONNECTION_TTL;
-+    extern char *optarg;
-+    extern int optind;
-+
-+    while ((c = getopt(argc, argv, "r:")) != EOF) switch (c) {
-+      case 'r':
-+          pam_connection_ttl = atoi(optarg);
-+          break;
-+      default:
-+          usage();
-+    }
-+    if (optind < argc) usage();
- 
-     signal(SIGHUP, signal_received);
- 
-@@ -142,10 +162,10 @@
-       }
-       *password++ = '\0';
-       conv.appdata_ptr = (char *) password;   /* from buf above. not allocated */
--#ifdef PAM_CONNECTION_TTL
--      if (pamh_created + PAM_CONNECTION_TTL >= time(NULL))
-+      if (pam_connection_ttl >= 0 &&
-+          pamh_created + pam_connection_ttl <= time(NULL))
-           reset_pam = 1;
--#endif
-+
-       if (reset_pam && pamh) {
-           /* Close previous PAM connection */
-           retval = pam_end(pamh, retval);
---- squid-2.4.4.orig/auth_modules/SMB/Makefile.in
-+++ squid-2.4.4/auth_modules/SMB/Makefile.in
-@@ -11,7 +11,8 @@
- # by using the --prefix option when configuring Samba, you need to change
- # SAMBAPREFIX accordingly.
- 
--SAMBAPREFIX=/usr/local/samba
-+#SAMBAPREFIX=/usr/local/samba
-+SAMBAPREFIX=/usr
- 
- prefix                = @prefix@
- exec_prefix   = @exec_prefix@
---- squid-2.4.4.orig/auth_modules/SMB/smb_auth.sh
-+++ squid-2.4.4/auth_modules/SMB/smb_auth.sh
-@@ -24,7 +24,7 @@
- read AUTHSHARE
- read AUTHFILE
- read SMBUSER
--read SMBPASS
-+read -r SMBPASS
- 
- # Find domain controller
- echo "Domain name: $DOMAINNAME"
-@@ -47,7 +47,7 @@
-   addropt=""
- fi
- echo "Query address options: $addropt"
--dcip=`$SAMBAPREFIX/bin/nmblookup $addropt "$PASSTHROUGH#1c" | awk '/^[0-9.]+ / { print $1 ; exit }'`
-+dcip=`$SAMBAPREFIX/bin/nmblookup $addropt "$PASSTHROUGH#1c" | awk '/^[0-9.]+\..+ / { print $1 ; exit }'`
- echo "Domain controller IP address: $dcip"
- [ -n "$dcip" ] || exit 1
- 
---- squid-2.4.4.orig/src/cf.data.pre
-+++ squid-2.4.4/src/cf.data.pre
-@@ -98,12 +98,12 @@
- NAME: htcp_port
- IFDEF: USE_HTCP
- TYPE: ushort
--DEFAULT: 4827
-+DEFAULT: 0
- LOC: Config.Port.htcp
- DOC_START
-       The port number where Squid sends and receives HTCP queries to
--      and from neighbor caches.  Default is 4827.  To disable use
--      "0".
-+      and from neighbor caches.  To turn it on you want to set it 4827.
-+      By default it is set to "0" (disabled).
- 
-       To enable this option, you must use --enable-htcp with the
-       configure script.
-@@ -1294,7 +1294,7 @@
-       'Max' is an upper limit on how long objects without an explicit
-       expiry time will be considered fresh.
- 
--      options: overrsde-expire
-+      options: override-expire
-                override-lastmod
-                reload-into-ims
-                ignore-reload
-@@ -1730,6 +1730,8 @@
- acl Safe_ports port 488               # gss-http
- acl Safe_ports port 591               # filemaker
- acl Safe_ports port 777               # multiling http
-+acl Safe_ports port 901               # SWAT
-+acl purge method PURGE
- acl CONNECT method CONNECT
- NOCOMMENT_END
- DOC_END
-@@ -1763,6 +1765,9 @@
- # Only allow cachemgr access from localhost
- http_access allow manager localhost
- http_access deny manager
-+# Only allow purge requests from localhost
-+http_access allow purge localhost
-+http_access deny purge
- # Deny requests to unknown ports
- http_access deny !Safe_ports
- # Deny CONNECT to other than SSL ports
-@@ -1890,19 +1895,19 @@
- 
- NAME: cache_effective_user
- TYPE: string
--DEFAULT: nobody
-+DEFAULT: squid
- LOC: Config.effectiveUser
- DOC_NONE
- 
- NAME: cache_effective_group
- TYPE: string
--DEFAULT: nogroup
-+DEFAULT: squid
- LOC: Config.effectiveGroup
- DOC_START
- 
-       If the cache is run as root, it will change its effective/real
-       UID/GID to the UID/GID specified below.  The default is to
--      change to UID to nobody and GID to nogroup.
-+      change to UID to squid and GID to squid.
- 
-       If Squid is not started as root, the default is to keep the
-       current UID/GID.  Note that if Squid is not started as root then
-@@ -2657,12 +2665,15 @@
- NAME: snmp_port
- TYPE: ushort
- LOC: Config.Port.snmp
--DEFAULT: 3401
-+DEFAULT: 0
- IFDEF: SQUID_SNMP
- DOC_START
-       Squid can now serve statistics and status information via SNMP.
-       By default it listens to port 3401 on the machine. If you don't
-       wish to use SNMP, set this to "0".
-+
-+      Note: on Gentoo Linux, the default is zero - you need to
-+      set it to 3401 to enable it.
- 
-       NOTE: SNMP support requires use the --enable-snmp configure
-       command line option.
---- squid-2.4.4.orig/src/client_side.c
-+++ squid-2.4.4/src/client_side.c
-@@ -1702,7 +1702,7 @@
-       fd, storeUrl(entry), (int) http->out.offset);
-     if (conn->chr != http) {
-       /* there is another object in progress, defer this one */
--      debug(33, 1) ("clientSendMoreData: Deferring %s\n", storeUrl(entry));
-+      debug(33, 2) ("clientSendMoreData: Deferring %s\n", storeUrl(entry));
-       memFree(buf, MEM_CLIENT_SOCK_BUF);
-       return;
-     } else if (entry && EBIT_TEST(entry->flags, ENTRY_ABORTED)) {
-@@ -1876,7 +1876,7 @@
-        * execution will resume after the operation completes.
-        */
-     } else {
--      debug(33, 1) ("clientKeepaliveNextRequest: FD %d Sending next\n",
-+      debug(33, 2) ("clientKeepaliveNextRequest: FD %d Sending next\n",
-           conn->fd);
-       assert(entry);
-       if (0 == storeClientCopyPending(http->sc, entry, http)) {
---- squid-2.4.4.orig/src/debug.c
-+++ squid-2.4.4/src/debug.c
-@@ -74,6 +74,9 @@
- #else
-     format = va_arg(args1, const char *);
- #endif
-+    /* give a chance to context-based debugging to print current context */
-+    if (debug_log && !Ctx_Lock)
-+      ctx_print();
-     snprintf(f, BUFSIZ, "%s| %s",
-       debugLogTime(squid_curtime),
-       format);
-@@ -94,9 +97,6 @@
- {
-     if (debug_log == NULL)
-       return;
--    /* give a chance to context-based debugging to print current context */
--    if (!Ctx_Lock)
--      ctx_print();
-     vfprintf(debug_log, format, args);
-     if (!Config.onoff.buffered_logs)
-       fflush(debug_log);
-@@ -201,9 +201,9 @@
-     }
-     debugOpenLog(logfile);
- 
--#if HAVE_SYSLOG && defined(LOG_LOCAL4)
-+#if HAVE_SYSLOG
-     if (opt_syslog_enable)
--      openlog(appname, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4);
-+      openlog(appname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
- #endif /* HAVE_SYSLOG */
- 
- }
---- squid-2.4.4.orig/src/defines.h
-+++ squid-2.4.4/src/defines.h
-@@ -219,7 +219,7 @@
- #define N_COUNT_HOUR_HIST (86400 * 3) / (60 * COUNT_INTERVAL)
- 
- /* were to look for errors if config path fails */
--#define DEFAULT_SQUID_ERROR_DIR "/usr/local/squid/etc/errors"
-+#define DEFAULT_SQUID_ERROR_DIR "/usr/lib/squid/errors/English"
- 
- /* gb_type operations */
- #define gb_flush_limit (0x3FFFFFFF)
---- squid-2.4.4.orig/src/enums.h
-+++ squid-2.4.4/src/enums.h
-@@ -393,6 +393,7 @@
-     METHOD_EXT17,
-     METHOD_EXT18,
-     METHOD_EXT19,
-+    METHOD_SEARCH,    /* Exchange 2000 web frontend */
-     METHOD_ENUM_END
- };
- typedef unsigned int method_t;
---- squid-2.4.4.orig/src/main.c
-+++ squid-2.4.4/src/main.c
-@@ -83,7 +83,7 @@
- usage(void)
- {
-     fprintf(stderr,
--      "Usage: %s [-dhsvzCDFNRVYX] [-f config-file] [-[au] port] [-k signal]\n"
-+      "Usage: %s [-hsvzCDFNRSVXY] [-d level] [-f file] [-[au] port] [-k signal]\n"
-       "       -a port   Specify HTTP port number (default: %d).\n"
-       "       -d level  Write debugging to stderr also.\n"
-       "       -f file   Use given config-file instead of\n"
-@@ -320,6 +320,21 @@
-     asnFreeMemory();
- }
- 
-+#if USE_UNLINKD
-+static int
-+needUnlinkd(void)
-+{
-+    int i;
-+    int r = 0;
-+    for (i = 0; i < Config.cacheSwap.n_configured; i++) {
-+      if (strcmp(Config.cacheSwap.swapDirs[i].type, "ufs") == 0 ||
-+          strcmp(Config.cacheSwap.swapDirs[i].type, "diskd") == 0)
-+         r++;
-+    }
-+    return r;
-+}
-+#endif
-+
- static void
- mainReconfigure(void)
- {
-@@ -344,6 +359,9 @@
- #endif
-     redirectShutdown();
-     authenticateShutdown();
-+#if USE_UNLINKD
-+    unlinkdClose();
-+#endif
-     storeDirCloseSwapLogs();
-     errorClean();
-     mimeFreeMemory();
-@@ -362,6 +380,9 @@
- #if USE_WCCP
-     wccpInit();
- #endif
-+#if USE_UNLINKD
-+    if (needUnlinkd()) unlinkdInit();
-+#endif
-     serverConnectionsOpen();
-     if (theOutIcpConnection >= 0) {
-       if (!Config2.Accel.on || Config.onoff.accel_with_proxy)
-@@ -507,7 +528,7 @@
- 
-     if (!configured_once) {
- #if USE_UNLINKD
--      unlinkdInit();
-+      if (needUnlinkd()) unlinkdInit();
- #endif
-       urlInitialize();
-       cachemgrInit();
-@@ -835,7 +856,7 @@
-     int nullfd;
-     if (*(argv[0]) == '(')
-       return;
--    openlog(appname, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4);
-+    openlog(appname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
-     if ((pid = fork()) < 0)
-       syslog(LOG_ALERT, "fork failed: %s", xstrerror());
-     else if (pid > 0)
---- squid-2.4.4.orig/src/squid.h
-+++ squid-2.4.4/src/squid.h
-@@ -45,10 +45,24 @@
-  */
- #define CHANGE_FD_SETSIZE 1
- 
--/* Cannot increase FD_SETSIZE on Linux */
-+/*
-+ * Cannot increase FD_SETSIZE on Linux, but we can increase __FD_SETSIZE
-+ * with glibc 2.2 (or later? remains to be seen). We do this by including
-+ * bits/types.h which defines __FD_SETSIZE first, then we redefine
-+ * FD_SETSIZE. Ofcourse a user program may NEVER include bits/whatever.h
-+ * directly, so this is a dirty hack!
-+ */
- #if defined(_SQUID_LINUX_)
--#undef CHANGE_FD_SETSIZE
--#define CHANGE_FD_SETSIZE 0
-+#  undef CHANGE_FD_SETSIZE
-+#  define CHANGE_FD_SETSIZE 0
-+#  include <features.h>
-+#  if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
-+#    if SQUID_MAXFD > DEFAULT_FD_SETSIZE
-+#      include <bits/types.h>
-+#      undef __FD_SETSIZE
-+#      define __FD_SETSIZE SQUID_MAXFD
-+#    endif
-+#  endif
- #endif
- 
- /*
---- squid-2.4.4.orig/src/url.c
-+++ squid-2.4.4/src/url.c
-@@ -77,6 +77,7 @@
-     "%EXT17",
-     "%EXT18",
-     "%EXT19",
-+    "SEARCH", /* Exchange 2000 web frontend */
-     "ERROR"
- };
- 
-@@ -308,7 +309,7 @@
-     /* remove duplicate dots */
-     while ((t = strstr(host, "..")))
-       xmemmove(t, t + 1, strlen(t));
--    if (Config.appendDomain && !strchr(host, '.'))
-+    if (Config.appendDomain && !strchr(host, '.') && strcasecmp(host, "localhost") != 0)
-       strncat(host, Config.appendDomain, SQUIDHOSTNAMELEN);
-     if (port == 0) {
-       debug(23, 3) ("urlParse: Invalid port == 0\n");
diff --git a/net-www/squid/files/squid-2.4.6-gentoo.diff b/net-www/squid/files/squid-2.4.6-gentoo.diff
deleted file mode 100644 (file)
index c24a270..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -ur squid-2.4.STABLE4.orig/icons/Makefile.in squid-2.4.STABLE4/icons/Makefile.in
---- squid-2.4.STABLE4.orig/icons/Makefile.in   Tue Jan 16 16:12:30 2001
-+++ squid-2.4.STABLE4/icons/Makefile.in        Wed Mar 20 09:40:19 2002
-@@ -15,7 +15,7 @@
- 
- INSTALL               = @INSTALL@
- INSTALL_FILE          = @INSTALL_DATA@
--DEFAULT_ICON_DIR        = $(sysconfdir)/icons
-+DEFAULT_ICON_DIR        = $(libexecdir)/icons
- 
- ICONS         = anthony-binhex.gif \
-                 anthony-bomb.gif \
-diff -ur squid-2.4.STABLE6.orig/src/Makefile.in squid-2.4.STABLE6/src/Makefile.in
---- squid-2.4.STABLE6.orig/src/Makefile.in     Wed Apr  4 03:01:12 2001
-+++ squid-2.4.STABLE6/src/Makefile.in  Wed Mar 20 14:18:58 2002
-@@ -37,17 +37,17 @@
- DEFAULT_CONFIG_FILE     = $(sysconfdir)/squid.conf
- DEFAULT_MIME_TABLE    = $(sysconfdir)/mime.conf
- DEFAULT_DNSSERVER       = $(libexecdir)/$(DNSSERVER_EXE)
--DEFAULT_CACHE_LOG       = $(localstatedir)/logs/cache.log
--DEFAULT_ACCESS_LOG      = $(localstatedir)/logs/access.log
--DEFAULT_STORE_LOG       = $(localstatedir)/logs/store.log
--DEFAULT_PID_FILE        = $(localstatedir)/logs/squid.pid
--DEFAULT_SWAP_DIR        = $(localstatedir)/cache
-+DEFAULT_CACHE_LOG       = $(localstatedir)/log/squid/cache.log
-+DEFAULT_ACCESS_LOG      = $(localstatedir)/log/squid/access.log
-+DEFAULT_STORE_LOG       = $(localstatedir)/log/squid/store.log
-+DEFAULT_PID_FILE        = $(localstatedir)/run/squid.pid
-+DEFAULT_SWAP_DIR        = $(localstatedir)/cache/squid
- DEFAULT_PINGER                = $(libexecdir)/$(PINGER_EXE)
- DEFAULT_UNLINKD               = $(libexecdir)/$(UNLINKD_EXE)
- DEFAULT_DISKD         = $(libexecdir)/$(DISKD_EXE)
--DEFAULT_ICON_DIR      = $(sysconfdir)/icons
-+DEFAULT_ICON_DIR      = $(libexecdir)/icons
- DEFAULT_ERROR_DIR     = $(sysconfdir)/errors
--DEFAULT_MIB_PATH      = $(sysconfdir)/mib.txt
-+DEFAULT_MIB_PATH      = $(libexecdir)/mib.txt
- 
- CC            = @CC@
- MAKEDEPEND    = @MAKEDEPEND@
diff --git a/net-www/squid/files/squid-2.5.1-gentoo.diff b/net-www/squid/files/squid-2.5.1-gentoo.diff
new file mode 100644 (file)
index 0000000..1e81e51
--- /dev/null
@@ -0,0 +1,332 @@
+diff -uNr squid-2.5.STABLE1.orig/errors/Makefile.in squid-2.5.STABLE1/errors/Makefile.in
+--- squid-2.5.STABLE1.orig/errors/Makefile.in  2002-07-12 04:38:03.000000000 -0400
++++ squid-2.5.STABLE1/errors/Makefile.in       2002-11-07 01:37:34.000000000 -0500
+@@ -119,7 +119,7 @@
+ install_sh = @install_sh@
+ makesnmplib = @makesnmplib@
+ 
+-errordir = $(datadir)/errors
++errordir = $(libexecdir)/errors
+ 
+ DEFAULT_ERROR_DIR = $(errordir)
+ 
+diff -uNr squid-2.5.STABLE1.orig/helpers/basic_auth/SMB/Makefile.in squid-2.5.STABLE1/helpers/basic_auth/SMB/Makefile.in
+--- squid-2.5.STABLE1.orig/helpers/basic_auth/SMB/Makefile.in  2002-08-11 21:17:26.000000000 -0400
++++ squid-2.5.STABLE1/helpers/basic_auth/SMB/Makefile.in       2002-11-07 01:37:34.000000000 -0500
+@@ -129,7 +129,7 @@
+ makesnmplib = @makesnmplib@
+ 
+ SMB_AUTH_HELPER = smb_auth.sh
+-SAMBAPREFIX = /usr/local/samba
++SAMBAPREFIX = /usr
+ SMB_AUTH_HELPER_PATH = $(libexecdir)/$(SMB_AUTH_HELPER)
+ 
+ libexec_SCRIPTS = $(SMB_AUTH_HELPER)
+diff -uNr squid-2.5.STABLE1.orig/helpers/basic_auth/SMB/smb_auth.sh squid-2.5.STABLE1/helpers/basic_auth/SMB/smb_auth.sh
+--- squid-2.5.STABLE1.orig/helpers/basic_auth/SMB/smb_auth.sh  2001-01-07 18:36:46.000000000 -0500
++++ squid-2.5.STABLE1/helpers/basic_auth/SMB/smb_auth.sh       2002-11-07 01:37:34.000000000 -0500
+@@ -24,7 +24,7 @@
+ read AUTHSHARE
+ read AUTHFILE
+ read SMBUSER
+-read SMBPASS
++read -r SMBPASS
+ 
+ # Find domain controller
+ echo "Domain name: $DOMAINNAME"
+@@ -47,7 +47,7 @@
+   addropt=""
+ fi
+ echo "Query address options: $addropt"
+-dcip=`$SAMBAPREFIX/bin/nmblookup $addropt "$PASSTHROUGH#1c" | awk '/^[0-9.]+ / { print $1 ; exit }'`
++dcip=`$SAMBAPREFIX/bin/nmblookup $addropt "$PASSTHROUGH#1c" | awk '/^[0-9.]+\..+ / { print $1 ; exit }'`
+ echo "Domain controller IP address: $dcip"
+ [ -n "$dcip" ] || exit 1
+ 
+diff -uNr squid-2.5.STABLE1.orig/icons/Makefile.in squid-2.5.STABLE1/icons/Makefile.in
+--- squid-2.5.STABLE1.orig/icons/Makefile.in   2002-07-12 04:38:22.000000000 -0400
++++ squid-2.5.STABLE1/icons/Makefile.in        2002-11-07 01:37:34.000000000 -0500
+@@ -147,7 +147,7 @@
+               anthony-xpm.gif
+ 
+ 
+-icondir = $(datadir)/icons
++icondir = $(libexecdir)/icons
+ icon_DATA = $(ICON1) $(ICON2)
+ EXTRA_DIST = $(ICON1) $(ICON2) icons.shar
+ DISTCLEANFILES = $(ICON1) $(ICON2)
+diff -uNr squid-2.5.STABLE1.orig/src/Makefile.in squid-2.5.STABLE1/src/Makefile.in
+--- squid-2.5.STABLE1.orig/src/Makefile.in     2002-07-12 11:10:04.000000000 -0400
++++ squid-2.5.STABLE1/src/Makefile.in  2002-11-07 01:40:51.000000000 -0500
+@@ -376,18 +376,18 @@
+ DEFAULT_CONFIG_FILE = $(sysconfdir)/squid.conf
+ DEFAULT_MIME_TABLE = $(sysconfdir)/mime.conf
+ DEFAULT_DNSSERVER = $(libexecdir)/@OPT_DNSSERVER_EXE@
+-DEFAULT_LOG_PREFIX = $(localstatedir)/logs
+-DEFAULT_CACHE_LOG = $(DEFAULT_LOG_PREFIX)/cache.log
+-DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_PREFIX)/access.log
+-DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log
+-DEFAULT_PID_FILE = $(DEFAULT_LOG_PREFIX)/squid.pid
+-DEFAULT_SWAP_DIR = $(localstatedir)/cache
++DEFAULT_LOG_PREFIX = $(localstatedir)/log
++DEFAULT_CACHE_LOG = $(localstatedir)/log/squid/cache.log
++DEFAULT_ACCESS_LOG = $(localstatedir)/log/squid/access.log
++DEFAULT_STORE_LOG = $(localstatedir)/log/squid/store.log
++DEFAULT_PID_FILE = $(localstatedir)/run/squid.pid
++DEFAULT_SWAP_DIR = $(localstatedir)/cache/squid
+ DEFAULT_PINGER = $(libexecdir)/@OPT_PINGER_EXE@
+ DEFAULT_UNLINKD = $(libexecdir)/$(UNLINKD_EXE)
+ DEFAULT_DISKD = $(libexecdir)/@OPT_DISKD_EXE@
+-DEFAULT_ICON_DIR = $(datadir)/icons
+-DEFAULT_ERROR_DIR = $(datadir)/errors/@ERR_DEFAULT_LANGUAGE@
+-DEFAULT_MIB_PATH = $(datadir)/mib.txt
++DEFAULT_ICON_DIR = $(libexecdir)/icons
++DEFAULT_ERROR_DIR = $(sysconfdir)/errors
++DEFAULT_MIB_PATH = $(libexecdir)/mib.txt
+ 
+ DEFS = @DEFS@ -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\"
+ 
+@@ -819,12 +819,12 @@
+ uninstall-info-am:
+ install-dataDATA: $(data_DATA)
+       @$(NORMAL_INSTALL)
+-      $(mkinstalldirs) $(DESTDIR)$(datadir)
++      $(mkinstalldirs) $(DESTDIR)$(libexecdir)
+       @list='$(data_DATA)'; for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         f="`echo $$p | sed -e 's|^.*/||'`"; \
+-        echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(datadir)/$$f"; \
+-        $(INSTALL_DATA) $$d$$p $(DESTDIR)$(datadir)/$$f; \
++        echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(libexecdir)/$$f"; \
++        $(INSTALL_DATA) $$d$$p $(DESTDIR)$(libexecdir)/$$f; \
+       done
+ 
+ uninstall-dataDATA:
+diff -uNr squid-2.5.STABLE1.orig/src/cf.data.pre squid-2.5.STABLE1/src/cf.data.pre
+--- squid-2.5.STABLE1.orig/src/cf.data.pre     2002-09-04 09:35:01.000000000 -0400
++++ squid-2.5.STABLE1/src/cf.data.pre  2002-11-07 01:37:34.000000000 -0500
+@@ -156,12 +156,12 @@
+ NAME: htcp_port
+ IFDEF: USE_HTCP
+ TYPE: ushort
+-DEFAULT: 4827
++DEFAULT: 0
+ LOC: Config.Port.htcp
+ DOC_START
+       The port number where Squid sends and receives HTCP queries to
+-      and from neighbor caches.  Default is 4827.  To disable use
+-      "0".
++      and from neighbor caches.  To turn it on you want to set it to
++      4827.  By default it is set to "0" (disabled).
+ DOC_END
+ 
+ 
+@@ -2019,6 +2019,8 @@
+ acl Safe_ports port 488               # gss-http
+ acl Safe_ports port 591               # filemaker
+ acl Safe_ports port 777               # multiling http
++acl Safe_ports port 901               # SWAT
++acl purge method PURGE
+ acl CONNECT method CONNECT
+ NOCOMMENT_END
+ DOC_END
+@@ -2052,6 +2054,9 @@
+ # Only allow cachemgr access from localhost
+ http_access allow manager localhost
+ http_access deny manager
++# Only allow purge requests from localhost
++http_access allow purge localhost
++http_access deny purge
+ # Deny requests to unknown ports
+ http_access deny !Safe_ports
+ # Deny CONNECT to other than SSL ports
+@@ -2070,6 +2075,9 @@
+ #acl our_networks src 192.168.1.0/24 192.168.2.0/24
+ #http_access allow our_networks
+ 
++# Allow the localhost to have access by default
++http_access allow localhost
++
+ # And finally deny all other access to this proxy
+ http_access deny all
+ NOCOMMENT_END
+@@ -2286,7 +2294,7 @@
+ 
+ NAME: cache_mgr
+ TYPE: string
+-DEFAULT: webmaster
++DEFAULT: root
+ LOC: Config.adminEmail
+ DOC_START
+       Email-address of local cache manager who will receive
+@@ -2296,19 +2304,19 @@
+ 
+ NAME: cache_effective_user
+ TYPE: string
+-DEFAULT: nobody
++DEFAULT: squid
+ LOC: Config.effectiveUser
+ DOC_NONE
+ 
+ NAME: cache_effective_group
+ TYPE: string
+-DEFAULT: none
++DEFAULT: squid
+ LOC: Config.effectiveGroup
+ DOC_START
+ 
+       If the cache is run as root, it will change its effective/real
+-      UID/GID to the UID/GID specified below.  The default is to
+-      change to UID to nobody and GID to the default group of nobody.
++      UID/GID to the UID/GID specified below.  The default is setup
++      to use UID squid and GID squid.
+ 
+       If Squid is not started as root, the default is to keep the
+       current UID/GID, and only the GID can be changed to any of
+@@ -3060,7 +3068,11 @@
+       If you wish to create your own versions of the default
+       (English) error files, either to customize them to suit your
+       language or company copy the template English files to another
+-      directory and point this tag at them.
++      directory where the error files are read from.
++      /usr/lib/squid/errors contains sets of error files
++      in different languages. The default error directory
++      is /etc/squid/errors, which is a link to one of these
++      error sets.
+ DOC_END
+ 
+ NAME: minimum_retry_timeout
+@@ -3102,12 +3114,15 @@
+ NAME: snmp_port
+ TYPE: ushort
+ LOC: Config.Port.snmp
+-DEFAULT: 3401
++DEFAULT: 0
+ IFDEF: SQUID_SNMP
+ DOC_START
+       Squid can now serve statistics and status information via SNMP.
+       By default it listens to port 3401 on the machine. If you don't
+       wish to use SNMP, set this to "0".
++
++      Note: on Gentoo Linux, the default is zero - you need to
++      set it to 3401 to enable it.
+ DOC_END
+ 
+ NAME: snmp_access
+diff -uNr squid-2.5.STABLE1.orig/src/debug.c squid-2.5.STABLE1/src/debug.c
+--- squid-2.5.STABLE1.orig/src/debug.c 2001-12-17 13:01:54.000000000 -0500
++++ squid-2.5.STABLE1/src/debug.c      2002-11-07 01:37:34.000000000 -0500
+@@ -200,9 +200,9 @@
+     }
+     debugOpenLog(logfile);
+ 
+-#if HAVE_SYSLOG && defined(LOG_LOCAL4)
++#if HAVE_SYSLOG
+     if (opt_syslog_enable)
+-      openlog(appname, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4);
++      openlog(appname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
+ #endif /* HAVE_SYSLOG */
+ 
+ }
+diff -uNr squid-2.5.STABLE1.orig/src/defines.h squid-2.5.STABLE1/src/defines.h
+--- squid-2.5.STABLE1.orig/src/defines.h       2002-08-08 16:17:39.000000000 -0400
++++ squid-2.5.STABLE1/src/defines.h    2002-11-07 01:37:34.000000000 -0500
+@@ -219,7 +219,7 @@
+ 
+ /* were to look for errors if config path fails */
+ #ifndef DEFAULT_SQUID_ERROR_DIR
+-#define DEFAULT_SQUID_ERROR_DIR "/usr/local/squid/etc/errors"
++#define DEFAULT_SQUID_ERROR_DIR "/usr/lib/squid/errors/English"
+ #endif
+ 
+ /* gb_type operations */
+diff -uNr squid-2.5.STABLE1.orig/src/main.c squid-2.5.STABLE1/src/main.c
+--- squid-2.5.STABLE1.orig/src/main.c  2002-07-14 13:20:49.000000000 -0400
++++ squid-2.5.STABLE1/src/main.c       2002-11-07 01:37:34.000000000 -0500
+@@ -326,6 +326,21 @@
+     asnFreeMemory();
+ }
+ 
++#if USE_UNLINKD
++static int
++needUnlinkd(void)
++{
++    int i;
++    int r = 0;
++    for (i = 0; i < Config.cacheSwap.n_configured; i++) {
++       if (strcmp(Config.cacheSwap.swapDirs[i].type, "ufs") == 0 ||
++           strcmp(Config.cacheSwap.swapDirs[i].type, "diskd") == 0)
++          r++;
++    }
++    return r;
++}
++#endif
++
+ static void
+ mainReconfigure(void)
+ {
+@@ -351,6 +366,7 @@
+     redirectShutdown();
+     authenticateShutdown();
+     externalAclShutdown();
++    unlinkdClose();
+     storeDirCloseSwapLogs();
+     errorClean();
+     enter_suid();             /* root to read config file */
+@@ -373,6 +389,9 @@
+ #if USE_WCCP
+     wccpInit();
+ #endif
++#if USE_UNLINKD
++    if (needUnlinkd()) unlinkdInit();
++#endif
+     serverConnectionsOpen();
+     if (theOutIcpConnection >= 0) {
+       if (!Config2.Accel.on || Config.onoff.accel_with_proxy)
+@@ -516,7 +535,7 @@
+ 
+     if (!configured_once) {
+ #if USE_UNLINKD
+-      unlinkdInit();
++      if (needUnlinkd()) unlinkdInit();
+ #endif
+       urlInitialize();
+       cachemgrInit();
+@@ -853,7 +872,7 @@
+     int nullfd;
+     if (*(argv[0]) == '(')
+       return;
+-    openlog(appname, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4);
++    openlog(appname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
+     if ((pid = fork()) < 0)
+       syslog(LOG_ALERT, "fork failed: %s", xstrerror());
+     else if (pid > 0)
+@@ -888,14 +907,14 @@
+       mainStartScript(argv[0]);
+       if ((pid = fork()) == 0) {
+           /* child */
+-          openlog(appname, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4);
++          openlog(appname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
+           prog = xstrdup(argv[0]);
+           argv[0] = xstrdup("(squid)");
+           execvp(prog, argv);
+           syslog(LOG_ALERT, "execvp failed: %s", xstrerror());
+       }
+       /* parent */
+-      openlog(appname, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4);
++      openlog(appname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
+       syslog(LOG_NOTICE, "Squid Parent: child process %d started", pid);
+       time(&start);
+       squid_signal(SIGINT, SIG_IGN, SA_RESTART);
+diff -uNr squid-2.5.STABLE1.orig/src/url.c squid-2.5.STABLE1/src/url.c
+--- squid-2.5.STABLE1.orig/src/url.c   2002-09-12 01:21:00.000000000 -0400
++++ squid-2.5.STABLE1/src/url.c        2002-11-07 01:37:34.000000000 -0500
+@@ -314,7 +314,7 @@
+     /* remove duplicate dots */
+     while ((t = strstr(host, "..")))
+       xmemmove(t, t + 1, strlen(t));
+-    if (Config.appendDomain && !strchr(host, '.'))
++    if (Config.appendDomain && !strchr(host, '.') && strcasecmp(host, "localhost") != 0)
+       strncat(host, Config.appendDomain, SQUIDHOSTNAMELEN);
+     if (port < 1 || port > 65535) {
+       debug(23, 3) ("urlParse: Invalid port '%d'\n", port);
diff --git a/net-www/squid/squid-2.4.6-r1.ebuild b/net-www/squid/squid-2.4.6-r1.ebuild
deleted file mode 100644 (file)
index 1085f8f..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/squid/squid-2.4.6-r1.ebuild,v 1.4 2002/10/05 05:39:24 drobbins Exp $
-
-IUSE="snmp pam ldap"
-
-# this could be cleaner..
-MY_P=${PN}-2.4.STABLE6
-S=${WORKDIR}/${MY_P}
-DESCRIPTION="A caching web proxy, with advanced features"
-SRC_URI="ftp://ftp.squid-cache.org/pub/squid-2/STABLE/${MY_P}-src.tar.gz
-       ftp://sunsite.auc.dk/pub/infosystems/squid/squid-2/STABLE/${MY_P}-src.tar.gz"
-HOMEPAGE="http://www.squid-cache.org/"
-
-RDEPEND="virtual/glibc pam? ( >=sys-libs/pam-0.72 ) ldap? ( >=net-nds/openldap-2 )"
-DEPEND="${RDEPEND} sys-devel/perl"
-LICENSE="GPL-2"
-KEYWORDS="*"
-SLOT="0"
-
-src_unpack() {
-       unpack ${A}
-       cd ${S}
-       # see the tops of these patches for details..
-       patch -p1 < ${FILESDIR}/${P}-debian.diff || die
-       patch -p1 < ${FILESDIR}/${P}-gentoo.diff || die
-       if [ -z "$DEBUG" ]
-       then
-               mv configure.in configure.in.orig
-               sed -e 's%LDFLAGS="-g"%LDFLAGS=""%' configure.in.orig > configure.in
-               autoconf || die
-       fi
-}
-
-src_compile() {
-       local myconf mymodules
-       mymodules="getpwnam,YP,NCSA,SMB,MSNT,multi-domain-NTLM"
-       use ldap && mymodules="LDAP,${mymodules}"
-       use pam && mymodules="PAM,${mymodules}"
-       use snmp && myconf="--enable-snmp"
-
-       ./configure \
-               --prefix=/usr \
-               --bindir=/usr/sbin \
-               --exec-prefix=/usr \
-               --sbindir=/usr/sbin \
-               --localstatedir=/var \
-               --sysconfdir=/etc/squid \
-               --libexecdir=/usr/lib/squid \
-               --enable-storeio="ufs,diskd,coss,aufs,null" \
-               --enable-removal-policies="lru,heap" \
-               --enable-auth-modules=${mymodules} \
-               --enable-linux-netfilter \
-               --disable-ident-lookups \
-               --enable-useragent-log \
-               --enable-cache-digests \
-               --enable-delay-pools \
-               --enable-referer-log \
-               --enable-async-io \
-               --enable-truncate \
-               --enable-arp-acl \
-               --with-pthreads \
-               --enable-htcp \
-               --enable-carp \
-               --enable-poll \
-               --host=${CHOST} ${myconf} || die "bad ./configure"
-               #--enable-icmp
-
-       mv include/autoconf.h include/autoconf.h.orig
-       sed -e "s:^#define SQUID_MAXFD.*:#define SQUID_MAXFD 4096:" \
-               include/autoconf.h.orig > include/autoconf.h
-
-       emake || die "compile problem"
-}
-
-src_install() {
-       make \
-               prefix=${D}/usr \
-               bindir=${D}/usr/sbin \
-               localstatedir=${D}/var \
-               sysconfdir=${D}/etc/squid \
-               libexecdir=${D}/usr/lib/squid \
-               install || die
-
-       #make -C src install-pinger libexecdir=${D}/usr/lib/squid || die
-       #chown root.squid ${D}/usr/lib/squid/pinger
-       #chmod 4750 ${D}/usr/lib/squid/pinger
-
-       mv ${D}/usr/sbin/{*_auth*,Run*} ${D}/usr/lib/squid
-       chown root.squid ${D}/usr/lib/squid/pam_auth
-       chmod 2750 ${D}/usr/lib/squid/pam_auth
-
-       rm -rf ${D}/etc/squid/errors ${D}/var/logs
-       cd errors
-       dodir /usr/lib/squid/errors
-       for i in *
-       do
-               if [ -d $i ]
-               then
-                       insinto /usr/lib/squid/errors/$i
-                       doins $i/*
-               fi
-       done
-       cd ${S}
-       dosym /usr/lib/squid/errors/English /etc/squid/errors
-
-       dodoc README QUICKSTART CONTRIBUTORS COPYRIGHT
-       dodoc COPYING CREDITS ChangeLog TODO
-       newdoc auth_modules/SMB/README SMB.auth.readme
-       newdoc auth_modules/LDAP/README LDAP.auth.readme
-       doman auth_modules/LDAP/*.8 doc/tree.3
-       docinto txt
-       dodoc doc/*.txt
-
-       insinto /etc/pam.d ; newins ${FILESDIR}/squid.pam squid
-       exeinto /etc/init.d ; newexe ${FILESDIR}/squid.rc6 squid
-       insinto /etc/conf.d ; newins ${FILESDIR}/squid.confd squid
-}
-
-pkg_postinst() {
-       # This helps if you had it installed, but never _ran_ it.
-       install -m0755 -o squid -g squid -d ${ROOT}/var/cache/squid
-       install -m0755 -o squid -g squid -d ${ROOT}/var/log/squid
-}
diff --git a/net-www/squid/squid-2.5.1.ebuild b/net-www/squid/squid-2.5.1.ebuild
new file mode 100644 (file)
index 0000000..aefc834
--- /dev/null
@@ -0,0 +1,129 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-www/squid/squid-2.5.1.ebuild,v 1.1 2002/11/07 12:23:56 woodchip Exp $
+
+IUSE="pam ldap ssl sasl snmp"
+
+#lame archive versioning scheme..
+S_PV=${PV%.*}
+S_PL=${PV##*.}
+S_PP=${PN}-${S_PV}.STABLE${S_PL}
+
+DESCRIPTION="A caching web proxy, with advanced features"
+HOMEPAGE="http://www.squid-cache.org/"
+
+S=${WORKDIR}/${S_PP}
+SRC_URI="ftp://ftp.squid-cache.org/pub/squid-2/STABLE/${S_PP}.tar.bz2"
+
+RDEPEND="pam? >=sys-libs/pam-0.72
+       ldap? >=net-nds/openldap-2
+       ssl? >=dev-libs/openssl-0.9.6g
+       sasl? =dev-libs/cyrus-sasl-1*"
+DEPEND="${RDEPEND} sys-devel/perl"
+LICENSE="GPL-2"
+KEYWORDS="~x86 ~ppc ~sparc ~sparc64 ~alpha"
+SLOT="0"
+
+src_unpack() {
+       unpack ${A} || die
+       cd ${S} || die
+
+       #do NOT just remove this patch.  yes, it's here for a reason.
+       #woodchip@gentoo.org (07 Nov 2002)
+       patch -p1 <${FILESDIR}/${P}-gentoo.diff || die
+
+       if [ -z "$DEBUGBUILD" ]
+       then
+               mv configure.in configure.in.orig
+               sed -e 's%LDFLAGS="-g"%LDFLAGS=""%' configure.in.orig > configure.in
+               autoconf || die
+       fi
+}
+
+src_compile() {
+       local basic_modules="getpwnam,YP,NCSA,SMB,MSNT,multi-domain-NTLM,winbind"
+       use ldap && basic_modules="LDAP,${basic_modules}"
+       use pam && basic_modules="PAM,${basic_modules}"
+       use sasl && basic_modules="SASL,${basic_modules}"
+
+       local ext_helpers="ip_user,unix_group,wbinfo_group,winbind_group"
+       use ldap && ext_helpers="ldap_group,${ext_helpers}"
+
+       local myconf=""
+       use snmp && myconf="${myconf} --enable-snmp" || myconf="${myconf} --disable-snmp"
+       use ssl && myconf="${myconf} --enable-ssl" || myconf="${myconf} --disable-ssl"
+
+       ./configure \
+               --prefix=/usr \
+               --bindir=/usr/bin \
+               --exec-prefix=/usr \
+               --sbindir=/usr/sbin \
+               --localstatedir=/var \
+               --mandir=/usr/share/man \
+               --sysconfdir=/etc/squid \
+               --libexecdir=/usr/lib/squid \
+               \
+               --enable-auth="basic,digest,ntlm" \
+               --enable-removal-policies="lru,heap" \
+               --enable-digest-auth-helpers="password" \
+               --enable-storeio="ufs,diskd,coss,aufs,null" \
+               --enable-basic-auth-helpers=${basic_modules} \
+               --enable-external-acl-helpers=${ext_helpers} \
+               --enable-ntlm-auth-helpers="SMB,fakeauth,no_check,winbind" \
+               --enable-linux-netfilter \
+               --disable-ident-lookups \
+               --enable-useragent-log \
+               --enable-cache-digests \
+               --enable-delay-pools \
+               --enable-referer-log \
+               --enable-async-io \
+               --enable-truncate \
+               --enable-arp-acl \
+               --with-pthreads \
+               --enable-htcp \
+               --enable-carp \
+               --enable-poll \
+               --host=${CHOST} ${myconf} || die "bad ./configure"
+               #--enable-icmp
+
+       mv include/autoconf.h include/autoconf.h.orig
+       sed -e "s:^#define SQUID_MAXFD.*:#define SQUID_MAXFD 4096:" \
+               include/autoconf.h.orig > include/autoconf.h
+
+       emake || die "compile problem"
+}
+
+src_install() {
+       make DESTDIR=${D} install || die
+
+       #--enable-icmp
+       #make -C src install-pinger libexecdir=${D}/usr/lib/squid || die
+       #chown root.squid ${D}/usr/lib/squid/pinger
+       #chmod 4750 ${D}/usr/lib/squid/pinger
+
+       #some clean ups
+       rm -rf ${D}/var
+       mv ${D}/usr/bin/Run* ${D}/usr/lib/squid
+
+       #simply switch this symlink to choose the desired language..
+       dosym /usr/lib/squid/errors/English /etc/squid/errors
+
+       dodoc README QUICKSTART CONTRIBUTORS COPYRIGHT COPYING \
+               CREDITS ChangeLog doc/*.txt \
+               helpers/ntlm_auth/no_check/README.no_check_ntlm_auth
+       newdoc helpers/basic_auth/SMB/README README.auth_smb
+       dohtml helpers/basic_auth/MSNT/README.html
+       newdoc helpers/basic_auth/LDAP/README README.auth_ldap
+       doman helpers/basic_auth/LDAP/*.8
+       dodoc helpers/basic_auth/SASL/squid_sasl_auth*
+
+       insinto /etc/pam.d ; newins ${FILESDIR}/squid.pam squid
+       exeinto /etc/init.d ; newexe ${FILESDIR}/squid.rc6 squid
+       insinto /etc/conf.d ; newins ${FILESDIR}/squid.confd squid
+}
+
+pkg_postinst() {
+       # empty dirs..
+       install -m0755 -o squid -g squid -d ${ROOT}/var/cache/squid
+       install -m0755 -o squid -g squid -d ${ROOT}/var/log/squid
+}