samba_master = os.getenv('SAMBA_MASTER', 'git://git.samba.org/samba.git')
samba_master_ssh = os.getenv('SAMBA_MASTER_SSH', 'git+ssh://git.samba.org/data/git/samba.git')
+# This speeds up testing remarkably.
+os.environ['TDB_NO_FSYNC'] = '1'
+
cleanup_list = []
builddirs = {
"samba3" : "source3",
- "samba4" : ".",
- "samba4-libs" : ".",
+ "samba3-ctdb" : "source3",
+ "samba" : ".",
+ "samba-ctdb" : ".",
+ "samba-libs" : ".",
"ldb" : "lib/ldb",
"tdb" : "lib/tdb",
- "tdb2" : "lib/tdb2",
+ "ntdb" : "lib/ntdb",
"talloc" : "lib/talloc",
"replace" : "lib/replace",
"tevent" : "lib/tevent",
"retry" : "."
}
-defaulttasks = [ "samba3", "samba4", "samba4-libs", "ldb", "tdb", "tdb2", "talloc", "replace", "tevent", "pidl" ]
+defaulttasks = [ "samba3", "samba3-ctdb", "samba", "samba-ctdb", "samba-libs", "ldb", "tdb", "ntdb", "talloc", "replace", "tevent", "pidl" ]
tasks = {
"samba3" : [ ("autogen", "./autogen.sh", "text/plain"),
# we split 'make -j 4', 'make bin/smbtorture4' and 'make -j 4 everything'
# because it makes it much easier to find errors.
("make", "make -j 4", "text/plain"), # don't use too many processes
- ("make bin/smbtorture4", "make -j 4 bin/smbtorture4", "text/plain"),
+ ("make bin/smbtorture4", "make bin/smbtorture4", "text/plain"),
("make everything", "make -j 4 everything", "text/plain"),
("install", "make install", "text/plain"),
- ("test", "TDB_NO_FSYNC=1 make test FAIL_IMMEDIATELY=1", "text/plain"),
+ ("test", "make test FAIL_IMMEDIATELY=1", "text/plain"),
("check-clean-tree", "../script/clean-source-tree.sh", "text/plain"),
("clean", "make clean", "text/plain") ],
- # We have 'test' before 'install' because, 'test' should work without 'install'
- "samba4" : [ ("configure", "./configure.developer ${PREFIX} --with-selftest-prefix=./bin/ab", "text/plain"),
- ("make", "make -j", "text/plain"),
- ("test", "TDB_NO_FSYNC=1 make test FAIL_IMMEDIATELY=1", "text/plain"),
- ("install", "make install", "text/plain"),
- ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"),
- ("clean", "make clean", "text/plain") ],
+ "samba3-ctdb" : [ ("random-sleep", "../script/random-sleep.sh 60 600", "text/plain"),
+ ("autogen", "./autogen.sh", "text/plain"),
+ ("configure", "./configure.developer ${PREFIX} --with-cluster-support --with-ctdb=../ctdb", "text/plain"),
+ ("make basics", "make basics", "text/plain"),
+ ("make", "make all", "text/plain"), # don't use too many processes
+ ("check", "LD_LIBRARY_PATH=./bin ./bin/smbd -b | grep CLUSTER_SUPPORT", "text/plain"),
+ ("check-clean-tree", "../script/clean-source-tree.sh", "text/plain"),
+ ("clean", "make clean", "text/plain") ],
- "samba4-libs" : [ ("talloc-configure", "cd lib/talloc && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --abi-check --enable-debug -C ${PREFIX}", "text/plain"),
- ("talloc-make", "cd lib/talloc && make -j", "text/plain"),
+ # We have 'test' before 'install' because, 'test' should work without 'install'
+ "samba" : [ ("configure", "./configure.developer ${PREFIX} --with-selftest-prefix=./bin/ab", "text/plain"),
+ ("make", "make -j", "text/plain"),
+ ("test", "make test FAIL_IMMEDIATELY=1", "text/plain"),
+ ("install", "make install", "text/plain"),
+ ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"),
+ ("clean", "make clean", "text/plain") ],
+
+ "samba-ctdb" : [ ("random-sleep", "script/random-sleep.sh 60 600", "text/plain"),
+
+ # make sure we have tdb around:
+ ("tdb-configure", "cd lib/tdb && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --abi-check --enable-debug -C ${PREFIX}", "text/plain"),
+ ("tdb-make", "cd lib/tdb && make", "text/plain"),
+ ("tdb-install", "cd lib/tdb && make install", "text/plain"),
+
+ # install the ctdb headers under the prefix:
+ ("ctdb-header-install", "cp ./ctdb/include/* ${PREFIX_DIR}/include", "text/plain"),
+ ("ctdb-header-ls", "ls ${PREFIX_DIR}/include/ctdb.h", "text/plain"),
+
+ ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure.developer ${PREFIX} --with-selftest-prefix=./bin/ab --with-cluster-support --with-ctdb-dir=${PREFIX_DIR} --bundled-libraries=!tdb", "text/plain"),
+ ("make", "make", "text/plain"),
+ ("check", "./bin/smbd -b | grep CLUSTER_SUPPORT", "text/plain"),
+ ("install", "make install", "text/plain"),
+ ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"),
+ ("clean", "make clean", "text/plain") ],
+
+ "samba-libs" : [
+ ("random-sleep", "script/random-sleep.sh 60 600", "text/plain"),
+ ("talloc-configure", "cd lib/talloc && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --abi-check --enable-debug -C ${PREFIX}", "text/plain"),
+ ("talloc-make", "cd lib/talloc && make", "text/plain"),
("talloc-install", "cd lib/talloc && make install", "text/plain"),
("tdb-configure", "cd lib/tdb && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --abi-check --enable-debug -C ${PREFIX}", "text/plain"),
- ("tdb-make", "cd lib/tdb && make -j", "text/plain"),
+ ("tdb-make", "cd lib/tdb && make", "text/plain"),
("tdb-install", "cd lib/tdb && make install", "text/plain"),
("tevent-configure", "cd lib/tevent && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --abi-check --enable-debug -C ${PREFIX}", "text/plain"),
- ("tevent-make", "cd lib/tevent && make -j", "text/plain"),
+ ("tevent-make", "cd lib/tevent && make", "text/plain"),
("tevent-install", "cd lib/tevent && make install", "text/plain"),
- ("ldb-configure", "cd lib/ldb && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --disable-tdb2 --abi-check --enable-debug -C ${PREFIX}", "text/plain"),
- ("ldb-make", "cd lib/ldb && make -j", "text/plain"),
+ ("ldb-configure", "cd lib/ldb && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --abi-check --enable-debug -C ${PREFIX}", "text/plain"),
+ ("ldb-make", "cd lib/ldb && make", "text/plain"),
("ldb-install", "cd lib/ldb && make install", "text/plain"),
- ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=!talloc,!tdb,!pytdb,!ldb,!pyldb,!tevent,!pytevent --disable-tdb2 --abi-check --enable-debug -C ${PREFIX}", "text/plain"),
- ("make", "make -j", "text/plain"),
+ ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=!talloc,!tdb,!pytdb,!ldb,!pyldb,!tevent,!pytevent --abi-check --enable-debug -C ${PREFIX}", "text/plain"),
+ ("make", "make", "text/plain"),
("install", "make install", "text/plain")],
- "ldb" : [ ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"),
- ("make", "make -j", "text/plain"),
+ "ldb" : [
+ ("random-sleep", "../../script/random-sleep.sh 60 600", "text/plain"),
+ ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"),
+ ("make", "make", "text/plain"),
("install", "make install", "text/plain"),
- ("test", "TDB_NO_FSYNC=1 make test", "text/plain"),
+ ("test", "make test", "text/plain"),
("check-clean-tree", "../../script/clean-source-tree.sh", "text/plain"),
("distcheck", "make distcheck", "text/plain"),
("clean", "make clean", "text/plain") ],
- # We don't use TDB_NO_FSYNC=1 here, because we want to test the transaction code
- "tdb" : [ ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"),
- ("make", "make -j", "text/plain"),
+ "tdb" : [
+ ("random-sleep", "../../script/random-sleep.sh 60 600", "text/plain"),
+ ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"),
+ ("make", "make", "text/plain"),
("install", "make install", "text/plain"),
("test", "make test", "text/plain"),
("check-clean-tree", "../../script/clean-source-tree.sh", "text/plain"),
("distcheck", "make distcheck", "text/plain"),
("clean", "make clean", "text/plain") ],
- "tdb2" : [ ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"),
- ("make", "make -j", "text/plain"),
+ "ntdb" : [
+ ("random-sleep", "../../script/random-sleep.sh 60 600", "text/plain"),
+ ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"),
+ ("make", "make", "text/plain"),
("install", "make install", "text/plain"),
("test", "make test", "text/plain"),
("check-clean-tree", "../../script/clean-source-tree.sh", "text/plain"),
("distcheck", "make distcheck", "text/plain"),
("clean", "make clean", "text/plain") ],
- "talloc" : [ ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"),
- ("make", "make -j", "text/plain"),
+ "talloc" : [
+ ("random-sleep", "../../script/random-sleep.sh 60 600", "text/plain"),
+ ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"),
+ ("make", "make", "text/plain"),
("install", "make install", "text/plain"),
("test", "make test", "text/plain"),
("check-clean-tree", "../../script/clean-source-tree.sh", "text/plain"),
("distcheck", "make distcheck", "text/plain"),
("clean", "make clean", "text/plain") ],
- "replace" : [ ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"),
- ("make", "make -j", "text/plain"),
+ "replace" : [
+ ("random-sleep", "../../script/random-sleep.sh 60 600", "text/plain"),
+ ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"),
+ ("make", "make", "text/plain"),
("install", "make install", "text/plain"),
("test", "make test", "text/plain"),
("check-clean-tree", "../../script/clean-source-tree.sh", "text/plain"),
("distcheck", "make distcheck", "text/plain"),
("clean", "make clean", "text/plain") ],
- "tevent" : [ ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"),
- ("make", "make -j", "text/plain"),
+ "tevent" : [
+ ("random-sleep", "../../script/random-sleep.sh 60 600", "text/plain"),
+ ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"),
+ ("make", "make", "text/plain"),
("install", "make install", "text/plain"),
("test", "make test", "text/plain"),
("check-clean-tree", "../../script/clean-source-tree.sh", "text/plain"),
("distcheck", "make distcheck", "text/plain"),
("clean", "make clean", "text/plain") ],
- "pidl" : [ ("configure", "perl Makefile.PL PREFIX=${PREFIX_DIR}", "text/plain"),
+ "pidl" : [
+ ("random-sleep", "../script/random-sleep.sh 60 600", "text/plain"),
+ ("configure", "perl Makefile.PL PREFIX=${PREFIX_DIR}", "text/plain"),
("touch", "touch *.yp", "text/plain"),
("make", "make", "text/plain"),
("test", "make test", "text/plain"),