Subject: krb5-config
To: None <tech-pkg@netbsd.org>
From: Mark Davies <mark@mcs.vuw.ac.nz>
List: tech-pkg
Date: 01/20/2006 16:13:34
Many configure scripts, when testing for kerberos/gssapi support, try to run
"krb5-config" and often don't fall back to trying to find libraries/headers
themselves (or do it in way that doesn't work on some platforms). This isn't
a problem when using the heimdal or mit-krb5 packages as they both provide a
"krb5-config" but the NetBSD built-in heimdal doesn't so below are patches to
create one for the built to use if we are using built-in and it doesn't
already exist.
Comments?
cheers
mark
Index: builtin.mk
===================================================================
RCS file: /src/cvs/netbsd/pkgsrc/security/heimdal/builtin.mk,v
retrieving revision 1.6
diff -u -r1.6 builtin.mk
--- builtin.mk 26 Oct 2005 15:12:45 -0000 1.6
+++ builtin.mk 10 Jan 2006 01:19:25 -0000
@@ -104,4 +104,16 @@
MAKE_ENV+= KRB5_CONFIG=${KRB5_CONFIG:Q}
. endif
+. if !empty(USE_BUILTIN.heimdal:M[yY][eE][sS]) && !exists(${SH_KRB5_CONFIG})
+BUILDLINK_TARGETS+= fake-krb5-config
+
+fake-krb5-config:
+ ${_PKG_SILENT}${_PKG_DEBUG} \
+ src=../../security/heimdal/files/krb5-config \
+ dst=${BUILDLINK_DIR}/bin/krb5-config; \
+ ${SED} -e s/@HEIMDAL_VERSION@/${BUILTIN_VERSION.heimdal}/ \
+ $${src} >$${dst}; \
+ ${CHMOD} a+x $${dst}
+. endif
+
.endif # CHECK_BUILTIN.heimdal
--- /dev/null 2006-01-20 15:03:46.000000000 +1300
+++ files/krb5-config 2006-01-10 14:19:06.000000000 +1300
@@ -0,0 +1,106 @@
+#!/bin/sh
+# $Heimdal: krb5-config.in,v 1.9 2002/09/09 22:29:06 joda Exp $
+
+do_libs=no
+do_cflags=no
+do_usage=no
+print_prefix=no
+print_exec_prefix=no
+library=krb5
+
+if test $# -eq 0; then
+ do_usage=yes
+ usage_exit=1
+fi
+
+for i in $*; do
+ case $i in
+ --help)
+ do_usage=yes
+ usage_exit=0
+ ;;
+ --version)
+ echo "heimdal @HEIMDAL_VERSION@"
+ exit 0
+ ;;
+ --prefix=*)
+ prefix=`echo $i | sed 's/^--prefix=//'`
+ ;;
+ --prefix)
+ print_prefix=yes
+ ;;
+ --exec-prefix=*)
+ exec_prefix=`echo $i | sed 's/^--exec-prefix=//'`
+ ;;
+ --exec-prefix)
+ print_exec_prefix=yes
+ ;;
+ --libs)
+ do_libs=yes
+ ;;
+ --cflags)
+ do_cflags=yes
+ ;;
+ krb5)
+ library=krb5
+ ;;
+ gssapi)
+ library=gssapi
+ ;;
+ kadm-client)
+ library=kadm-client
+ ;;
+ kadm-server)
+ library=kadm-server
+ ;;
+ *)
+ echo "unknown option: $i"
+ exit 1
+ ;;
+ esac
+done
+
+if test "$do_usage" = "yes"; then
+ echo "usage: $0 [options] [libraries]"
+ echo "options: [--prefix[=dir]] [--exec-prefix[=dir]] [--libs]
[--cflags]"
+ echo "libraries: krb5 gssapi kadm-client kadm-server"
+ exit $usage_exit
+fi
+
+if test "$prefix" = ""; then
+ prefix=/usr
+fi
+if test "$exec_prefix" = ""; then
+ exec_prefix=/usr
+fi
+
+if test "$print_prefix" = "yes"; then
+ echo $prefix
+fi
+
+if test "$print_exec_prefix" = "yes"; then
+ echo $exec_prefix
+fi
+
+if test "$do_libs" = "yes"; then
+ lib_flags="-L/usr/lib"
+ case $library in
+ gssapi)
+ lib_flags="$lib_flags -lgssapi"
+ ;;
+ kadm-client)
+ lib_flags="$lib_flags -lkadm5clnt"
+ ;;
+ kadm-server)
+ lib_flags="$lib_flags -lkadm5srv"
+ ;;
+ esac
+ lib_flags="$lib_flags -lkrb5 -lasn1 -ldes -lroken"
+ lib_flags="$lib_flags -lcrypto -lcom_err"
+ echo $lib_flags
+fi
+if test "$do_cflags" = "yes"; then
+ echo "-I/usr/include/gssapi -I/usr/include/krb5"
+fi
+
+exit 0