Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-python
authorJelmer Vernooij <jelmer@samba.org>
Tue, 22 Jan 2008 15:39:56 +0000 (16:39 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Tue, 22 Jan 2008 15:39:56 +0000 (16:39 +0100)
1  2 
source/scripting/python/config.m4
source/selftest/target/Samba4.pm

index 348f9197f719c3eb69d16ea44ac8aaf36c0770e1,4f46f92682ee3f5183215864f104489d7b261862..908efd1588e880a77860328b33a28ee6df749cb2
@@@ -13,6 -13,32 +13,32 @@@ if test -z "$PYTHON"; the
        AC_MSG_WARN([No python found])
  fi
  
+ AC_DEFUN([TRY_LINK_PYTHON],
+ [
+       if test $working_python = no; then
+               ac_save_LIBS="$LIBS"
+               ac_save_CFLAGS="$CFLAGS"
+               LIBS="$LIBS $1"
+               CFLAGS="$CFLAGS $2"
+               AC_TRY_LINK([
+                               #include <Python.h>
+                               #include <stdlib.h>
+                       ],[
+                               Py_InitModule(NULL, NULL);
+                       ],[
+                               PYTHON_LDFLAGS="$1"
+                               PYTHON_CFLAGS="$2"
+                               working_python=yes
+                       ])
+               LIBS="$ac_save_LIBS"
+               CFLAGS="$ac_save_CFLAGS"
+       fi
+ ])
+ dnl assume no working python
+ working_python=no
  if test -z "$PYTHON_VERSION"; then 
        AC_PATH_PROGS([PYTHON_CONFIG], [python2.6-config python2.5-config python2.4-config python-config])
  else 
  fi
  
  if test -z "$PYTHON_CONFIG"; then
-       working_python=no
        AC_MSG_WARN([No python-config found])
  else
-       working_python=yes
-       PYTHON_LDFLAGS=`$PYTHON_CONFIG --ldflags`
-       PYTHON_CFLAGS=`$PYTHON_CONFIG --cflags`
+       TRY_LINK_PYTHON([`$PYTHON_CONFIG --ldflags`], [`$PYTHON_CONFIG --includes`])
+       TRY_LINK_PYTHON([`$PYTHON_CONFIG --ldflags`], [`$PYTHON_CONFIG --cflags`])
  fi
  
- if test $working_python = no && test x$PYTHON != x
+ if test x$PYTHON != x
  then
-       PYTHON_CFLAGS=`$PYTHON -c "from distutils import sysconfig; print '-I%s -I%s %s' % (sysconfig.get_python_inc(), sysconfig.get_python_inc(plat_specific=True), sysconfig.get_config_var('CFLAGS'))"`
-       PYTHON_LDFLAGS=`$PYTHON -c "from distutils import sysconfig; print '%s %s -lpython%s -L%s' % (sysconfig.get_config_var('LIBS'), sysconfig.get_config_var('SYSLIBS'), sysconfig.get_config_var('VERSION'), sysconfig.get_config_var('LIBPL'))"`
-       working_python=yes
+       DISTUTILS_CFLAGS=`$PYTHON -c "from distutils import sysconfig; print '-I%s -I%s %s' % (sysconfig.get_python_inc(), sysconfig.get_python_inc(plat_specific=True), sysconfig.get_config_var('CFLAGS'))"`
+       DISTUTILS_LDFLAGS=`$PYTHON -c "from distutils import sysconfig; print '%s %s -lpython%s -L%s' % (sysconfig.get_config_var('LIBS'), sysconfig.get_config_var('SYSLIBS'), sysconfig.get_config_var('VERSION'), sysconfig.get_config_var('LIBPL'))"`
+       TRY_LINK_PYTHON($DISTUTILS_LDFLAGS, $DISTUTILS_CFLAGS)
  fi
  
  SMB_EXT_LIB(EXT_LIB_PYTHON, [$PYTHON_LDFLAGS], [$PYTHON_CFLAGS])
  
  AC_MSG_CHECKING(working python module support)
- if test x$working_python = xyes
- then
-       ac_save_LIBS="$LIBS"
-       ac_save_CFLAGS="$CFLAGS"
-       LIBS="$LIBS $PYTHON_LDFLAGS"
-       CFLAGS="$CFLAGS $PYTHON_CFLAGS"
-       AC_TRY_LINK([
-                       #include <Python.h>
-                       #include <stdlib.h>
-               ],[
-                       Py_InitModule(NULL, NULL);
-               ],[
-                       SMB_ENABLE(EXT_LIB_PYTHON,YES)
-                       SMB_ENABLE(smbpython,YES)
-                       SMB_ENABLE(LIBPYTHON,YES)
-                       AC_MSG_RESULT([yes])
-               ],[
-                       SMB_ENABLE(EXT_LIB_PYTHON,NO)
-                       SMB_ENABLE(LIBPYTHON,NO)
-                       SMB_ENABLE(smbpython,NO)
-                       AC_MSG_RESULT([no])
-               ])
-       LIBS="$ac_save_LIBS"
-       CFLAGS="$ac_save_CFLAGS"
+ if test $working_python = yes; then
+       SMB_ENABLE(EXT_LIB_PYTHON,YES)
+       SMB_ENABLE(smbpython,YES)
+       SMB_ENABLE(LIBPYTHON,YES)
+       AC_MSG_RESULT([yes])
  else
 -      SMB_ENABLE(EXT_LIB_PYTHON,NO)
 -      SMB_ENABLE(LIBPYTHONyy,NO)
 -      SMB_ENABLE(smbpython,NO)
 -      AC_MSG_RESULT([no])
 +      AC_MSG_ERROR([Python not found. Please install Python 2.x and its development headers/libraries.])
  fi
index aacf3c3802a54e218a55f87f04962424bca86f45,87a86ef06fe51bd4cb30f7be5364343436902c47..fba0f6a6f854b375e19c5b0c9168d319de0f325d
@@@ -244,6 -244,7 +244,7 @@@ sub mk_openldap($$$
  modulepath      $olroot/libexec/openldap
  moduleload    syncprov
  moduleload      memberof
+ moduleload      refint
  ";
                close(CONF);
        }
@@@ -255,6 -256,7 +256,7 @@@ modulepath      $olroot/libexec/openlda
  moduleload    back_hdb
  moduleload    syncprov
  moduleload      memberof
+ moduleload      refint
  ";
                close(CONF);
        }
  moduleload    back_hdb
  moduleload    syncprov
  moduleload      memberof
+ moduleload      refint
  ";
                close(CONF);
        }
@@@ -278,6 -281,7 +281,7 @@@ modulepath /usr/lib/lda
  moduleload    back_hdb
  moduleload    syncprov
  moduleload      memberof
+ moduleload      refint
  ";
                close(CONF);
        }
  modulepath    /usr/lib/openldap
  moduleload    syncprov
  moduleload      memberof
+ moduleload      refint
  ";
                close(CONF);
        }
  modulepath    /usr/lib64/openldap
  moduleload    syncprov
  moduleload      memberof
+ moduleload      refint
  ";
                close(CONF);
        }
@@@ -654,12 -660,12 +660,12 @@@ nogroup:x:65534:nobod
        my @provision_options = ();
        push (@provision_options, "NSS_WRAPPER_PASSWD=\"$nsswrap_passwd\"");
        push (@provision_options, "NSS_WRAPPER_GROUP=\"$nsswrap_group\"");
 -      if (defined($ENV{PROVISION_PYTHON})) {
 -              push (@provision_options, "$self->{bindir}/smbpython");
 -              push (@provision_options, "$self->{setupdir}/provision.py");
 -      } else {
 +      if (defined($ENV{PROVISION_EJS})) {
                push (@provision_options, "$self->{bindir}/smbscript");
                push (@provision_options, "$self->{setupdir}/provision");
 +      } else {
 +              push (@provision_options, "$self->{bindir}/smbpython");
 +              push (@provision_options, "$self->{setupdir}/provision.py");
        }
        push (@provision_options, split(' ', $configuration));
        push (@provision_options, "--host-name=$netbiosname");
                } elsif ($self->{ldap} eq "fedora-ds") {
                       ($ret->{FEDORA_DS_DIR}, $ret->{FEDORA_DS_PIDFILE}) = $self->mk_fedora_ds($ldapdir, $configuration) or die("Unable to create fedora ds directories");
                       push (@provision_options, "--ldap-module=nsuniqueid");
-                      push (@provision_options, "--aci=aci:: KHRhcmdldGF0dHIgPSAiKiIpICh2ZXJzaW9uIDMuMDthY2wgImZ1bGwgYWNjZXNzIHRvIGFsbCBieSBhbGwiO2FsbG93IChhbGwpKHVzZXJkbiA9ICJsZGFwOi8vL2FueW9uZSIpOykK");
+                      push (@provision_options, "'--aci=aci:: KHRhcmdldGF0dHIgPSAiKiIpICh2ZXJzaW9uIDMuMDthY2wgImZ1bGwgYWNjZXNzIHRvIGFsbCBieSBhbGwiO2FsbG93IChhbGwpKHVzZXJkbiA9ICJsZGFwOi8vL2FueW9uZSIpOykK'");
                   }
  
                $self->slapd_start($ret) or