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:
		| @@ -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) | ||||||
|  |         eval "$temp" | ||||||
|     fi |     fi | ||||||
|  |     rm $run_output | ||||||
|  |     trap - ERR | ||||||
| } | } | ||||||
|  |  | ||||||
| # Usage: map_nbd $image | # Usage: map_nbd $image | ||||||
| @@ -194,10 +197,17 @@ 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 | ||||||
|  |         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 |             dib-run-parts ${TMP_HOOKS_PATH}/$1.d | ||||||
|         fi |         fi | ||||||
|  |     fi | ||||||
|     check_break after-$1 bash |     check_break after-$1 bash | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Ben Kero
					Ben Kero