ports/123782: [Maintainer] www/squid: fix build on 8-CURRENT after Heimdal update

Thomas-Martin Seck tmseck at web.de
Sun May 18 10:20:01 UTC 2008


>Number:         123782
>Category:       ports
>Synopsis:       [Maintainer] www/squid: fix build on 8-CURRENT after Heimdal update
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sun May 18 10:20:00 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Thomas-Martin Seck
>Release:        FreeBSD 7.0-STABLE i386
>Organization:
a private site in Germany
>Environment:
FreeBSD ports collection as of May 18, 2008.

	
>Description:
Try to make the squid_kerb_auth helper build with all versions of Heimdal
in the base system of those FreeBSD versions the Ports system supports.

Bump PORTREVISION to mark the fix.

Added file:
files/fix-kerberos.patch

	
>How-To-Repeat:
Try to build the port on 8-CURRENT after the recent Heimdal update.
	
>Fix:
Apply this patch:

Index: Makefile
===================================================================
--- Makefile	(.../www/squid)	(revision 1378)
+++ Makefile	(.../local/squid)	(revision 1378)
@@ -76,7 +76,7 @@
 
 PORTNAME=	squid
 PORTVERSION=	2.6.20
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	www
 MASTER_SITES=	ftp://ftp.squid-cache.org/pub/%SUBDIR%/ \
 		ftp://mirrors.24-7-solutions.net/pub/squid/%SUBDIR%/ \
@@ -247,6 +247,15 @@
 CONFIGURE_ARGS+=	--enable-negotiate-auth-helpers="squid_kerb_auth"
 libexec+=	squid_kerb_auth
 .endif
+# XXX: this is a bit misleading: this patch fixes compilation of
+#      squid_kerb_auth on 8-CURRENT after the import of Heimdal 1.1 and
+#      it needs to be applied before the ICAP bootstrap patch in any case
+#      because the ICAP patch relies on changes to the configure script
+#      that are made by this patch. Because patches are applied in alphabe-
+#      tical order, sneak it in front of the ICAP bootstrap patch by (ab)using
+#      EXTRA_PATCHES: (Note: this patch is a no-op in the NO_KERBEROS case and
+#      should not break compilation in this case.)
+EXTRA_PATCHES+=	${PATCHDIR}/fix-kerberos.patch
 
 # Storage schemes:
 
Index: files/patch-helpers-negotiate_auth-squid_kerb_auth-Makefile.in
===================================================================
--- files/patch-helpers-negotiate_auth-squid_kerb_auth-Makefile.in	(.../www/squid)	(revision 1378)
+++ files/patch-helpers-negotiate_auth-squid_kerb_auth-Makefile.in	(.../local/squid)	(revision 1378)
@@ -1,19 +1,37 @@
---- 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
+--- helpers/negotiate_auth/squid_kerb_auth/Makefile.in.orig	2008-05-17 18:06:10.000000000 +0200
++++ helpers/negotiate_auth/squid_kerb_auth/Makefile.in	2008-05-17 18:40:15.000000000 +0200
+@@ -130,6 +130,18 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++#-L$(top_builddir)/lib -lmiscutil $(XTRA_LIBS)
++
++# HEIMDAL
++#KERBINC = -DHEIMDAL -I/usr/include/heimdal
++#KERBLIBS = -lgssapi -lkrb5 -lcom_err -lasn1 -lroken
++
++# MIT
++#KERBINC = 
++#KERBLIBS = -lgssapi_krb5 -lkrb5 -lcom_err
++KERBINC = -DHEIMDAL @KERBINC@
++KERBLIBS = @KERBLIBS@
++KRB5CONFIG = @KRB5CONFIG@
+ LDFLAGS = @LDFLAGS@
+ LIBDLMALLOC = @LIBDLMALLOC@
+ LIBOBJS = @LIBOBJS@
+@@ -267,15 +279,6 @@
+ squid_kerb_auth_SOURCES = $(SOURCE) $(SPNEGO)
+ #-I$(top_srcdir)/include -I$(top_srcdir)/src
+ LDADD = $(KERBLIBS)
+-#-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
+-
+-# MIT
 -KERBINC = 
 -KERBLIBS = -lgssapi_krb5 -lkrb5 -lcom_err
-+#KERBINC = 
-+#KERBLIBS = -lgssapi_krb5 -lkrb5 -lcom_err
  all: all-am
  
  .SUFFIXES:
Index: files/icap-2.6-bootstrap.patch
===================================================================
--- files/icap-2.6-bootstrap.patch	(.../www/squid)	(revision 1378)
+++ files/icap-2.6-bootstrap.patch	(.../local/squid)	(revision 1378)
@@ -231,8 +231,8 @@
  LTLIBOBJS!$LTLIBOBJS$ac_delim
  _ACEOF
  
--  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 89; then
-+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 95; then
+-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 92; then
++  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 98; then
      break
    elif $ac_last_try; then
      { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
Index: files/fix-kerberos.patch
===================================================================
--- files/fix-kerberos.patch	(.../www/squid)	(revision 0)
+++ files/fix-kerberos.patch	(.../local/squid)	(revision 1378)
@@ -0,0 +1,103 @@
+This file contains a test for the presence of krb5-config;
+it is needed to make the squid_kerb_auth helper program
+compile against newer versions of Heimdal. See also
+files/patch-helpers-negotiate_auth-squid_kerb_auth-Makefile.in.
+
+In order to have it applied before the icap26-boostrap.patch it is
+not merged into patch-configure. See the port's Makefile for further
+explanation.
+
+--- configure.orig	2008-04-25 21:49:52.000000000 +0200
++++ configure	2008-05-17 19:15:24.000000000 +0200
+@@ -753,6 +753,9 @@
+ NTLM_AUTH_HELPERS
+ DIGEST_AUTH_HELPERS
+ NEGOTIATE_AUTH_HELPERS
++KRB5CONFIG
++KERBLIBS
++KERBINC
+ EXTERNAL_ACL_HELPERS
+ CPP
+ GREP
+@@ -5591,6 +5594,62 @@
+ fi
+ 
+ 
++
++
++if `echo "$NEGOTIATE_AUTH_HELPERS" | grep -q squid_kerb_auth`; then
++    # Extract the first word of "krb5-config", so it can be a program name with args.
++set dummy krb5-config; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_path_KRB5CONFIG+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  case $KRB5CONFIG in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_KRB5CONFIG="$KRB5CONFIG" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_path_KRB5CONFIG="$as_dir/$ac_word$ac_exec_ext"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++  test -z "$ac_cv_path_KRB5CONFIG" && ac_cv_path_KRB5CONFIG="false"
++  ;;
++esac
++fi
++KRB5CONFIG=$ac_cv_path_KRB5CONFIG
++if test -n "$KRB5CONFIG"; then
++  { echo "$as_me:$LINENO: result: $KRB5CONFIG" >&5
++echo "${ECHO_T}$KRB5CONFIG" >&6; }
++else
++  { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++    if test -z "$KRB5CONFIG"; then
++	{ { echo "$as_me:$LINENO: error: sorry" >&5
++echo "$as_me: error: sorry" >&2;}
++   { (exit need krb5-config to determine compilation settings); exit need krb5-config to determine compilation settings; }; }
++    else
++	KERBLIBS=`$KRB5CONFIG --libs gssapi`
++	KERBINC=`$KRB5CONFIG --cflags`
++
++
++    fi
++fi
++
+ # Check whether --enable-ntlm-fail-open was given.
+ if test "${enable_ntlm_fail_open+set}" = set; then
+   enableval=$enable_ntlm_fail_open;  if test "$enableval" = "yes" ; then
+@@ -27733,6 +27792,9 @@
+ NTLM_AUTH_HELPERS!$NTLM_AUTH_HELPERS$ac_delim
+ DIGEST_AUTH_HELPERS!$DIGEST_AUTH_HELPERS$ac_delim
+ NEGOTIATE_AUTH_HELPERS!$NEGOTIATE_AUTH_HELPERS$ac_delim
++KRB5CONFIG!$KRB5CONFIG$ac_delim
++KERBLIBS!$KERBLIBS$ac_delim
++KERBINC!$KERBINC$ac_delim
+ EXTERNAL_ACL_HELPERS!$EXTERNAL_ACL_HELPERS$ac_delim
+ CPP!$CPP$ac_delim
+ GREP!$GREP$ac_delim
+@@ -27784,7 +27846,7 @@
+ LTLIBOBJS!$LTLIBOBJS$ac_delim
+ _ACEOF
+ 
+-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 89; then
++  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 92; then
+     break
+   elif $ac_last_try; then
+     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
	


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list