Revert "Revert "Properly fail/trap in eval_run_d"" and fix PIPESTATUS
This reverts commit f07e33a2e9
.
This change reverts the revert while fixing the underlying issue --
$PIPESTATUS needed to be encapsulated in ${}s
Change-Id: I1df06ffa7aecf4ea4b8e187dc756e9fc779786bc
This commit is contained in:
parent
99ddd58a15
commit
9a00bf144f
@ -113,12 +113,15 @@ function check_element () {
|
|||||||
# $1 is the hook to run
|
# $1 is the hook to run
|
||||||
# $2 is the regex to look for
|
# $2 is the regex to look for
|
||||||
function eval_run_d () {
|
function eval_run_d () {
|
||||||
local TEMP=`run_d $1`
|
local run_output=$(mktemp)
|
||||||
echo "$TEMP"
|
trap "rm -f $run_output; check_break after-error ${break_cmd:-bash}" ERR
|
||||||
if [ `echo "$TEMP" | grep -s "$2"` ]; then
|
run_d $1 $run_output
|
||||||
TEMP=`echo "$TEMP" | grep "$2"`
|
if grep -q "$2" $run_output; then
|
||||||
eval "$TEMP"
|
local temp=$(grep "$2" $run_output)
|
||||||
fi
|
eval "$temp"
|
||||||
|
fi
|
||||||
|
rm $run_output
|
||||||
|
trap - ERR
|
||||||
}
|
}
|
||||||
|
|
||||||
# Usage: map_nbd $image
|
# Usage: map_nbd $image
|
||||||
@ -194,9 +197,16 @@ function cleanup_image_dir () {
|
|||||||
# Run a directory of hooks outside the target (that is, no chrooting).
|
# Run a directory of hooks outside the target (that is, no chrooting).
|
||||||
function run_d() {
|
function run_d() {
|
||||||
check_element
|
check_element
|
||||||
check_break before-$1 bash
|
check_break before-$1 ${break_cmd:-bash}
|
||||||
if [ -d ${TMP_HOOKS_PATH}/$1.d ] ; then
|
if [ -d ${TMP_HOOKS_PATH}/$1.d ] ; then
|
||||||
dib-run-parts ${TMP_HOOKS_PATH}/$1.d
|
if [ -n "$2" ]; then
|
||||||
|
dib-run-parts ${TMP_HOOKS_PATH}/$1.d | tee $2
|
||||||
|
if [[ ${PIPESTATUS[0]} != 0 ]]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
dib-run-parts ${TMP_HOOKS_PATH}/$1.d
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
check_break after-$1 bash
|
check_break after-$1 bash
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user