--- ctdb/wscript.orig 2020-01-31 10:25:36 UTC +++ ctdb/wscript @@ -104,6 +104,9 @@ def options(opt): opt.add_option('--enable-ceph-reclock', help=("Enable Ceph CTDB recovery lock helper (default=no)"), action="store_true", dest='ctdb_ceph_reclock', default=False) + opt.add_option('--disable-ctdb-tests', + help=("Disable CTDB tests (default=no)"), + action="store_true", dest='ctdb_no_tests', default=False) opt.add_option('--with-logdir', help=("Path to log directory"), @@ -261,7 +264,7 @@ def configure(conf): if Options.options.ctdb_ceph_reclock: if (conf.CHECK_HEADERS('rados/librados.h', False, False, 'rados') and - conf.CHECK_LIB('rados', shlib=True)): + conf.CHECK_LIB('rados', shlib=True)): Logs.info('Building with Ceph librados recovery lock support') conf.define('HAVE_LIBRADOS', 1) else: @@ -300,9 +303,15 @@ def configure(conf): conf.env.CTDB_VARDIR, conf.env.CTDB_RUNDIR)) - conf.env.CTDB_TEST_DATADIR = os.path.join(conf.env.CTDB_DATADIR, 'tests') - conf.env.CTDB_TEST_LIBEXECDIR = os.path.join(conf.env.LIBEXECDIR, 'ctdb/tests') + if Options.options.ctdb_no_tests: + conf.env.ctdb_tests = False + else: + conf.env.ctdb_tests = True + if conf.env.ctdb_tests: + conf.env.CTDB_TEST_DATADIR = os.path.join(conf.env.CTDB_DATADIR, 'tests') + conf.env.CTDB_TEST_LIBEXECDIR = os.path.join(conf.env.LIBEXECDIR, 'ctdb/tests') + # Allow unified compilation and separate compilation of utilities # to find includes if not conf.env.standalone_ctdb: @@ -681,9 +690,9 @@ def build(bld): if bld.env.HAVE_LIBRADOS: bld.SAMBA_BINARY('ctdb_mutex_ceph_rados_helper', source='utils/ceph/ctdb_mutex_ceph_rados_helper.c', - deps='talloc tevent rados', - includes='include', - install_path='${CTDB_HELPER_BINDIR}') + deps='talloc tevent rados', + includes='include', + install_path='${CTDB_HELPER_BINDIR}') sed_expr1 = 's|/usr/local/var/lib/ctdb|%s|g' % (bld.env.CTDB_VARDIR) sed_expr2 = 's|/usr/local/etc/ctdb|%s|g' % (bld.env.CTDB_ETCDIR) @@ -859,6 +868,9 @@ def build(bld): for d in ['volatile', 'persistent', 'state']: bld.INSTALL_DIR(os.path.join(bld.env.CTDB_VARDIR, d)) + + if not bld.env.ctdb_tests: + return bld.SAMBA_BINARY('errcode', source='tests/src/errcode.c',