From: Ting-Wei Lan Date: Thu, 30 Jul 2015 06:51:10 +0000 (+0800) Subject: build: use correct qemu path in systemd service file and init script X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~2659 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=62fe12e12ed0e96f8eca00c535f87fb79fc5ccc0;p=xen.git build: use correct qemu path in systemd service file and init script When --with-system-qemu is used, it is possible that we cannot find qemu-system-i386 in LIBEXEC_BIN, which can cause error in xencommons init script and xen-qemu-dom0-disk-backend.service systemd service. Signed-off-by: Ting-Wei Lan Acked-by: Ian Campbell --- diff --git a/tools/configure b/tools/configure index d90db47ef3..cae0ea0f8f 100755 --- a/tools/configure +++ b/tools/configure @@ -700,6 +700,8 @@ PREPEND_INCLUDES EXTRA_QEMUU_CONFIGURE_ARGS ovmf_path seabios_path +qemu_xen_systemd +qemu_xen_path qemu_xen rombios qemu_traditional @@ -4264,9 +4266,14 @@ fi if test "${with_system_qemu+set}" = set; then : withval=$with_system_qemu; case $withval in - yes) qemu_xen=n ; qemu_xen_path=qemu ;; - no) qemu_xen=y ; qemu_xen_path= ;; - *) qemu_xen=n ; qemu_xen_path=$withval ;; + yes) + qemu_xen=n ; qemu_xen_path="qemu" + qemu_xen_systemd="/usr/bin/env $qemu_xen_path" ;; + no) + qemu_xen=y ;; + *) + qemu_xen=n ; qemu_xen_path="$withval" ; + qemu_xen_systemd="$qemu_xen_path" ;; esac else @@ -4281,15 +4288,19 @@ else fi -if test "x$qemu_xen" = "xn"; then : +if test "x$qemu_xen" = "xy"; then : + + qemu_xen_path="$LIBEXEC_BIN/qemu-system-i386" + qemu_xen_systemd="$qemu_xen_path" +fi cat >>confdefs.h <<_ACEOF #define QEMU_XEN_PATH "$qemu_xen_path" _ACEOF -fi + diff --git a/tools/configure.ac b/tools/configure.ac index f6a79c2687..c1fa65828f 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -176,9 +176,14 @@ AC_ARG_WITH([system-qemu], [Use system supplied qemu PATH or qemu (taken from $PATH) as qemu-xen device model instead of building and installing our own version]),[ case $withval in - yes) qemu_xen=n ; qemu_xen_path=qemu ;; - no) qemu_xen=y ; qemu_xen_path= ;; - *) qemu_xen=n ; qemu_xen_path=$withval ;; + yes) + qemu_xen=n ; qemu_xen_path="qemu" + qemu_xen_systemd="/usr/bin/env $qemu_xen_path" ;; + no) + qemu_xen=y ;; + *) + qemu_xen=n ; qemu_xen_path="$withval" ; + qemu_xen_systemd="$qemu_xen_path" ;; esac ],[ case "$host_cpu" in @@ -189,10 +194,14 @@ AC_ARG_WITH([system-qemu], *) qemu_xen=n;; esac ]) -AS_IF([test "x$qemu_xen" = "xn"], [ - AC_DEFINE_UNQUOTED([QEMU_XEN_PATH], ["$qemu_xen_path"], [Qemu Xen path]) +AS_IF([test "x$qemu_xen" = "xy"], [ + qemu_xen_path="$LIBEXEC_BIN/qemu-system-i386" + qemu_xen_systemd="$qemu_xen_path" ]) +AC_DEFINE_UNQUOTED([QEMU_XEN_PATH], ["$qemu_xen_path"], [Qemu Xen path]) AC_SUBST(qemu_xen) +AC_SUBST(qemu_xen_path) +AC_SUBST(qemu_xen_systemd) AC_ARG_WITH([system-seabios], AS_HELP_STRING([--with-system-seabios@<:@=PATH@:>@], diff --git a/tools/hotplug/Linux/init.d/sysconfig.xencommons.in b/tools/hotplug/Linux/init.d/sysconfig.xencommons.in index f0fa98d3ad..acc730963a 100644 --- a/tools/hotplug/Linux/init.d/sysconfig.xencommons.in +++ b/tools/hotplug/Linux/init.d/sysconfig.xencommons.in @@ -47,4 +47,4 @@ XENSTORED_ARGS= #XENBACKENDD_DEBUG=[yes|on|1] # qemu path -#QEMU_XEN=@LIBEXEC_BIN@/qemu-system-i386 +#QEMU_XEN=@qemu_xen_path@ diff --git a/tools/hotplug/Linux/init.d/xencommons.in b/tools/hotplug/Linux/init.d/xencommons.in index 00d0f55478..21e913378e 100644 --- a/tools/hotplug/Linux/init.d/xencommons.in +++ b/tools/hotplug/Linux/init.d/xencommons.in @@ -98,7 +98,7 @@ do_start () { test -z "$XENCONSOLED_TRACE" || XENCONSOLED_ARGS=" --log=$XENCONSOLED_TRACE" ${sbindir}/xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS echo Starting QEMU as disk backend for dom0 - test -z "$QEMU_XEN" && QEMU_XEN="${LIBEXEC_BIN}/qemu-system-i386" + test -z "$QEMU_XEN" && QEMU_XEN="@qemu_xen_path@" $QEMU_XEN -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv -daemonize \ -monitor /dev/null -serial /dev/null -parallel /dev/null \ -pidfile $QEMU_PIDFILE diff --git a/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in b/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in index 274cec0c79..acf61a8182 100644 --- a/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in +++ b/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in @@ -11,7 +11,7 @@ Type=simple PIDFile=@XEN_RUN_DIR@/qemu-dom0.pid ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities ExecStartPre=/bin/mkdir -p @XEN_RUN_DIR@ -ExecStart=@LIBEXEC_BIN@/qemu-system-i386 -xen-domid 0 \ +ExecStart=@qemu_xen_systemd@ -xen-domid 0 \ -xen-attach -name dom0 -nographic -M xenpv -daemonize \ -monitor /dev/null -serial /dev/null -parallel /dev/null \ -pidfile @XEN_RUN_DIR@/qemu-dom0.pid diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index 8ac007a679..02c016233d 100644 --- a/tools/libxl/libxl_dm.c +++ b/tools/libxl/libxl_dm.c @@ -36,11 +36,7 @@ const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid) static const char *qemu_xen_path(libxl__gc *gc) { -#ifdef QEMU_XEN_PATH return QEMU_XEN_PATH; -#else - return libxl__abs_path(gc, "qemu-system-i386", libxl__private_bindir_path()); -#endif } static int libxl__create_qemu_logfile(libxl__gc *gc, char *name)