pkgsrc/net/samba/patches/patch-au
drochner c8fa83b3b6 fix the problems with SIOCGIFCONF and its wrong use here by adding
a getifaddrs-based implementation,
fix another botch in the patch for "configure",
bump PKGREVISION
2007-12-21 17:32:24 +00:00

155 lines
5.1 KiB
Text

$NetBSD: patch-au,v 1.8 2007/12/21 17:32:26 drochner Exp $
--- configure.in.orig 2007-08-20 15:04:51.000000000 +0200
+++ configure.in
@@ -27,6 +27,7 @@ AC_PREFIX_DEFAULT(/usr/local/samba)
rootsbindir="\${SBINDIR}"
lockdir="\${VARDIR}/locks"
+statedir="\${VARDIR}/locks"
piddir="\${VARDIR}/locks"
test "${mandir}" || mandir="\${prefix}/man"
logfilebase="\${VARDIR}"
@@ -40,7 +41,8 @@ AC_ARG_WITH(fhs,
[ --with-fhs Use FHS-compliant paths (default=no)],
[ case "$withval" in
yes)
- lockdir="\${VARDIR}/lib/samba"
+ lockdir="\${VARDIR}/run/samba"
+ statedir="\${VARDIR}/lib/samba"
piddir="\${VARDIR}/run"
mandir="\${prefix}/share/man"
logfilebase="\${VARDIR}/log/samba"
@@ -100,6 +102,22 @@ AC_ARG_WITH(lockdir,
esac])
#################################################
+# set state directory location
+AC_ARG_WITH(statedir,
+[ --with-statedir=DIR Where to put state files ($ac_default_prefix/var/locks)],
+[ case "$withval" in
+ yes|no)
+ #
+ # Just in case anybody calls it without argument
+ #
+ AC_MSG_WARN([--with-statedir called without argument - will use default])
+ ;;
+ * )
+ statedir="$withval"
+ ;;
+ esac])
+
+#################################################
# set pid directory location
AC_ARG_WITH(piddir,
[ --with-piddir=DIR Where to put pid files ($ac_default_prefix/var/locks)],
@@ -246,6 +264,7 @@ fi
AC_SUBST(configdir)
AC_SUBST(lockdir)
+AC_SUBST(statedir)
AC_SUBST(piddir)
AC_SUBST(logfilebase)
AC_SUBST(privatedir)
@@ -1231,7 +1250,7 @@ AC_CHECK_FUNCS(lstat64 fopen64 atexit gr
AC_CHECK_FUNCS(fseek64 fseeko64 ftell64 ftello64 setluid getpwanam setlinebuf)
AC_CHECK_FUNCS(opendir64 readdir64 seekdir64 telldir64 rewinddir64 closedir64)
AC_CHECK_FUNCS(getpwent_r)
-AC_CHECK_FUNCS(getdents getdents64)
+AC_CHECK_FUNCS(getdents getdents64 getpwent_r)
AC_CHECK_FUNCS(srandom random srand rand setenv usleep strcasecmp fcvt fcvtl symlink readlink)
AC_CHECK_FUNCS(syslog vsyslog timegm)
AC_CHECK_FUNCS(setlocale nl_langinfo)
@@ -2823,6 +2842,21 @@ if test x"$samba_cv_HAVE_IFACE_AIX" = x"
fi
if test $iface = no; then
+AC_CACHE_CHECK([for iface ifaddrs],samba_cv_HAVE_IFACE_IFADDRS,[
+SAVE_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS ${SAMBA_CONFIGURE_CPPFLAGS}"
+AC_TRY_RUN([
+#define HAVE_IFACE_IFADDRS 1
+#define AUTOCONF_TEST 1
+#include "${srcdir-.}/lib/interfaces.c"],
+ samba_cv_HAVE_IFACE_IFADDRS=yes,samba_cv_HAVE_IFACE_IFADDRS=no,samba_cv_HAVE_IFACE_IFADDRS=cross)])
+CPPFLAGS="$SAVE_CPPFLAGS"
+if test x"$samba_cv_HAVE_IFACE_IFADDRS" = x"yes"; then
+ iface=yes;AC_DEFINE(HAVE_IFACE_IFADDRS,1,[Whether iface ifaddrs is available])
+fi
+fi
+
+if test $iface = no; then
AC_CACHE_CHECK([for iface ifconf],samba_cv_HAVE_IFACE_IFCONF,[
SAVE_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS ${SAMBA_CONFIGURE_CPPFLAGS}"
@@ -3498,7 +3532,7 @@ if test x"$with_ads_support" != x"no"; t
AC_CHECK_LIB_EXT(k5crypto, KRB5_LIBS, krb5_encrypt_data)
# Heimdal checks.
- AC_CHECK_LIB_EXT(crypto, KRB5_LIBS, des_set_key)
+ AC_CHECK_LIB_EXT(crypto, KRB5_LIBS, EVP_des_cbc)
AC_CHECK_LIB_EXT(asn1, KRB5_LIBS, copy_Authenticator)
AC_CHECK_LIB_EXT(roken, KRB5_LIBS, roken_getaddrinfo_hostspec)
@@ -5719,31 +5753,39 @@ case "$host_os" in
NSSSONAMEVERSIONSUFFIX=".2"
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_linux.o"
;;
- *freebsd[[5-9]]*)
- # FreeBSD winbind client is implemented as a wrapper around
- # the Linux version.
- NSSSONAMEVERSIONSUFFIX=".1"
- WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_freebsd.o \
- nsswitch/winbind_nss_linux.o"
- WINBIND_NSS="nsswitch/nss_winbind.$SHLIBEXT"
- WINBIND_WINS_NSS="nsswitch/nss_wins.$SHLIBEXT"
- ;;
-
- *netbsd*[[3-9]]*)
- # NetBSD winbind client is implemented as a wrapper
- # around the Linux version. It needs getpwent_r() to
- # indicate libc's use of the correct nsdispatch API.
- #
- if test x"$ac_cv_func_getpwent_r" = x"yes"; then
- WINBIND_NSS_EXTRA_OBJS="\
- nsswitch/winbind_nss_netbsd.o \
+ *freebsd*)
+ case "$UNAME_R" in
+ [5-9]*)
+ # FreeBSD winbind client is implemented as a wrapper
+ # around the Linux version.
+ NSSSONAMEVERSIONSUFFIX=".1"
+ WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_freebsd.o \
nsswitch/winbind_nss_linux.o"
WINBIND_NSS="nsswitch/nss_winbind.$SHLIBEXT"
WINBIND_WINS_NSS="nsswitch/nss_wins.$SHLIBEXT"
- else
- HAVE_WINBIND=no
- winbind_no_reason=", getpwent_r is missing on $host_os so winbind is unsupported"
- fi
+ ;;
+ esac
+ ;;
+
+ *netbsd*[[3-9]]*)
+ case "$UNAME_R" in
+ [3-9]*)
+ # NetBSD winbind client is implemented as a wrapper
+ # around the Linux version. It needs getpwent_r() to
+ # indicate libc's use of the correct nsdispatch API.
+ #
+ if test x"$ac_cv_func_getpwent_r" = x"yes"; then
+ WINBIND_NSS_EXTRA_OBJS="\
+ nsswitch/winbind_nss_netbsd.o \
+ nsswitch/winbind_nss_linux.o"
+ WINBIND_NSS="nsswitch/nss_winbind.$SHLIBEXT"
+ WINBIND_WINS_NSS="nsswitch/nss_wins.$SHLIBEXT"
+ else
+ HAVE_WINBIND=no
+ winbind_no_reason=", getpwent_r is missing on $host_os so winbind is unsupported"
+ fi
+ ;;
+ esac
;;
*irix*)
# IRIX has differently named shared libraries