fixed 'verbosity disabling bug'
https://github.com/QubesOS/qubes-issues/issues/1100 Deprecated functions setVerboseMode, getXtrace, setXtrace and variable XTRACE, because those were broken and their only use case was function umount_kill. Re-implemented disabling xtrace in function umount_kill, if variable VERBOSE is lower than or equal 2.
This commit is contained in:
parent
2167225d01
commit
e84645e597
51
functions.sh
51
functions.sh
@ -11,21 +11,6 @@ DEBUG=${DEBUG:-0}
|
|||||||
################################################################################
|
################################################################################
|
||||||
# Global functions
|
# Global functions
|
||||||
################################################################################
|
################################################################################
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
# Set xtrace verbose mode (-x or)
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
XTRACE=
|
|
||||||
function setVerboseMode() {
|
|
||||||
# Cache xtrace current status so it can be restored on exit
|
|
||||||
[[ ${-/x} != $- ]] && XTRACE=0 || XTRACE=1
|
|
||||||
|
|
||||||
if [ "${VERBOSE}" -ge 2 -o "${DEBUG}" -ge 2 ]; then
|
|
||||||
set -x
|
|
||||||
else
|
|
||||||
set +x
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Define colors
|
# Define colors
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
@ -106,22 +91,6 @@ else
|
|||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
# Return xtrace's current mode
|
|
||||||
# 0 is enables (-x); 1 is disables (+x)
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
getXtrace() {
|
|
||||||
[[ ${-/x} != $- ]] && echo 0 || echo 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
# Return xtrace to desired state
|
|
||||||
# 0 is enables (-x); 1 is disables (+x)
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
setXtrace() {
|
|
||||||
[[ "${1}" -eq 0 ]] && set -x || set +x
|
|
||||||
}
|
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Display messages in color
|
# Display messages in color
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
@ -170,7 +139,7 @@ setArrayAsGlobal() {
|
|||||||
local code=$(declare -p "$array")
|
local code=$(declare -p "$array")
|
||||||
local replaced="${code/$array/$export_as}"
|
local replaced="${code/$array/$export_as}"
|
||||||
eval ${replaced/declare -/declare -g}
|
eval ${replaced/declare -/declare -g}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
@ -224,12 +193,12 @@ templateDir() {
|
|||||||
local template_flavor=${1-${TEMPLATE_FLAVOR}}
|
local template_flavor=${1-${TEMPLATE_FLAVOR}}
|
||||||
|
|
||||||
# If TEMPLATE_FLAVOR_DIR is not already an array, make it one
|
# If TEMPLATE_FLAVOR_DIR is not already an array, make it one
|
||||||
if ! [[ "$(declare -p TEMPLATE_FLAVOR_DIR 2>/dev/null)" =~ ^declare\ -a.* ]] ; then
|
if ! [[ "$(declare -p TEMPLATE_FLAVOR_DIR 2>/dev/null)" =~ ^declare\ -a.* ]] ; then
|
||||||
TEMPLATE_FLAVOR_DIR=( ${TEMPLATE_FLAVOR_DIR} )
|
TEMPLATE_FLAVOR_DIR=( ${TEMPLATE_FLAVOR_DIR} )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for element in "${TEMPLATE_FLAVOR_DIR[@]}"
|
for element in "${TEMPLATE_FLAVOR_DIR[@]}"
|
||||||
do
|
do
|
||||||
# (wheezy+whonix-gateway / wheezy+whonix-gateway+gnome[+++] / wheezy+gnome )
|
# (wheezy+whonix-gateway / wheezy+whonix-gateway+gnome[+++] / wheezy+gnome )
|
||||||
if [ "${element%:*}" == "$(templateName ${template_flavor})" ]; then
|
if [ "${element%:*}" == "$(templateName ${template_flavor})" ]; then
|
||||||
eval echo -e "${element#*:}"
|
eval echo -e "${element#*:}"
|
||||||
@ -282,7 +251,7 @@ templateFile() {
|
|||||||
exists "${SCRIPTSDIR}/${path_parts[base]}_${suffix}${path_parts[dotext]}" || true
|
exists "${SCRIPTSDIR}/${path_parts[base]}_${suffix}${path_parts[dotext]}" || true
|
||||||
else
|
else
|
||||||
exists "${SCRIPTSDIR}/${path_parts[base]}${path_parts[dotext]}" || true
|
exists "${SCRIPTSDIR}/${path_parts[base]}${path_parts[dotext]}" || true
|
||||||
fi
|
fi
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -357,7 +326,7 @@ callTemplateFunction() {
|
|||||||
local calling_arg="$2"
|
local calling_arg="$2"
|
||||||
local functionExec="$3"
|
local functionExec="$3"
|
||||||
local template_flavor="${TEMPLATE_FLAVOR}"
|
local template_flavor="${TEMPLATE_FLAVOR}"
|
||||||
|
|
||||||
${functionExec} "${calling_script}" \
|
${functionExec} "${calling_script}" \
|
||||||
"${calling_arg}" \
|
"${calling_arg}" \
|
||||||
"${template_flavor}"
|
"${template_flavor}"
|
||||||
@ -389,7 +358,7 @@ callTemplateFunction() {
|
|||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Will return all files that match pattern of suffix
|
# Will return all files that match pattern of suffix
|
||||||
# Example:
|
# Example:
|
||||||
# filename = packages.list
|
# filename = packages.list
|
||||||
# suffix = ${DIST} (wheezy)
|
# suffix = ${DIST} (wheezy)
|
||||||
#
|
#
|
||||||
@ -424,8 +393,8 @@ getFileLocations() {
|
|||||||
# Executes any additional optional configuration steps if the configuration
|
# Executes any additional optional configuration steps if the configuration
|
||||||
# scripts exist
|
# scripts exist
|
||||||
#
|
#
|
||||||
# Will find all scripts with
|
# Will find all scripts with
|
||||||
# Example:
|
# Example:
|
||||||
# filename = 04_install_qubes.sh
|
# filename = 04_install_qubes.sh
|
||||||
# suffix = post
|
# suffix = post
|
||||||
#
|
#
|
||||||
@ -447,7 +416,7 @@ buildStep() {
|
|||||||
if [ -e "${script}" ]; then
|
if [ -e "${script}" ]; then
|
||||||
# Test module expects raw output back only used to asser test results
|
# Test module expects raw output back only used to asser test results
|
||||||
if [[ -n ${TEST} ]]; then
|
if [[ -n ${TEST} ]]; then
|
||||||
echo "${script}"
|
echo "${script}"
|
||||||
else
|
else
|
||||||
output "${bold}${under}INFO: Currently running script: ${script}${reset}"
|
output "${bold}${under}INFO: Currently running script: ${script}${reset}"
|
||||||
fi
|
fi
|
||||||
@ -459,7 +428,7 @@ buildStep() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Copy extra file tree to ${INSTALLDIR}
|
# Copy extra file tree to ${INSTALLDIR}
|
||||||
# TODO: Allow copy per step (04_install_qubes.sh-files)
|
# TODO: Allow copy per step (04_install_qubes.sh-files)
|
||||||
#
|
#
|
||||||
# To set file permissions is a PITA since git won't save them and will
|
# To set file permissions is a PITA since git won't save them and will
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
# vim: set ts=4 sw=4 sts=4 et :
|
# vim: set ts=4 sw=4 sts=4 et :
|
||||||
|
|
||||||
#
|
#
|
||||||
# Written by Jason Mehring (nrgaway@gmail.com)
|
# Written by Jason Mehring (nrgaway@gmail.com)
|
||||||
#
|
#
|
||||||
|
|
||||||
# Kills any processes within the mounted location and
|
# Kills any processes within the mounted location and
|
||||||
# unmounts any mounts active within.
|
# unmounts any mounts active within.
|
||||||
#
|
#
|
||||||
# To keep the actual mount mounted, add a '/' to end
|
# To keep the actual mount mounted, add a '/' to end
|
||||||
#
|
#
|
||||||
# ${1}: directory to umount
|
# ${1}: directory to umount
|
||||||
@ -16,13 +16,13 @@
|
|||||||
# To kill all processes and mounts within 'chroot-jessie' but keep
|
# To kill all processes and mounts within 'chroot-jessie' but keep
|
||||||
# 'chroot-jessie' mounted:
|
# 'chroot-jessie' mounted:
|
||||||
#
|
#
|
||||||
# ./umount_kill.sh chroot-jessie/
|
# ./umount_kill.sh chroot-jessie/
|
||||||
#
|
#
|
||||||
# To kill all processes and mounts within 'chroot-jessie' AND also
|
# To kill all processes and mounts within 'chroot-jessie' AND also
|
||||||
# umount 'chroot-jessie' mount:
|
# umount 'chroot-jessie' mount:
|
||||||
#
|
#
|
||||||
# ./umount_kill.sh chroot-jessie
|
# ./umount_kill.sh chroot-jessie
|
||||||
#
|
#
|
||||||
|
|
||||||
. ./functions.sh
|
. ./functions.sh
|
||||||
|
|
||||||
@ -44,11 +44,16 @@ mountPoints() {
|
|||||||
echo "$(sudo grep "${mount_point}" /proc/mounts | cut -f2 -d" " | sort -r | grep "^${mount_point}")"
|
echo "$(sudo grep "${mount_point}" /proc/mounts | cut -f2 -d" " | sort -r | grep "^${mount_point}")"
|
||||||
}
|
}
|
||||||
|
|
||||||
# ${1} = full path to mountpoint;
|
# ${1} = full path to mountpoint;
|
||||||
# ${2} = if set will not umount; only kill processes in mount
|
# ${2} = if set will not umount; only kill processes in mount
|
||||||
umount_kill() {
|
umount_kill() {
|
||||||
# Turn off xtrace; but remember its current setting
|
if [ "${VERBOSE}" -le 2 ]; then
|
||||||
local xtrace=$(getXtrace) && set +x
|
# If enabled, turn off xtrace and remember its current setting.
|
||||||
|
if test -o xtrace ; then
|
||||||
|
true "$FUNCNAME: Disabling xtrace, because variable VERBOSE (${VERBOSE}) is lower than or equal 2..."
|
||||||
|
XTRACE_WAS_SET=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
local mount_point="$(mountPoint "${1}")"
|
local mount_point="$(mountPoint "${1}")"
|
||||||
local kill_only="${2}"
|
local kill_only="${2}"
|
||||||
@ -99,8 +104,10 @@ umount_kill() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Return xtrace to original state
|
if [ "$XTRACE_WAS_SET" == "true" ] ; then
|
||||||
setXtrace "${xtrace}"
|
true "$FUNCNAME: Restoring xtrace..."
|
||||||
|
set -x
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
kill_processes_in_mount() {
|
kill_processes_in_mount() {
|
||||||
|
Loading…
Reference in New Issue
Block a user