--- ctdb/wscript.orig	2018-03-13 13:18:01 UTC
+++ ctdb/wscript
@@ -86,6 +86,9 @@ def set_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"),
@@ -210,7 +213,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:
@@ -246,9 +249,15 @@ def configure(conf):
                     conf.env.CTDB_VARDIR,
                     conf.env.CTDB_RUNDIR))
 
-    conf.env.CTDB_TEST_DATADIR = os.path.join(conf.env.EXEC_PREFIX,
-                                              'share/ctdb/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.EXEC_PREFIX,
+                                                    'share/ctdb/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
@@ -573,9 +582,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)
@@ -718,6 +727,9 @@ def build(bld):
     bld.install_dir(bld.env.CTDB_RUNDIR)
     bld.install_dir(bld.env.CTDB_VARDIR)
 
+    if not bld.env.ctdb_tests:
+        return
+
     # Unit tests
     ctdb_unit_tests = [
         'db_hash_test',
@@ -828,7 +840,9 @@ def build(bld):
                               ib_deps,
                          install_path='${CTDB_TEST_LIBEXECDIR}')
 
-    if bld.env.HAVE_ROBUST_MUTEXES and sys.platform.startswith('linux'):
+    if bld.env.HAVE_ROBUST_MUTEXES and (
+        sys.platform.startswith('linux') or sys.platform.startswith('freebsd')
+    ):
         bld.SAMBA_BINARY('test_mutex_raw',
                          source='tests/src/test_mutex_raw.c',
                          deps='pthread',
