Build: Set the default ctdb socket path at configure time
authorDavid Disseldorp <ddiss@samba.org>
Thu, 18 Oct 2012 14:55:19 +0000 (16:55 +0200)
committerAmitay Isaacs <amitay@gmail.com>
Sat, 20 Oct 2012 14:39:08 +0000 (01:39 +1100)
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>
Makefile.in
configure.ac
include/ctdb_protocol.h

index 0e365f671e847eec10fc38485f963d521ed05439..efc6622febbe6d9ef46cba5233dc790185c9f5bb 100755 (executable)
@@ -16,6 +16,7 @@ sbindir = @sbindir@
 mandir = @mandir@
 localstatedir = @localstatedir@
 logdir = @LOGDIR@
+sockpath = @SOCKPATH@
 VPATH = @srcdir@:@tdbdir@:@tallocdir@:@libreplacedir@:@poptdir@:@teventdir@:
 srcdir = @srcdir@
 etcdir = @sysconfdir@
@@ -51,6 +52,7 @@ CFLAGS=@CPPFLAGS@ -g -I$(srcdir)/include -Iinclude -Ilib -Ilib/util -I$(srcdir)
        $(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
 
index 50d20a04a16d17f607eaefc99c77349acdb2043d..85934a72b0d3949c5a5fa33374b4107b2c41facf 100644 (file)
@@ -71,6 +71,17 @@ if test ! -z "$LOGDIR"; then
 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=""
index 14b44d5c27eb097e25f50fcca628061f93887cfd..022a8fea3a373ad7884fa382d0853192e9097278 100644 (file)
@@ -20,8 +20,8 @@
 #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