The ctdb socket path currently defaults to /tmp/ctdb.socket and can be
modified at runtime using the --socket=filename option, common to both
ctdb and ctdbd binaries.
This change allows the default path to be set at configure time using
the --with-socketpath=FILE argument. When not specified, the default
path remains /tmp/ctdb.socket, documentation remains unchanged as a
result.
Signed-off-by: David Disseldorp <ddiss@samba.org>
mandir = @mandir@
localstatedir = @localstatedir@
logdir = @LOGDIR@
+sockpath = @SOCKPATH@
VPATH = @srcdir@:@tdbdir@:@tallocdir@:@libreplacedir@:@poptdir@:@teventdir@:
srcdir = @srcdir@
etcdir = @sysconfdir@
$(TALLOC_CFLAGS) $(TEVENT_CFLAGS) $(TDB_CFLAGS) -I@libreplacedir@ \
-DVARDIR=\"$(localstatedir)\" -DETCDIR=\"$(etcdir)\" \
-DLOGDIR=\"$(logdir)\" \
+ -DSOCKPATH=\"$(sockpath)\" \
-DUSE_MMAP=1 -DTEVENT_DEPRECATED_QUIET=1 @CFLAGS@ -Wno-format-zero-length $(POPT_CFLAGS) \
-fPIC
fi
AC_SUBST(LOGDIR)
+SOCKPATH='/tmp/ctdb.socket'
+AC_ARG_WITH([socketpath],
+ [ --with-socketpath=FILE path to CTDB daemon socket [[/tmp/ctdb.socket]]],
+ SOCKPATH=$withval)
+if test ! -z "$SOCKPATH"; then
+ if test "$SOCKPATH" = "yes" -o "$SOCKPATH" = "no"; then
+ AC_MSG_ERROR([--with-socketpath must specify a file path])
+ fi
+fi
+AC_SUBST(SOCKPATH)
+
AC_CONFIG_HEADER(config.h)
EXTRA_OBJ=""
#ifndef _CTDB_PROTOCOL_H
#define _CTDB_PROTOCOL_H
-/* location of daemon socket */
-#define CTDB_PATH "/tmp/ctdb.socket"
+/* location of daemon socket, set at configure time */
+#define CTDB_PATH SOCKPATH
/* default ctdb port number */
#define CTDB_PORT 4379