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