summaryrefslogtreecommitdiff
path: root/lib/tdb/wscript
AgeCommit message (Collapse)AuthorFilesLines
2012-06-22tdb: make TDB_NOSYNC merely disable sync.Rusty Russell1-4/+0
(As suggested by Stefan Metzmacher, based on the change to ntdb.) Since commit ec96ea690edbe3398d690b4a953d487ca1773f1c, we handle the case where a process dies during a transaction commit. Unfortunately, TDB_NOSYNC means this no longer works, as it disables the recovery area as well as the actual msync/fsync. We should do everything except the syncs. This also means we can do a complete test with $TDB_NO_FSYNC set; just to get more complete coverage, we disable it explicitly for one test (where we override the actual sync calls anyway). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-06-22autobuild: always set TDB_NO_FSYNC.Rusty Russell1-0/+4
Then we unset it inside the tdb test target itself. This means that new code can't accidently forget it, and we can set it in the 'buildnice' script on sn-devel, for example. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-06-19tdb/wscript: Remove unecessary semicolons.Jelmer Vernooij1-4/+4
2012-03-29lib/tdb: Update ABIAmitay Isaacs1-1/+1
Signed-off-by: Amitay Isaacs <amitay@gmail.com> Autobuild-User: Rusty Russell <rusty@rustcorp.com.au> Autobuild-Date: Thu Mar 29 13:12:46 CEST 2012 on sn-devel-104
2012-03-10lib/tdb: fix tests for standalone out-of-tree.Rusty Russell1-1/+2
Commit 4d58d0fa8f936e7efdc02e31c053d42a47b3e62a didn't work for lib/tdb outside the build tree: symlink was pointing to wrong place. Copy simplification from lib/tdb2, and fix the build farm. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Autobuild-User: Rusty Russell <rusty@rustcorp.com.au> Autobuild-Date: Sat Mar 10 07:07:45 CET 2012 on sn-devel-104
2012-02-14tdb: build and run unit tests in tdb/test/Rusty Russell1-7/+87
Now we can build the test binaries: the CCAN style is to compile everything called "compile_ok*.c", compile and run everything called "run*.c", compile, link with the module, and run everything called "api*.c", and link any other C files (presumably test helpers) into all the tests. Unfortunately, actually passing that between the various parts of wscript is painful, so I open-coded the names. Also, the tests expect to be run in a (temporary) directory they can pollute, with the test directory found in test/ (to find the canned TDB files, for example). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Autobuild-User: Rusty Russell <rusty@rustcorp.com.au> Autobuild-Date: Tue Feb 14 06:53:46 CET 2012 on sn-devel-104
2011-11-13waf: Factor checking for undefined symbol flags out into separate method.Jelmer Vernooij1-0/+2
Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Sun Nov 13 19:38:38 CET 2011 on sn-devel-104
2011-11-13tdb: Only check for pkg-config file when checking for system tdb.Jelmer Vernooij1-1/+1
2011-08-21wafsamba: Only install .pc files if libraries are public.Jelmer Vernooij1-3/+1
2011-08-21tdb: Install pkg-config file.Jelmer Vernooij1-1/+3
2011-04-23Support the 'PYTHON' environment variable.Jelmer Vernooij1-0/+1
Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Sat Apr 23 04:19:05 CEST 2011 on sn-devel-104
2011-03-15lib: don't install public headers if a private libraryAndrew Tridgell1-0/+1
for talloc/tevent/tdb, only install headers if we are doing a standalone build
2011-03-15tdb: use public_headers to install header filesAndrew Tridgell1-1/+1
2011-02-22python: use os.environ[] instead of os.putenv()Andrew Tridgell1-1/+1
using os.putenv() causes too much confusion, as it doesn't update os.getenv() Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-12-29tdb: tdb_summary() support.Rusty Russell1-2/+2
Autobuild-User: Rusty Russell <rusty@rustcorp.com.au> Autobuild-Date: Wed Dec 29 10:12:05 CET 2010 on sn-devel-104
2010-12-27tdb: setup TEST_DATA_PREFIX for make testStefan Metzmacher1-1/+5
metze
2010-12-21tdb: Bump version number after symbol versioning changes.Jelmer Vernooij1-1/+1
2010-12-10build: introduce SAMBA_CHECK_PYTHON_HEADERSMatthieu Patou1-1/+1
This function is a wrapper around waf's check_python_header. It avoids searching more than once for the headers bringing a small speed improvement and a better lisibility of the logs. But it's mainly to avoid a nasty bug when python libraries are in path pointed by python_LIBPL (ie. /usr/local/lib/python2.6/config/) instead of python_LIBDIR (ie. /usr/local/lib). On the first call waf will correctly find that in order to link with python libs it needs to add -L$python_LIBPL. But on the next calls of check_python_headers, waf will use both the current library path value (ie. -L/usr/local/lib/python2.6/config) and -L$python_LIBDIR (ie. /usr/local/lib/) which will make him beleive that python libraries are in $python_LIBDIR which at the end will make the final link test fails in check_python_headers as it will not use the good directory. So by avoiding calling check_python_headers more than once we avoid making waf fooling itself.
2010-12-09waf: remove the restriction that private libraries must not have a vnumAndrew Tridgell1-3/+1
we need the vnum for ABI checking for public libraries built as private libraries when bundled Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Thu Dec 9 12:47:41 CET 2010 on sn-devel-104
2010-12-09waf-abi: auto-generate per-symbol versions from ABI filesAndrew Tridgell1-1/+1
This changes our version-script generation to use the ABI files that are saved in git with each version number change of our public libraries. We use these ABI files to generate a linker version script that gives the exact version number that each symbol was introduced. This provides us with automatic fine grained symbol versioning. Pair-Programmed-With: Jelmer Vernooij <jelmer@samba.org> Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-11-03waf: added reconfigure targets to our librariesAndrew Tridgell1-0/+5
This allows you to do "make reconfigure" to re-run configure only if needed
2010-10-26waf: Only specify vnum for non-private libraries.Jelmer Vernooij1-6/+12
2010-10-23waf: Rename some BUNDLED_ functios to PRIVATE_.Jelmer Vernooij1-1/+1
2010-10-21waf: replace the is_bundled option with private_libraryAndrew Tridgell1-1/+1
'private_library' better captures what we are trying to get at when we bundle a library
2010-10-21s4-build: fixed some formattingAndrew Tridgell1-1/+2
indentation was far too deep
2010-10-17tdb: Bump version to 1.2.7 after addition of pytdb.__version__.Jelmer Vernooij1-1/+1
Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Sun Oct 17 18:23:16 UTC 2010 on sn-devel-104
2010-10-07waf: fixed exit status of test suitesAndrew Tridgell1-2/+4
use RUN_COMMAND() to handle signal errors and exit status
2010-10-04tdb: Only use system pytdb when using system tdb.Jelmer Vernooij1-2/+2
2010-10-04tdb: Support using system pytdb.Jelmer Vernooij1-8/+9
2010-10-04pytdb: Add __version__ attribute.Jelmer Vernooij1-1/+2
2010-09-27tdb: TDB_INCOMPATIBLE_HASH, to allow safe changing of default hash.Rusty Russell1-1/+1
This flag to tdb_open/tdb_open_ex effects creation of a new database: 1) Uses the Jenkins lookup3 hash instead of the old gdbm hash if none is specified, 2) Places a non-zero field in header->rwlocks, so older versions of TDB will refuse to open it. This means that the caller (ie Samba) can set this flag to safely change the hash function. Versions of TDB from this one on will either use the correct hash or refuse to open (if a different hash is specified). Older TDB versions will see the nonzero rwlocks field and refuse to open it under any conditions. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2010-09-27tdb: add Bob Jenkins lookup3 hash as helper hash.Rusty Russell1-2/+2
This is a better hash than the default: shipping it with tdb makes it easy for callers to use it as the hash by passing it to tdb_open_ex(). This version taken from CCAN and modified, which took it from http://www.burtleburtle.net/bob/c/lookup3.c. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2010-09-23tdb: add restoreVolker Lendecke1-0/+4
Based on an idea by Simon McVittie, largely rewritten
2010-09-13lib/tdb: change version to 1.2.4 after hash checking improvmentsStefan Metzmacher1-1/+1
lib/tdb: change version to 1.2.4 after hash checking improvments metze Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2010-08-31tdb/waf: the deps for rt are provided by libreplaceBjörn Jacke1-1/+1
2010-08-14tdb: workaround starvation problem in locking entire database.Rusty Russell1-1/+1
We saw tdb_lockall() take 71 seconds under heavy load; this is because Linux (at least) doesn't prevent new small locks being obtained while we're waiting for a big log. The workaround is to do divide and conquer using non-blocking chainlocks: if we get down to a single chain we block. Using a simple test program where children did "hold lock for 100ms, sleep for 1 second" the time to do tdb_lockall() dropped signifiantly. There are ln(hashsize) locks taken in the contended case, but that's slow anyway. More analysis is given in my blog at http://rusty.ozlabs.org/?p=120 This may also help transactions, though in that case it's the initial read lock which uses this gradual locking routine; the update-to-write-lock code is separate and still tries to update in one go. Even though ABI doesn't change, minor version bumped so behavior change can be easily detected. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2010-06-24s4-ldb: use CHECK_XSLTPROC_MANPAGES()Andrew Tridgell1-2/+1
2010-06-19wafsamba: Fix typo: noextenion -> noextension.Jelmer Vernooij1-1/+1
2010-05-31tdb-waf: Don't install binaries when using system tdb.Jelmer Vernooij1-17/+17
2010-05-31tdb-waf: Simplify manpage handling.Jelmer Vernooij1-17/+4
2010-05-31s4-waf: sanitize library names like the old build system did, only addJelmer Vernooij1-1/+1
-samba4 suffix for libraries that are bundled.
2010-04-21build: make python development headers not mandatory in standalone libsAndrew Tridgell1-1/+1
This needed an update to the python tool in waf thanks to Kai for spotting this
2010-04-20tdb: update tdb ABI to use hide_symbols=TrueAndrew Tridgell1-1/+2
We now use -fvisibilty=hidden to hide symbols from outside the tdb shared library. This also moved tdb_transaction_recover() into the tdb_private.h header, as it should never have been a public API. For that reason we are changing the version number. We're only doing a minor version increment as it is extremely unlikely that anyone was actually using tdb_transaction_recover() as its locking requirements were rather unusual. Pair-Programmed-With: Rusty Russell <rusty@samba.org>
2010-04-18tdb-waf: added ABI checking for tdbAndrew Tridgell1-0/+2
2010-04-13s4-waf: don't try to use the system lib for the library buildAndrew Tridgell1-5/+6
when building library FOO, don't try to find the system library FOO Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-04-13tdb-waf: added build of manpages and config options for RPM buildAndrew Tridgell1-3/+44
Building a RPM from the fedora spec file now works with minimal changes Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-04-06s4-waf: fixed waf distcheck for our standalone libs and s4Andrew Tridgell1-0/+4
2010-04-06s4-waf: added simple 'waf test' support for tdb, talloc and ldbAndrew Tridgell1-0/+6
2010-04-06s4-waf: use a common pattern for finding buildtools and libsAndrew Tridgell1-11/+7
2010-04-06s4-waf: move to a universal method of recursing into subdirsAndrew Tridgell1-3/+3
This works with both standalone lib builds and bundled builds