diff --git a/functions/init.sh b/functions/init.sh index 753b9c6a3..ccd8a5ebf 100755 --- a/functions/init.sh +++ b/functions/init.sh @@ -29,3 +29,24 @@ Init_config_data () Read_conffiles $(Common_config_files) Set_defaults } + +Maybe_auto_redirect () +{ + local TYPE="${1}"; shift + + case "${TYPE}" in + clean|config|build) + ;; + *) + Echo_error "Unknown auto redirect type" + exit 1 + ;; + esac + + local AUTO_SCRIPT="auto/${TYPE}" + if [ -x "${AUTO_SCRIPT}" ]; then + Echo_message "Executing ${AUTO_SCRIPT} script." + ./"${AUTO_SCRIPT}" "${@}" + exit ${?} + fi +} diff --git a/scripts/build/build b/scripts/build/build index 289ed08a0..6b24d9702 100755 --- a/scripts/build/build +++ b/scripts/build/build @@ -17,16 +17,10 @@ set -e Auto_build_config # Redirecting to auto script if required -if [ "${1}" != "noauto" ] && [ -x auto/build ] -then - Echo_message "Executing auto/build script." - ./auto/build "${@}" - exit ${?} -fi - -if [ "${1}" = "noauto" ] -then +if [ "${1}" = "noauto" ]; then shift +else + Maybe_auto_redirect build fi # Setting static variables diff --git a/scripts/build/clean b/scripts/build/clean index ea06c0ac3..e71b7728f 100755 --- a/scripts/build/clean +++ b/scripts/build/clean @@ -14,16 +14,10 @@ set -e [ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh # Redirecting to auto script if required -if [ "${1}" != "noauto" ] && [ -x auto/clean ] -then - Echo_message "Executing auto/clean script." - ./auto/clean "${@}" - exit ${?} -fi - -if [ "${1}" = "noauto" ] -then +if [ "${1}" = "noauto" ]; then shift +else + Maybe_auto_redirect clean fi # Setting static variables diff --git a/scripts/build/config b/scripts/build/config index c3905b656..fac822f28 100755 --- a/scripts/build/config +++ b/scripts/build/config @@ -883,16 +883,10 @@ then fi # Redirecting to auto script if required -if [ "${1}" != "noauto" ] && [ -x auto/config ] -then - Echo_message "Executing auto/config script." - ./auto/config "${@}" - exit ${?} -fi - -if [ "${1}" = "noauto" ] -then +if [ "${1}" = "noauto" ]; then shift +else + Maybe_auto_redirect config fi # Reading system configuration