summaryrefslogtreecommitdiff
path: root/lib/tdb/wscript
AgeCommit message (Collapse)AuthorFilesLines
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
2010-04-06s4-waf: fixed finding of buildtools and srcdirAndrew Tridgell1-7/+6
2010-04-06s4-waf: avoid having to run waf configure before waf distAndrew Tridgell1-2/+3
This should be useful for building tarballs from a clean checkout
2010-04-06s4-waf: allow standalone tarball build of librariesAndrew Tridgell1-2/+9
2010-04-06s4-waf: added 'waf dist' to our standalone libs as wellAndrew Tridgell1-1/+3
2010-04-06s4-waf: added implied_deps for system librariesAndrew Tridgell1-1/+2
when we use a system version of a library such as talloc, then we no longer get the automtica dependency propogation of talloc implying libreplace. That means we don't get the includes for libreplace, which means things can fail to build. To fix this this change adds an implied_deps option to CHECK_BUNDLED_SYSTEM(), which tells the samba_deps module to add an implied dependency on the listed targets if the system library is chosen.
2010-04-06s4-waf: support the use of system librariesAndrew Tridgell1-5/+10
distros can set --bundled-libraries=NONE to force use of all system libraries. If the right version isn't found then configure will fail. Users may choose which libraries to use from the system, and which to use bundled libs. The default is to try system libs, and use them if their version matches the one in the source tree.
2010-04-06s4-waf: set default for bundled librariesAndrew Tridgell1-1/+2
2010-04-06s4-waf: set the bundled library extension for some libsAndrew Tridgell1-0/+1
2010-04-06s4-waf: mark the wscript files as python so vim/emacs knows how to highlight ↵Andrew Tridgell1-0/+2
them
2010-04-06s4-waf: fdatasync is in librt on solaris8Andrew Tridgell1-1/+1
2010-04-06build: only enable pytdb on s4 buildAndrew Tridgell1-0/+3
2010-04-06build: enable pytdbAndrew Tridgell1-0/+6
2010-04-06build: result of hack session with itaAndrew Tridgell1-1/+1
2010-04-06build: started to split up wafsamba.py into separate modulesAndrew Tridgell1-0/+5
2010-04-06build: added BUILD_SUBDIR() wrapperAndrew Tridgell1-1/+1
2010-04-06build: added ADD_CFLAGS() and started of Samba4 buildAndrew Tridgell1-1/+1
2010-04-06build: tdb does not depend on tallocAndrew Tridgell1-1/+1
2010-04-06build: added waf build rules for ldbAndrew Tridgell1-3/+3
2010-04-06build: neater way to find libreplace and start on tevent waf buildAndrew Tridgell1-9/+16
2010-04-06build: more binaries for waf tdb buildAndrew Tridgell1-0/+12
2010-04-06build: added waf build for tdbAndrew Tridgell1-0/+24