[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha2-757-g7b93e43

Jelmer Vernooij jelmer at samba.org
Tue Feb 12 00:22:22 GMT 2008


The branch, v4-0-test has been updated
       via  7b93e43dad55454e9107a38e67764e08f51392d3 (commit)
       via  056843a5c2ca9e0ec59fd7e371852ecb5362ee32 (commit)
       via  94dfeb5e89a641e2af3d7426d9d25c87952198d2 (commit)
      from  35c8ebdca2612b52cd3eb2aafd35041d17173722 (commit)

http://gitweb.samba.org/?samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 7b93e43dad55454e9107a38e67764e08f51392d3
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Feb 12 01:21:10 2008 +0100

    Avoid using setup.py for intsallation.

commit 056843a5c2ca9e0ec59fd7e371852ecb5362ee32
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Feb 12 00:49:36 2008 +0100

    Manually compile python files rather than use setup.py.

commit 94dfeb5e89a641e2af3d7426d9d25c87952198d2
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Feb 12 00:35:11 2008 +0100

    Manually compile python files rather than using setup.py.

-----------------------------------------------------------------------

Summary of changes:
 source/lib/ldb/Makefile.in            |    3 ++-
 source/lib/ldb/configure.ac           |    4 ++++
 source/lib/ldb/ldb.mk                 |   19 ++++++++++++-------
 source/lib/ldb/setup.py               |   15 ---------------
 source/lib/ldb/tests/python/api.py    |    3 +++
 source/lib/tdb/Makefile.in            |    6 +++++-
 source/lib/tdb/configure.ac           |    5 +++++
 source/lib/tdb/python/tests/simple.py |    5 +++++
 source/lib/tdb/setup.py               |   11 -----------
 source/lib/tdb/tdb.mk                 |   23 +++++++++++++----------
 10 files changed, 49 insertions(+), 45 deletions(-)
 delete mode 100755 source/lib/ldb/setup.py
 delete mode 100755 source/lib/tdb/setup.py


Changeset truncated at 500 lines:

diff --git a/source/lib/ldb/Makefile.in b/source/lib/ldb/Makefile.in
index 738ffe1..d3e0274 100644
--- a/source/lib/ldb/Makefile.in
+++ b/source/lib/ldb/Makefile.in
@@ -19,6 +19,7 @@ SWIG = swig
 EXTRA_OBJ=@EXTRA_OBJ@
 TESTS=test-tdb.sh @TESTS@
 PACKAGE_VERSION = @PACKAGE_VERSION@
+PYTHON_CONFIG = @PYTHON_CONFIG@
 tdbdir = @tdbdir@
 ldbdir = $(srcdir)
 tallocdir = @tallocdir@
@@ -121,7 +122,7 @@ distclean:: clean
 realdistclean:: distclean
 	rm -f configure.in include/config.h.in
 
-check:: test
+check:: test @PYTHON_CHECK_TARGET@
 
 check-soloading: sample_module.$(SHLIBEXT)
 	LDB_MODULES_PATH=$(builddir) $(srcdir)/tests/test-soloading.sh
diff --git a/source/lib/ldb/configure.ac b/source/lib/ldb/configure.ac
index 176cef0..4d9444a 100644
--- a/source/lib/ldb/configure.ac
+++ b/source/lib/ldb/configure.ac
@@ -78,14 +78,18 @@ AC_LIBREPLACE_MDLD_FLAGS
 AC_LIBREPLACE_RUNTIME_LIB_PATH_VAR
 
 AC_PATH_PROGS([PYTHON_CONFIG], [python2.6-config python2.5-config python2.4-config python-config])
+AC_PATH_PROGS([PYTHON], [python2.6 python2.5 python2.4 python])
 
 PYTHON_BUILD_TARGET="build-python"
 PYTHON_INSTALL_TARGET="install-python"
+PYTHON_CHECK_TARGET="check-python"
 AC_SUBST(PYTHON_BUILD_TARGET)
 AC_SUBST(PYTHON_INSTALL_TARGET)
+AC_SUBST(PYTHON_CHECK_TARGET)
 
 if test -z "$PYTHON_CONFIG"; then
 	PYTHON_BUILD_TARGET=""	
+	PYTHON_CHECK_TARGET=""
 	PYTHON_INSTALL_TARGET=""	
 fi
 
diff --git a/source/lib/ldb/ldb.mk b/source/lib/ldb/ldb.mk
index b9aa24b..6d0ad44 100644
--- a/source/lib/ldb/ldb.mk
+++ b/source/lib/ldb/ldb.mk
@@ -65,18 +65,23 @@ examples/ldifreader: examples/ldifreader.o $(LIBS)
 	$(CC) -o examples/ldifreader examples/ldifreader.o $(LIB_FLAGS)
 
 # Python bindings
-build-python:: lib/libldb.$(SHLIBEXT) ldb_wrap.c
-	$(ldbdir)/setup.py build
+build-python:: _ldb.$(SHLIBEXT)
+
+ldb_wrap.o: $(ldbdir)/ldb_wrap.c
+	$(CC) -c $(ldbdir)/ldb_wrap.c $(CFLAGS) `$(PYTHON_CONFIG) --cflags`
+	
+_ldb.$(SHLIBEXT): $(LIBS) ldb_wrap.o
+	$(SHLD) $(SHLD_FLAGS) -o _ldb.$(SHLIBEXT) ldb_wrap.o $(LIB_FLAGS)
 
 install-python:: build-python
-	$(ldbdir)/setup.py install --prefix=$(DESTDIR)$(prefix)
+	cp $(ldbdir)/ldb.py $(DESTDIR)`$(PYTHON) -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(0)"`
+	cp _ldb.$(SHLIBEXT) $(DESTDIR)`$(PYTHON) -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(1)"`
 
 install-swig::
 	cp ldb.i `$(SWIG) -swiglib`
 
 check-python:: build-python
-	# FIXME: This isn't portable
-	LD_LIBRARY_PATH=lib PYTHONPATH=.:build/lib.linux-i686-2.4/ trial tests/python/api.py
+	LD_LIBRARY_PATH=lib PYTHONPATH=.:$(ldbdir) $(PYTHON) $(ldbdir)/tests/python/api.py
 
-clean-python::
-	$(ldbdir)/setup.py clean
+clean::
+	rm -f _ldb.$(SHLIBEXT)
diff --git a/source/lib/ldb/setup.py b/source/lib/ldb/setup.py
deleted file mode 100755
index b04f3b0..0000000
--- a/source/lib/ldb/setup.py
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/python
-from distutils.core import setup
-from distutils.extension import Extension
-
-setup(name="ldb",
-      version="1.0",
-      url="http://ldb.samba.org/",
-      author="LDB Developers",
-      author_email="ldb at samba.org",
-      license="LGPLv3",
-      keywords=["ldap","ldb","db","ldif"],
-      py_modules=["ldb"],
-      ext_modules=[Extension('_ldb', ['ldb_wrap.c'], include_dirs=['include'],
-                             library_dirs=["lib"], libraries=['ldb'])],
-      )
diff --git a/source/lib/ldb/tests/python/api.py b/source/lib/ldb/tests/python/api.py
index d5346c3..5f3f727 100755
--- a/source/lib/ldb/tests/python/api.py
+++ b/source/lib/ldb/tests/python/api.py
@@ -418,3 +418,6 @@ class ModuleTests(unittest.TestCase):
     def test_register_module(self):
         ldb.register_module(ExampleModule())
 
+if __name__ == '__main__':
+    import unittest
+    unittest.TestProgram()
diff --git a/source/lib/tdb/Makefile.in b/source/lib/tdb/Makefile.in
index 9730dff..8c79f6e 100644
--- a/source/lib/tdb/Makefile.in
+++ b/source/lib/tdb/Makefile.in
@@ -22,8 +22,12 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
 PICFLAG = @PICFLAG@
 SHLIBEXT = @SHLIBEXT@
 SWIG = swig
+PYTHON = @PYTHON@
+PYTHON_CONFIG = @PYTHON_CONFIG@
 PYTHON_BUILD_TARGET = @PYTHON_BUILD_TARGET@
 PYTHON_INSTALL_TARGET = @PYTHON_INSTALL_TARGET@
+PYTHON_CHECK_TARGET = @PYTHON_CHECK_TARGET@
+LIB_PATH_VAR = @LIB_PATH_VAR@
 tdbdir = @tdbdir@
 
 TDB_OBJ = @TDB_OBJ@ @LIBREPLACEOBJ@
@@ -39,7 +43,7 @@ $(SOLIB): $(TDB_OBJ)
 
 check: test
 
-test:: 
+test:: $(PYTHON_CHECK_TARGET)
 installcheck:: test install
 
 clean::
diff --git a/source/lib/tdb/configure.ac b/source/lib/tdb/configure.ac
index 5747107..9b16a82 100644
--- a/source/lib/tdb/configure.ac
+++ b/source/lib/tdb/configure.ac
@@ -11,15 +11,20 @@ AC_LD_PICFLAG
 AC_LD_SHLIBEXT
 AC_LIBREPLACE_SHLD
 AC_LIBREPLACE_SHLD_FLAGS
+AC_LIBREPLACE_RUNTIME_LIB_PATH_VAR
 m4_include(libtdb.m4)
 AC_PATH_PROGS([PYTHON_CONFIG], [python2.6-config python2.5-config python2.4-config python-config])
+AC_PATH_PROGS([PYTHON], [python2.6 python2.5 python2.4 python])
 
 PYTHON_BUILD_TARGET="build-python"
 PYTHON_INSTALL_TARGET="install-python"
+PYTHON_CHECK_TARGET="check-python"
 AC_SUBST(PYTHON_BUILD_TARGET)
 AC_SUBST(PYTHON_INSTALL_TARGET)
+AC_SUBST(PYTHON_CHECK_TARGET)
 if test -z "$PYTHON_CONFIG"; then
 	PYTHON_BUILD_TARGET=""
 	PYTHON_INSTALL_TARGET=""
+	PYTHON_CHECK_TARGET=""
 fi
 AC_OUTPUT(Makefile tdb.pc)
diff --git a/source/lib/tdb/python/tests/simple.py b/source/lib/tdb/python/tests/simple.py
index 1cc51ae..94407b6 100644
--- a/source/lib/tdb/python/tests/simple.py
+++ b/source/lib/tdb/python/tests/simple.py
@@ -142,3 +142,8 @@ class SimpleTdbTests(TestCase):
         self.assertEquals(0, len(self.tdb))
         self.tdb["entry"] = "value"
         self.assertEquals(1, len(self.tdb))
+
+
+if __name__ == '__main__':
+    import unittest
+    unittest.TestProgram()
diff --git a/source/lib/tdb/setup.py b/source/lib/tdb/setup.py
deleted file mode 100755
index 8be0c67..0000000
--- a/source/lib/tdb/setup.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/python
-from distutils.core import setup
-from distutils.extension import Extension
-
-setup(name='tdb',
-      version='1.0',
-      url="http://tdb.samba.org/",
-      py_modules=["tdb"],
-      ext_modules=[Extension('_tdb', ['tdb_wrap.c'], include_dirs=['include'],
-          library_dirs=["."], libraries=['tdb'])],
-)
diff --git a/source/lib/tdb/tdb.mk b/source/lib/tdb/tdb.mk
index d6118dd..976589f 100644
--- a/source/lib/tdb/tdb.mk
+++ b/source/lib/tdb/tdb.mk
@@ -33,25 +33,30 @@ clean::
 	rm -f $(SONAME) $(SOLIB) libtdb.a libtdb.$(SHLIBEXT)
 	rm -f $(ALL_PROGS) tdb.pc
 
-build-python:: libtdb.$(SHLIBEXT) tdb_wrap.c
-	$(tdbdir)/setup.py build
+build-python:: _tdb.$(SHLIBEXT) 
+
+tdb_wrap.o: $(tdbdir)/tdb_wrap.c
+	$(CC) -c $(tdbdir)/tdb_wrap.c $(CFLAGS) `$(PYTHON_CONFIG) --cflags`
+
+_tdb.$(SHLIBEXT): libtdb.$(SHLIBEXT) tdb_wrap.o
+	$(SHLD) $(SHLD_FLAGS) -o $@ tdb_wrap.o -L. -ltdb `$(PYTHON_CONFIG) --libs`
 
 install:: installdirs installbin installheaders installlibs \
 		  $(PYTHON_INSTALL_TARGET)
 
-installpython:: build-python
-	./setup.py install --prefix=$(DESTDIR)$(prefix)
+install-python:: build-python
+	cp $(tdbdir)/tdb.py $(DESTDIR)`$(PYTHON) -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(0)"`
+	cp _tdb.$(SHLIBEXT) $(DESTDIR)`$(PYTHON) -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(1)"`
 
 check-python:: build-python
-	# FIXME: Should be more portable:
-	LD_LIBRARY_PATH=. PYTHONPATH=.:build/lib.linux-i686-2.4 trial python/tests/simple.py
+	$(LIB_PATH_VAR)=. PYTHONPATH=".:$(tdbdir)" $(PYTHON) $(tdbdir)/python/tests/simple.py
 
 install-swig::
 	mkdir -p $(DESTDIR)`$(SWIG) -swiglib`
 	cp tdb.i $(DESTDIR)`$(SWIG) -swiglib`
 
-clean-python::
-	./setup.py clean
+clean::
+	rm -f _tdb.$(SHLIBEXT)
 
 installdirs::
 	mkdir -p $(DESTDIR)$(bindir)
@@ -77,5 +82,3 @@ libtdb.$(SHLIBEXT): $(SOLIB)
 
 $(SONAME): $(SOLIB)
 	ln -fs $< $@
-
-


-- 
Samba Shared Repository


More information about the samba-cvs mailing list