0b341f4fb2
Removed call from qubes_installation scripts for proxy files. will now be added by sub-template Renamed extra-whonix-files to files Modifies functions.sh to allow for very short proxy names and custom directories that will be dist independent
103 lines
2.4 KiB
Bash
Executable File
103 lines
2.4 KiB
Bash
Executable File
#
|
|
# Copyright (c) 2005 XenSource Ltd.
|
|
#
|
|
# This library is free software; you can redistribute it and/or
|
|
# modify it under the terms of version 2.1 of the GNU Lesser General Public
|
|
# License as published by the Free Software Foundation.
|
|
#
|
|
# This library is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Lesser General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with this library; if not, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
#
|
|
|
|
|
|
dir=$(dirname "$0")
|
|
. "$dir/hotplugpath.sh"
|
|
. "$dir/logging.sh"
|
|
. "$dir/xen-script-common.sh"
|
|
. "$dir/locking.sh"
|
|
|
|
exec 2>>/var/log/xen/xen-hotplug.log
|
|
|
|
export PATH="${BINDIR}:${SBINDIR}:${LIBEXEC}:${PRIVATE_BINDIR}:/sbin:/bin:/usr/bin:/usr/sbin:$PATH"
|
|
export LANG="POSIX"
|
|
unset $(set | grep ^LC_ | cut -d= -f1)
|
|
|
|
fatal() {
|
|
_xenstore_write "$XENBUS_PATH/hotplug-error" "$*" \
|
|
"$XENBUS_PATH/hotplug-status" error
|
|
log err "$@"
|
|
exit 1
|
|
}
|
|
|
|
success() {
|
|
# Tell DevController that backend is "connected"
|
|
xenstore_write "$XENBUS_PATH/hotplug-status" connected
|
|
}
|
|
|
|
do_or_die() {
|
|
"$@" || fatal "$@ failed"
|
|
}
|
|
|
|
do_without_error() {
|
|
"$@" 2>/dev/null || log debug "$@ failed"
|
|
}
|
|
|
|
sigerr() {
|
|
fatal "$0 failed; error detected."
|
|
}
|
|
|
|
trap sigerr ERR
|
|
|
|
|
|
##
|
|
# xenstore_read <path>+
|
|
#
|
|
# Read each of the given paths, returning each result on a separate line, or
|
|
# exit this script if any of the paths is missing.
|
|
#
|
|
xenstore_read() {
|
|
local v=$(xenstore-read "$@" || true)
|
|
[ "$v" != "" ] || fatal "xenstore-read $@ failed."
|
|
echo "$v"
|
|
}
|
|
|
|
|
|
##
|
|
# xenstore_read_default <path> <default>
|
|
#
|
|
# Read the given path, returning the value there or the given default if the
|
|
# path is not present.
|
|
#
|
|
xenstore_read_default() {
|
|
xenstore-read "$1" 2>/dev/null || echo "$2"
|
|
}
|
|
|
|
|
|
##
|
|
# _xenstore_write (<path> <value>)+
|
|
#
|
|
# Write each of the key/value pairs to the store.
|
|
#
|
|
_xenstore_write() {
|
|
log debug "Writing $@ to xenstore."
|
|
xenstore-write "$@"
|
|
}
|
|
|
|
##
|
|
# xenstore_write (<path> <value>)+
|
|
#
|
|
# Write each of the key/value pairs to the store, and exit this script if any
|
|
# such writing fails.
|
|
#
|
|
xenstore_write() {
|
|
_xenstore_write "$@" || fatal "Writing $@ to xenstore failed."
|
|
}
|
|
|
|
log debug "$@" "XENBUS_PATH=$XENBUS_PATH"
|