The branch, master has been updated via 587315f land-remote: Force running in foreground when pushing to master. via f1b62ea land-remote: Announce what address email is going to be sent to. via 20d3969 tdb: Only use system pytdb when using system tdb. via e805bf5 tdb: Support using system pytdb. via e604532 waf: Add function for checking for system python modules. via 6cd722d pytdb: Add __version__ attribute. via 8cec67f registry: Make a two more functions static. from 515c8f0 s3: Fix a pointer error
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 587315f75ddfd56f2b98a8dd886fff1c6730ca0d Author: Jelmer Vernooij <jel...@samba.org> Date: Mon Oct 4 13:53:02 2010 +0200 land-remote: Force running in foreground when pushing to master. commit f1b62eaa2cda7c92897ca9239573c67798a41f1a Author: Jelmer Vernooij <jel...@samba.org> Date: Mon Oct 4 13:51:34 2010 +0200 land-remote: Announce what address email is going to be sent to. commit 20d39691a8eecd57b27cb709a70c50bf572b8114 Author: Jelmer Vernooij <jel...@samba.org> Date: Mon Oct 4 13:39:32 2010 +0200 tdb: Only use system pytdb when using system tdb. commit e805bf52c9ed32bd53759996b5700c5d582a2a58 Author: Jelmer Vernooij <jel...@samba.org> Date: Mon Oct 4 13:38:39 2010 +0200 tdb: Support using system pytdb. commit e604532b495a82da09f3a5dea5fc2a0aa59590f7 Author: Jelmer Vernooij <jel...@samba.org> Date: Mon Oct 4 13:38:25 2010 +0200 waf: Add function for checking for system python modules. commit 6cd722d9507200a90b7c99dcb6749187aa757f87 Author: Jelmer Vernooij <jel...@samba.org> Date: Mon Oct 4 13:17:25 2010 +0200 pytdb: Add __version__ attribute. commit 8cec67fe61b1e6e64cab968ee43be424a91e56cd Author: Jelmer Vernooij <jel...@samba.org> Date: Mon Oct 4 01:35:36 2010 +0200 registry: Make a two more functions static. ----------------------------------------------------------------------- Summary of changes: buildtools/wafsamba/samba_bundled.py | 32 +++++++++++++++++++++++++++++++ lib/tdb/pytdb.c | 2 + lib/tdb/python/tests/simple.py | 6 +++++ lib/tdb/wscript | 16 ++++++++------ script/land-remote.py | 7 ++++- source4/lib/registry/patchfile_dotreg.c | 4 +- 6 files changed, 56 insertions(+), 11 deletions(-) Changeset truncated at 500 lines: diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py index c8d4967..27e5409 100644 --- a/buildtools/wafsamba/samba_bundled.py +++ b/buildtools/wafsamba/samba_bundled.py @@ -139,6 +139,38 @@ def CHECK_BUNDLED_SYSTEM(conf, libname, minversion='0.0.0', sys.exit(1) return False + +...@runonce +...@conf +def CHECK_BUNDLED_SYSTEM_PYTHON(conf, libname, modulename, minversion='0.0.0'): + '''check if a python module is available on the system and + has the specified minimum version. + ''' + if conf.LIB_MUST_BE_BUNDLED(libname): + return False + + # see if the library should only use a system version if another dependent + # system version is found. That prevents possible use of mixed library + # versions + minversion = minimum_library_version(conf, libname, minversion) + + try: + m = __import__(modulename) + except ImportError: + found = False + else: + try: + version = m.__version__ + except AttributeError: + found = False + else: + found = tuple(minversion.split(".")) >= tuple(version.split(".")) + if not found and not conf.LIB_MAY_BE_BUNDLED(libname): + Logs.error('ERROR: Python module %s of version %s not found, and bundling disabled' % (libname, minversion)) + sys.exit(1) + return found + + def NONSHARED_BINARY(bld, name): '''return True if a binary should be built without non-system shared libs''' if bld.env.DISABLE_SHARED: diff --git a/lib/tdb/pytdb.c b/lib/tdb/pytdb.c index 15fec21..b857438 100644 --- a/lib/tdb/pytdb.c +++ b/lib/tdb/pytdb.c @@ -592,6 +592,8 @@ void inittdb(void) PyModule_AddObject(m, "__docformat__", PyString_FromString("restructuredText")); + PyModule_AddObject(m, "__version__", PyString_FromString(PACKAGE_VERSION)); + Py_INCREF(&PyTdb); PyModule_AddObject(m, "Tdb", (PyObject *)&PyTdb); diff --git a/lib/tdb/python/tests/simple.py b/lib/tdb/python/tests/simple.py index 6386a28..f5484a0 100644 --- a/lib/tdb/python/tests/simple.py +++ b/lib/tdb/python/tests/simple.py @@ -165,6 +165,12 @@ class SimpleTdbTests(TestCase): self.tdb.remove_flags(tdb.NOMMAP) +class VersionTests(TestCase): + + def test_present(self): + self.assertTrue(isinstance(tdb.__version__, str)) + + if __name__ == '__main__': import unittest unittest.TestProgram() diff --git a/lib/tdb/wscript b/lib/tdb/wscript index 94f85cd..53f81fe 100644 --- a/lib/tdb/wscript +++ b/lib/tdb/wscript @@ -36,6 +36,8 @@ def configure(conf): if conf.CHECK_BUNDLED_SYSTEM('tdb', minversion=VERSION, implied_deps='replace'): conf.define('USING_SYSTEM_TDB', 1) + if conf.CHECK_BUNDLED_SYSTEM_PYTHON('pytdb', 'tdb', minversion=VERSION): + conf.define('USING_SYSTEM_PYTDB', 1) conf.env.disable_python = getattr(Options.options, 'disable_python', False) @@ -92,13 +94,13 @@ def build(bld): 'tools/tdbtool.c', 'tdb', manpages='manpages/tdbtool.8') - s4_build = getattr(bld.env, '_SAMBA_BUILD_', 0) == 4 - - bld.SAMBA_PYTHON('pytdb', - 'pytdb.c', - deps='tdb', - enabled=not bld.env.disable_python, - realname='tdb.so') + if not bld.CONFIG_SET('USING_SYSTEM_PYTDB'): + bld.SAMBA_PYTHON('pytdb', + 'pytdb.c', + deps='tdb', + enabled=not bld.env.disable_python, + realname='tdb.so', + cflags='-DPACKAGE_VERSION=\"%s\"' % VERSION) if bld.env.standalone_tdb: bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig' diff --git a/script/land-remote.py b/script/land-remote.py index 4a9c3fa..93178b5 100755 --- a/script/land-remote.py +++ b/script/land-remote.py @@ -37,13 +37,16 @@ parser.add_option("--fail-slowly", help="continue running tests even after one h if opts.email is None and os.getenv("EMAIL") is not None: opts.email = os.getenv("EMAIL") +if opts.email: + print "Sending email to %s" % opts.email + if not opts.foreground and not opts.email: print "Not running in foreground and --email not specified." sys.exit(1) if not opts.foreground and opts.push_master: - print "Unable to push to master when not running in foreground." - sys.exit(1) + print "Pushing to master, forcing run in foreground." + opts.foreground = True if not opts.remote_repo: print "%s$ mktemp -d" % opts.host diff --git a/source4/lib/registry/patchfile_dotreg.c b/source4/lib/registry/patchfile_dotreg.c index 33fd6b6..8fac00b 100644 --- a/source4/lib/registry/patchfile_dotreg.c +++ b/source4/lib/registry/patchfile_dotreg.c @@ -44,7 +44,7 @@ struct dotreg_data { * This is basically a copy of data_blob_hex_string_upper, but with comma's * between the bytes in hex. */ -_PUBLIC_ char *dotreg_data_blob_hex_string(TALLOC_CTX *mem_ctx, const DATA_BLOB *blob) +static char *dotreg_data_blob_hex_string(TALLOC_CTX *mem_ctx, const DATA_BLOB *blob) { size_t i; char *hex_string; @@ -67,7 +67,7 @@ _PUBLIC_ char *dotreg_data_blob_hex_string(TALLOC_CTX *mem_ctx, const DATA_BLOB * has no 0x for dwords, everything else is regarded as binary, and binary * strings are represented with bytes comma-separated. */ -_PUBLIC_ char *reg_val_dotreg_string(TALLOC_CTX *mem_ctx, uint32_t type, +static char *reg_val_dotreg_string(TALLOC_CTX *mem_ctx, uint32_t type, const DATA_BLOB data) { char *ret = NULL; -- Samba Shared Repository