From: Olaf Hering Date: Wed, 1 Oct 2014 16:41:27 +0000 (+0200) Subject: tools: use XEN_LIB_STORED instead of /var/lib/xenstored X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~4229 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=2d174ed71c6b42d6ba6f7d018a6ee8770c3cf4b0;p=xen.git tools: use XEN_LIB_STORED instead of /var/lib/xenstored Remove hardcoded /var/lib/xenstored instead of using the existing XEN_LIB_STORED variable. Signed-off-by: Olaf Hering Acked-by: Ian Campbell Cc: Ian Campbell Cc: Ian Jackson Cc: Stefano Stabellini Cc: Wei Liu [ ijc -- ran autogen.sh as requested ] --- diff --git a/tools/configure b/tools/configure index a37ce424bd..944fdbf89c 100755 --- a/tools/configure +++ b/tools/configure @@ -2272,7 +2272,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_config_files="$ac_config_files ../config/Tools.mk hotplug/FreeBSD/rc.d/xencommons hotplug/Linux/init.d/sysconfig.xencommons hotplug/Linux/init.d/xen-watchdog hotplug/Linux/init.d/xencommons hotplug/Linux/init.d/xendomains hotplug/Linux/systemd/proc-xen.mount hotplug/Linux/systemd/var-lib-xenstored.mount hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service hotplug/Linux/systemd/xen-watchdog.service hotplug/Linux/systemd/xenconsoled.service hotplug/Linux/systemd/xendomains.service hotplug/Linux/systemd/xenstored.service hotplug/Linux/systemd/xenstored.socket hotplug/Linux/systemd/xenstored_ro.socket hotplug/Linux/vif-setup hotplug/Linux/xen-backend.rules hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains" +ac_config_files="$ac_config_files ../config/Tools.mk hotplug/FreeBSD/rc.d/xencommons hotplug/Linux/init.d/sysconfig.xencommons hotplug/Linux/init.d/xen-watchdog hotplug/Linux/init.d/xencommons hotplug/Linux/init.d/xendomains hotplug/Linux/systemd/proc-xen.mount hotplug/Linux/systemd/var-lib-xenstored.mount hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service hotplug/Linux/systemd/xen-watchdog.service hotplug/Linux/systemd/xenconsoled.service hotplug/Linux/systemd/xendomains.service hotplug/Linux/systemd/xenstored.service hotplug/Linux/systemd/xenstored.socket hotplug/Linux/systemd/xenstored_ro.socket hotplug/Linux/vif-setup hotplug/Linux/xen-backend.rules hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains hotplug/NetBSD/rc.d/xencommons" ac_config_headers="$ac_config_headers config.h" @@ -9611,6 +9611,7 @@ do "hotplug/Linux/xen-backend.rules") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/xen-backend.rules" ;; "hotplug/Linux/xen-hotplug-common.sh") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/xen-hotplug-common.sh" ;; "hotplug/Linux/xendomains") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/xendomains" ;; + "hotplug/NetBSD/rc.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/NetBSD/rc.d/xencommons" ;; "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; diff --git a/tools/configure.ac b/tools/configure.ac index a882948af1..98b245567f 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -25,6 +25,7 @@ hotplug/Linux/vif-setup hotplug/Linux/xen-backend.rules hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains +hotplug/NetBSD/rc.d/xencommons ]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_AUX_DIR([../]) diff --git a/tools/hotplug/FreeBSD/rc.d/xencommons.in b/tools/hotplug/FreeBSD/rc.d/xencommons.in index c73616e4df..900990bad6 100644 --- a/tools/hotplug/FreeBSD/rc.d/xencommons.in +++ b/tools/hotplug/FreeBSD/rc.d/xencommons.in @@ -37,7 +37,7 @@ xen_startcmd() if test -z "$xenstored_pid"; then printf "Cleaning xenstore database.\n" if [ -z "${XENSTORED_ROOTDIR}" ]; then - XENSTORED_ROOTDIR="/var/lib/xenstored" + XENSTORED_ROOTDIR="@XEN_LIB_STORED@" fi rm -f ${XENSTORED_ROOTDIR}/tdb* >/dev/null 2>&1 printf "Starting xenservices: xenstored, xenconsoled." diff --git a/tools/hotplug/Linux/init.d/sysconfig.xencommons.in b/tools/hotplug/Linux/init.d/sysconfig.xencommons.in index 432208176e..c12fc8acd1 100644 --- a/tools/hotplug/Linux/init.d/sysconfig.xencommons.in +++ b/tools/hotplug/Linux/init.d/sysconfig.xencommons.in @@ -27,10 +27,10 @@ #XENSTORED_TRACE=[yes|on|1] ## Type: string -## Default: "/var/lib/xenstored" +## Default: "@XEN_LIB_STORED@" # # Running xenstored on XENSTORED_ROOTDIR -#XENSTORED_ROOTDIR=/var/lib/xenstored +#XENSTORED_ROOTDIR=@XEN_LIB_STORED@ ## Type: string ## Default: Not defined, xenbackendd debug mode off diff --git a/tools/hotplug/Linux/init.d/xencommons.in b/tools/hotplug/Linux/init.d/xencommons.in index 10edf29104..d53a1f3979 100644 --- a/tools/hotplug/Linux/init.d/xencommons.in +++ b/tools/hotplug/Linux/init.d/xencommons.in @@ -68,7 +68,7 @@ do_start () { if ! `${BINDIR}/xenstore-read -s / >/dev/null 2>&1` then - test -z "$XENSTORED_ROOTDIR" && XENSTORED_ROOTDIR="/var/lib/xenstored" + test -z "$XENSTORED_ROOTDIR" && XENSTORED_ROOTDIR="@XEN_LIB_STORED@" rm -f "$XENSTORED_ROOTDIR"/tdb* &>/dev/null test -z "$XENSTORED_TRACE" || XENSTORED_ARGS=" -T /var/log/xen/xenstored-trace.log" diff --git a/tools/hotplug/NetBSD/rc.d/xencommons b/tools/hotplug/NetBSD/rc.d/xencommons deleted file mode 100644 index 793bede681..0000000000 --- a/tools/hotplug/NetBSD/rc.d/xencommons +++ /dev/null @@ -1,124 +0,0 @@ -#!/bin/sh -# -# PROVIDE: xencommons -# REQUIRE: DAEMON - -. /etc/rc.subr - -DIR=$(dirname "$0") -. "${DIR}/xen-hotplugpath.sh" - -LD_LIBRARY_PATH="${LIBDIR}" -export LD_LIBRARY_PATH - -name="xencommons" -rcvar=xend -start_precmd="xen_precmd" -start_cmd="xen_startcmd" -stop_cmd="xen_stop" -status_cmd="xen_status" -extra_commands="status" -required_files="/kern/xen/privcmd" - -XENSTORED_PIDFILE="/var/run/xenstored.pid" -XENCONSOLED_PIDFILE="/var/run/xenconsoled.pid" -XENBACKENDD_PIDFILE="/var/run/xenbackendd.pid" -#XENBACKENDD_DEBUG=1 -#XENCONSOLED_TRACE="/var/log/xen/xenconsole-trace.log" -#XENSTORED_TRACE="/var/log/xen/xenstore-trace.log" - -xen_precmd() -{ - mkdir -p /var/run/xenstored || exit 1 -} - -xen_startcmd() -{ - local time=0 - local timeout=30 - - xenstored_pid=$(check_pidfile ${XENSTORED_PIDFILE} ${SBINDIR}/xenstored) - if test -z "$xenstored_pid"; then - printf "Cleaning xenstore database.\n" - if [ -z "${XENSTORED_ROOTDIR}" ]; then - XENSTORED_ROOTDIR="/var/lib/xenstored" - fi - rm -f ${XENSTORED_ROOTDIR}/tdb* >/dev/null 2>&1 - printf "Starting xenservices: xenstored, xenconsoled." - XENSTORED_ARGS=" --pid-file ${XENSTORED_PIDFILE}" - if [ -n "${XENSTORED_TRACE}" ]; then - XENSTORED_ARGS="${XENSTORED_ARGS} -T /var/log/xen/xenstored-trace.log" - fi - ${SBINDIR}/xenstored ${XENSTORED_ARGS} - while [ $time -lt $timeout ] && ! `${BINDIR}/xenstore-read -s / >/dev/null 2>&1` ; do - printf "." - time=$(($time+1)) - sleep 1 - done - else - printf "Starting xenservices: xenconsoled." - fi - - XENCONSOLED_ARGS="" - if [ -n "${XENCONSOLED_TRACE}" ]; then - XENCONSOLED_ARGS="${XENCONSOLED_ARGS} --log=${XENCONSOLED_TRACE}" - fi - - ${SBINDIR}/xenconsoled ${XENCONSOLED_ARGS} - - printf "\n" - - printf "Setting domain 0 name, domid and JSON config...\n" - ${LIBEXEC_BIN}/xen-init-dom0 -} - -xen_stop() -{ - pids="" - printf "Stopping xencommons.\n" - printf "WARNING: Not stopping xenstored, as it cannot be restarted.\n" - - rc_pid=$(check_pidfile ${XENCONSOLED_PIDFILE} ${SBINDIR}/xenconsoled) - pids="$pids $rc_pid" - - kill -${sig_stop:-TERM} $pids - wait_for_pids $pids -} - -xen_status() -{ - xenstored_pid=$(check_pidfile ${XENSTORED_PIDFILE} ${SBINDIR}/xenstored) - if test -n ${xenstored_pid}; then - pids="$pids $xenstored_pid" - fi - - xenconsoled_pid=$(check_pidfile ${XENCONSOLED_PIDFILE} ${SBINDIR}/xenconsoled) - if test -n ${xenconsoled_pid}; then - pids="$pids $xenconsoled_pid" - fi - - if test -n "$xenconsoled_pid" -a -n "$xenstored_pid"; - then - echo "xencommons are running as pids $pids." - return 0 - fi - if test -z "$xenconsoled_pid" -a -z "$xenstored_pid"; - then - echo "xencommons are not running." - return 0 - fi - - if test -n $xenstored_pid; then - echo "xenstored is running as pid $xenstored_pid." - else - echo "xenstored is not running." - fi - if test -n $xenconsoled_pid; then - echo "xenconsoled is running as pid $xenconsoled_pid." - else - echo "xenconsoled is not running." - fi -} - -load_rc_config $name -run_rc_command "$1" diff --git a/tools/hotplug/NetBSD/rc.d/xencommons.in b/tools/hotplug/NetBSD/rc.d/xencommons.in new file mode 100644 index 0000000000..db03f22ff2 --- /dev/null +++ b/tools/hotplug/NetBSD/rc.d/xencommons.in @@ -0,0 +1,124 @@ +#!/bin/sh +# +# PROVIDE: xencommons +# REQUIRE: DAEMON + +. /etc/rc.subr + +DIR=$(dirname "$0") +. "${DIR}/xen-hotplugpath.sh" + +LD_LIBRARY_PATH="${LIBDIR}" +export LD_LIBRARY_PATH + +name="xencommons" +rcvar=xend +start_precmd="xen_precmd" +start_cmd="xen_startcmd" +stop_cmd="xen_stop" +status_cmd="xen_status" +extra_commands="status" +required_files="/kern/xen/privcmd" + +XENSTORED_PIDFILE="/var/run/xenstored.pid" +XENCONSOLED_PIDFILE="/var/run/xenconsoled.pid" +XENBACKENDD_PIDFILE="/var/run/xenbackendd.pid" +#XENBACKENDD_DEBUG=1 +#XENCONSOLED_TRACE="/var/log/xen/xenconsole-trace.log" +#XENSTORED_TRACE="/var/log/xen/xenstore-trace.log" + +xen_precmd() +{ + mkdir -p /var/run/xenstored || exit 1 +} + +xen_startcmd() +{ + local time=0 + local timeout=30 + + xenstored_pid=$(check_pidfile ${XENSTORED_PIDFILE} ${SBINDIR}/xenstored) + if test -z "$xenstored_pid"; then + printf "Cleaning xenstore database.\n" + if [ -z "${XENSTORED_ROOTDIR}" ]; then + XENSTORED_ROOTDIR="@XEN_LIB_STORED@" + fi + rm -f ${XENSTORED_ROOTDIR}/tdb* >/dev/null 2>&1 + printf "Starting xenservices: xenstored, xenconsoled." + XENSTORED_ARGS=" --pid-file ${XENSTORED_PIDFILE}" + if [ -n "${XENSTORED_TRACE}" ]; then + XENSTORED_ARGS="${XENSTORED_ARGS} -T /var/log/xen/xenstored-trace.log" + fi + ${SBINDIR}/xenstored ${XENSTORED_ARGS} + while [ $time -lt $timeout ] && ! `${BINDIR}/xenstore-read -s / >/dev/null 2>&1` ; do + printf "." + time=$(($time+1)) + sleep 1 + done + else + printf "Starting xenservices: xenconsoled." + fi + + XENCONSOLED_ARGS="" + if [ -n "${XENCONSOLED_TRACE}" ]; then + XENCONSOLED_ARGS="${XENCONSOLED_ARGS} --log=${XENCONSOLED_TRACE}" + fi + + ${SBINDIR}/xenconsoled ${XENCONSOLED_ARGS} + + printf "\n" + + printf "Setting domain 0 name, domid and JSON config...\n" + ${LIBEXEC_BIN}/xen-init-dom0 +} + +xen_stop() +{ + pids="" + printf "Stopping xencommons.\n" + printf "WARNING: Not stopping xenstored, as it cannot be restarted.\n" + + rc_pid=$(check_pidfile ${XENCONSOLED_PIDFILE} ${SBINDIR}/xenconsoled) + pids="$pids $rc_pid" + + kill -${sig_stop:-TERM} $pids + wait_for_pids $pids +} + +xen_status() +{ + xenstored_pid=$(check_pidfile ${XENSTORED_PIDFILE} ${SBINDIR}/xenstored) + if test -n ${xenstored_pid}; then + pids="$pids $xenstored_pid" + fi + + xenconsoled_pid=$(check_pidfile ${XENCONSOLED_PIDFILE} ${SBINDIR}/xenconsoled) + if test -n ${xenconsoled_pid}; then + pids="$pids $xenconsoled_pid" + fi + + if test -n "$xenconsoled_pid" -a -n "$xenstored_pid"; + then + echo "xencommons are running as pids $pids." + return 0 + fi + if test -z "$xenconsoled_pid" -a -z "$xenstored_pid"; + then + echo "xencommons are not running." + return 0 + fi + + if test -n $xenstored_pid; then + echo "xenstored is running as pid $xenstored_pid." + else + echo "xenstored is not running." + fi + if test -n $xenconsoled_pid; then + echo "xenconsoled is running as pid $xenconsoled_pid." + else + echo "xenconsoled is not running." + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/tools/xenstore/Makefile b/tools/xenstore/Makefile index cff57edf72..563abd486f 100644 --- a/tools/xenstore/Makefile +++ b/tools/xenstore/Makefile @@ -9,6 +9,7 @@ CFLAGS += -I. CFLAGS += -I$(XEN_ROOT)/tools/ CFLAGS += -I./include CFLAGS += $(CFLAGS_libxenctrl) +CFLAGS += -DXEN_LIB_STORED="\"$(XEN_LIB_STORED)\"" CFLAGS-$(CONFIG_SYSTEMD) += $(SYSTEMD_CFLAGS) LDFLAGS-$(CONFIG_SYSTEMD) += $(SYSTEMD_LIBS) @@ -129,7 +130,7 @@ install: all $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR) $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xenstore-compat ifeq ($(XENSTORE_XENSTORED),y) - $(INSTALL_DIR) $(DESTDIR)/var/lib/xenstored + $(INSTALL_DIR) $(DESTDIR)$(XEN_LIB_STORED) $(INSTALL_PROG) xenstored $(DESTDIR)$(SBINDIR) endif $(INSTALL_PROG) xenstore-control $(DESTDIR)$(BINDIR) diff --git a/tools/xenstore/xs_lib.c b/tools/xenstore/xs_lib.c index 9a7875500b..d1664976d4 100644 --- a/tools/xenstore/xs_lib.c +++ b/tools/xenstore/xs_lib.c @@ -30,7 +30,7 @@ const char *xs_daemon_rootdir(void) { char *s = getenv("XENSTORED_ROOTDIR"); - return (s ? s : "/var/lib/xenstored"); + return (s ? s : XEN_LIB_STORED); } const char *xs_daemon_rundir(void)