-Replaced /bin/sh by /bin/bash to be able to use the source built-in keyword.
[hvlinux.git] / stage1 / stage1-install
index 6efcf2e..8e7d8d9 100755 (executable)
@@ -1,7 +1,20 @@
-#!/bin/sh
+#!/bin/bash
 
 LFS_STAGE=stage1
 
+# Let shell functions inherit ERR trap.  Same as `set -E'.
+set -o errtrace
+
+# Setting ERR trap does implicit `set -o errexit'.
+trap myerr ERR
+
+function myerr()
+{
+    echo
+    echo "*** An error occured during ${LFS_STAGE}"
+    exit 1
+}
+
 # Reading system configuration informations, functions and package versions.
 source ../sysinfos
 source ../functions
@@ -19,15 +32,10 @@ rscr mult "Performing pre-install" cis-pre-install
 # Logging-in as 'lfs' user, and executing the install-1 script. The
 # 'su -' command starts with a clean environment and enters the home
 # directory of the user.
-su - lfs -c "cd ${PWD}; ./install-1" &&
+su - lfs -c "cd ${PWD}; ./install-1"
 
 rscr mult "Performing post-install" cis-post-install
 
-if [ $? -ne 0 ]; then
-    echo "*** An error occured during ${LFS_STAGE}"
-    exit 1
-fi
-
 echo "Total build time: $(get_total_build_time ${LFS_LOG_FILE})h"
 
 exit 0