summaryrefslogtreecommitdiff
path: root/ctdb/wscript
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2015-08-17 20:47:58 +1000
committerMichael Adam <obnox@samba.org>2015-09-15 08:56:21 +0200
commitb933b91a0b03969eea73bb986f94e6c1d2e4887c (patch)
treea93be5e13d08235008de7299abb369b95930f837 /ctdb/wscript
parent56fd37ba0dc26f14261dee5e12f1dbcddf8b6779 (diff)
downloadsamba-b933b91a0b03969eea73bb986f94e6c1d2e4887c.tar.gz
ctdb-scripts: Update important installed files to use build-time defaults
In this case: ctdbd_wrapper, onnode, ctdb_diagnostics, ctdb.sudoers. Set sensible defaults from configure options. Update documentation to match, trying to fix up anything that has been missed before. The onnode unit tests need a symlink to the functions file. The simple integration tests need to set CTDB_BASE and also need symlinks to functions/nodes. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Jose A. Rivera <jarrpa@samba.org> Reviewed-by: Michael Adam <obnox@samba.org> fixup Signed-off-by: Martin Schwenke <martin@meltin.net>
Diffstat (limited to 'ctdb/wscript')
-rwxr-xr-xctdb/wscript44
1 files changed, 39 insertions, 5 deletions
diff --git a/ctdb/wscript b/ctdb/wscript
index c8dd44e4366..a883872e05d 100755
--- a/ctdb/wscript
+++ b/ctdb/wscript
@@ -449,7 +449,12 @@ def build(bld):
destname='README')
sed_expr1 = 's|/usr/local/var/lib/ctdb|%s|g' % (bld.env.CTDB_VARDIR)
- sed_cmdline = '-e "%s"' % (sed_expr1)
+ sed_expr2 = 's|/usr/local/etc/ctdb|%s|g' % (bld.env.CTDB_ETCDIR)
+ sed_expr3 = 's|/usr/local/var/log|%s|g' % (bld.env.CTDB_LOGDIR)
+ sed_expr4 = 's|/usr/local/var/run/ctdb|%s|g' % (bld.env.CTDB_RUNDIR)
+ sed_expr5 = 's|/usr/local/sbin|%s|g' % (bld.env.SBINDIR)
+ sed_cmdline = '-e "%s" -e "%s" -e "%s" -e "%s" -e "%s"' % \
+ (sed_expr1, sed_expr2, sed_expr3, sed_expr4, sed_expr5)
for f in manpages:
x = '%s.xml' % (f)
@@ -463,11 +468,25 @@ def build(bld):
ctdb.7 ctdb-statistics.7 ctdb-tunables.7''',
True)
- bld.INSTALL_FILES('${BINDIR}', 'tools/onnode',
+ bld.SAMBA_GENERATOR('ctdb-onnode',
+ source='tools/onnode',
+ target='onnode',
+ rule='sed %s ${SRC} > ${TGT}' % (sed_cmdline))
+ bld.INSTALL_FILES('${BINDIR}', 'onnode',
destname='onnode', chmod=0755)
- bld.INSTALL_FILES('${BINDIR}', 'tools/ctdb_diagnostics',
+
+ bld.SAMBA_GENERATOR('ctdb-diagnostics',
+ source='tools/ctdb_diagnostics',
+ target='ctdb_diagnostics',
+ rule='sed %s ${SRC} > ${TGT}' % (sed_cmdline))
+ bld.INSTALL_FILES('${BINDIR}', 'ctdb_diagnostics',
destname='ctdb_diagnostics', chmod=0755)
- bld.INSTALL_FILES('${SBINDIR}', 'config/ctdbd_wrapper',
+
+ bld.SAMBA_GENERATOR('ctdbd-wrapper',
+ source='config/ctdbd_wrapper',
+ target='ctdbd_wrapper',
+ rule='sed %s ${SRC} > ${TGT}' % (sed_cmdline))
+ bld.INSTALL_FILES('${SBINDIR}', 'ctdbd_wrapper',
destname='ctdbd_wrapper', chmod=0755)
def SUBDIR_MODE_callback(arg, dirname, fnames):
@@ -521,7 +540,11 @@ def build(bld):
bld.INSTALL_FILES(bld.env.CTDB_ETCDIR, 'config/%s' % t,
destname=t, chmod=0755)
- bld.INSTALL_FILES('${SYSCONFDIR}/sudoers.d', 'config/ctdb.sudoers',
+ bld.SAMBA_GENERATOR('ctdb-sudoers',
+ source='config/ctdb.sudoers',
+ target='ctdb.sudoers',
+ rule='sed %s ${SRC} > ${TGT}' % (sed_cmdline))
+ bld.INSTALL_FILES('${SYSCONFDIR}/sudoers.d', 'ctdb.sudoers',
destname='ctdb')
bld.INSTALL_FILES('${CTDB_ETCDIR}/notify.d', 'config/notify.d.README',
@@ -665,6 +688,17 @@ def build(bld):
bld.symlink_as(os.path.join(test_link_dir, t),
os.path.join(bld.env.CTDB_ETCDIR, t))
+ # Tests that use onnode need to overwrite link to in-tree
+ # functions file when installed
+ bld.symlink_as(os.path.join(bld.env.CTDB_TEST_DATADIR, 'onnode/functions'),
+ os.path.join(bld.env.CTDB_ETCDIR, 'functions'))
+ bld.symlink_as(os.path.join(bld.env.CTDB_TEST_DATADIR, 'simple/functions'),
+ os.path.join(bld.env.CTDB_ETCDIR, 'functions'))
+
+ # Need a link to nodes file because $CTDB_BASE is overridden
+ bld.symlink_as(os.path.join(bld.env.CTDB_TEST_DATADIR, 'simple/nodes'),
+ os.path.join(bld.env.CTDB_ETCDIR, 'nodes'))
+
def testonly(ctx):
cmd = 'tests/run_tests.sh -V tests/var'