Marcel Telka
2023-05-08 1effb994884aeb0d09785c2c06bc2f5fd458656b
tools/perl-integrate-module: pre-flight environment checks

1 files modified
18 ■■■■ changed files
tools/perl-integrate-module 18 ●●●● patch | view | raw | blame | history
tools/perl-integrate-module
@@ -26,7 +26,7 @@
function usage
{
    [[ -n "$1" ]] && printf "ERROR: %s\n\n" "$1" >&2
    printf "Usage: %s [-d DIR] [-l VERSION] [-o OBSOLETE].. [-u] MODULE\n" "$THIS" >&2
    printf "Usage: %s [-d DIR] [-f] [-l VERSION] [-o OBSOLETE].. [-u] MODULE\n" "$THIS" >&2
    [[ -n "$1" ]] && exit 1
    exit 0
}
@@ -36,10 +36,12 @@
OBSOLETE=
UPGRADE_ONLY=0
DIRECTORY=
while getopts ":hd:l:o:u" OPT ; do
FORCE=0
while getopts ":hd:fl:o:u" OPT ; do
    case "$OPT" in
    "?"|"h")    usage ;;
    "d")        DIRECTORY="$OPTARG" ;;
    "f")        FORCE=1 ;;
    "l")        OPT_VERSION="$OPTARG" ;;
    "o")        OBSOLETE="$OBSOLETE $OPTARG" ;;
    "u")        UPGRADE_ONLY=1 ;;
@@ -144,6 +146,18 @@
    PREV_HVER=$($GMAKE print-value-HUMAN_VERSION 2>/dev/null)
    ((UPGRADE_ONLY)) && [[ "$PREV_HVER" == "$VERSION" ]] && exit 0
    # Pre-flight environment checks
    if ((FORCE)) ; then
        if ! $GMAKE env-check > /dev/null 2>&1 ; then
            printf "WARNING: Pre-flight 'gmake env-check' failed!\n" >&2
        else
            ! $GMAKE test-env-check > /dev/null 2>&1 && printf "WARNING: Pre-flight 'gmake test-env-check' failed!\n" >&2
        fi
    else
        ! $GMAKE env-check > /dev/null 2>&1 && printf "FATAL: Pre-flight 'gmake env-check' failed!\n" >&2 && exit 1
        ! $GMAKE test-env-check > /dev/null 2>&1 && printf "FATAL: Pre-flight 'gmake test-env-check' failed!\n" >&2 && exit 1
    fi
    $GMAKE clobber > /dev/null 2>&1
fi