Files
xen/tools/hotplug/NetBSD/rc.d/xendriverdomain.in
T
Olaf Hering 9d628ff6cc tools: Fix install.sh for systemd
On a fedora system, if you run `sudo sh install.sh` you break your
system. The installation clobbers /var/run, a symlink to /run.
A subsequent boot fails when /var/run and /run are different since
accesses through /var/run can't find items that now only exist in /run
and vice-versa.

Skip populating /var/run/xen during make install.
The directory is already created by some scripts. Adjust all remaining
scripts to create XEN_RUN_DIR at runtime.

Use the shell variable XEN_RUN_DIR instead of hardcoded paths.

XEN_RUN_STORED is covered by XEN_RUN_DIR because xenstored is usually
started afterwards.

Reported-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: Olaf Hering <olaf@aepfle.de>
Tested-by: Jason Andryuk <jandryuk@gmail.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
2023-05-16 20:03:02 +01:00

50 lines
850 B
Bash

#!/bin/sh
#
# PROVIDE: xendriverdomain
# REQUIRE: DAEMON
#
# Should be run in a driver domain, but not in domain 0.
. /etc/rc.subr
DIR=$(dirname "$0")
. "${DIR}/xen-hotplugpath.sh"
LD_LIBRARY_PATH="${libdir}"
export LD_LIBRARY_PATH
name="xendriverdomain"
start_precmd="xendriverdomain_precmd"
start_cmd="xendriverdomain_startcmd"
stop_cmd="xendriverdomain_stop"
extra_commands=""
XLDEVD_PIDFILE="@XEN_RUN_DIR@/xldevd.pid"
xendriverdomain_precmd()
{
mkdir -p "${XEN_RUN_DIR}"
}
xendriverdomain_startcmd()
{
printf "Starting xenservices: xl devd."
${sbindir}/xl devd --pidfile=$XLDEVD_PIDFILE ${XLDEVD_ARGS}
printf "\n"
}
xendriverdomain_stop()
{
printf "Stopping xl devd.\n"
rc_pid=$(check_pidfile ${XLDEVD_PIDFILE} ${sbindir}/xl)
kill -${sig_stop:-TERM} $rc_pids
wait_for_pids $rc_pids
}
load_rc_config $name
run_rc_command "$1"