a3d7b58b83
Minus obsolete 4.0 files
144 lines
3.8 KiB
Bash
Executable file
144 lines
3.8 KiB
Bash
Executable file
#!/bin/bash
|
|
set -uo pipefail
|
|
|
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
ROOT_DIR="$(dirname "$SCRIPT_DIR")"
|
|
. "$ROOT_DIR/config.sh"
|
|
. "$SCRIPT_DIR/bootstrap.sh"
|
|
|
|
platform=`get_current_platform`
|
|
|
|
FAIL_CMD='echo -e \033[31;1mFAIL\033[0m'
|
|
FAILED=0
|
|
|
|
hdr_start=`tput smul`
|
|
hdr_stop=`tput rmul`
|
|
|
|
echo "${hdr_start}Checking build requirements:${hdr_stop}"
|
|
echo
|
|
|
|
echo -n "Checking for perl: "
|
|
which perl || { $FAIL_CMD; FAILED=1; }
|
|
|
|
echo -n "Checking for python3: "
|
|
which python3 || { $FAIL_CMD; FAILED=1; }
|
|
|
|
echo -n "Checking for curl: "
|
|
which curl || { $FAIL_CMD; FAILED=1; }
|
|
|
|
echo -n "Checking for wget: "
|
|
which wget || { $FAIL_CMD; FAILED=1; }
|
|
|
|
echo -n "Checking for zip: "
|
|
which zip || { $FAIL_CMD; FAILED=1; }
|
|
|
|
echo -n "Checking for unzip: "
|
|
which unzip || { $FAIL_CMD; FAILED=1; }
|
|
|
|
echo -n "Checking for xz: "
|
|
which xz || { $FAIL_CMD; FAILED=1; }
|
|
|
|
echo -n "Checking for awk: "
|
|
which awk || { $FAIL_CMD; FAILED=1; }
|
|
|
|
if [ $platform = "w" ]; then
|
|
echo -n "Checking for 7z: "
|
|
which 7z || { $FAIL_CMD; FAILED=1; }
|
|
|
|
echo "Checking for vcruntime140_1.dll: "
|
|
for arch in win64; do
|
|
echo -n " xulrunner/vc-$arch/vcruntime140_1.dll "
|
|
[ -f "$ROOT_DIR/xulrunner/vc-$arch/vcruntime140_1.dll" ] || { $FAIL_CMD; FAILED=1; }
|
|
done
|
|
echo
|
|
|
|
echo -n "Checking for rcedit: "
|
|
which rcedit || { $FAIL_CMD; FAILED=1; echo " -- Install with scripts/fetch_rcedit"; }
|
|
fi
|
|
|
|
echo -n "Checking for PDF tools: "
|
|
if [ $platform = "w" ]; then
|
|
[ -f "$ROOT_DIR/pdftools/pdftotext-win.exe" ] && ls "$ROOT_DIR/pdftools/pdftotext-win.exe" || { $FAIL_CMD; FAILED=1; }
|
|
elif [ $platform = "m" ]; then
|
|
[ -f "$ROOT_DIR/pdftools/pdftotext-mac" ] && ls "$ROOT_DIR/pdftools/pdftotext-mac" || { $FAIL_CMD; FAILED=1; }
|
|
elif [ $platform = "l" ]; then
|
|
[ -f "$ROOT_DIR/pdftools/pdftotext-linux-x86_64" ] && ls "$ROOT_DIR/pdftools/pdftotext-linux-x86_64" || { $FAIL_CMD; FAILED=1; }
|
|
fi
|
|
|
|
if [ $platform = "w" ]; then
|
|
echo
|
|
echo "${hdr_start}Checking Windows packaging requirements:${hdr_stop}"
|
|
echo
|
|
|
|
echo -n "Checking for upx: "
|
|
which upx || { $FAIL_CMD; FAILED=1; }
|
|
|
|
echo -n "Checking for uuidgen: "
|
|
which uuidgen || { $FAIL_CMD; FAILED=1; }
|
|
|
|
echo -n "Checking for signtool: "
|
|
if [ -x "`cygpath -u \"$SIGNTOOL\"`" ]; then
|
|
echo "`cygpath -u \"$SIGNTOOL\"`"
|
|
else
|
|
$FAIL_CMD
|
|
FAILED=1
|
|
fi
|
|
|
|
echo -n "Checking for Unicode NSIS: "
|
|
if [ -x "`cygpath -u \"${NSIS_DIR}makensis.exe\"`" ]; then
|
|
echo "`cygpath -u \"${NSIS_DIR}makensis.exe\"`"
|
|
else
|
|
$FAIL_CMD
|
|
FAILED=1
|
|
fi
|
|
|
|
plugin_path=$(cd "$NSIS_DIR\\Plugins" && pwd)
|
|
plugins="AppAssocReg ApplicationID InvokeShellVerb ShellLink UAC"
|
|
echo "Checking for NSIS plugins in $plugin_path"
|
|
for i in $plugins; do
|
|
echo -n " $i.dll: "
|
|
if [ -f "$plugin_path/$i.dll" ]; then
|
|
echo OK
|
|
else
|
|
$FAIL_CMD
|
|
FAILED=1
|
|
fi
|
|
done
|
|
fi
|
|
|
|
if [ $platform = "m" ]; then
|
|
echo
|
|
echo "${hdr_start}Checking Mac packaging requirements:${hdr_stop}"
|
|
echo
|
|
|
|
echo -n "Checking for codesign: "
|
|
which /usr/bin/codesign || { $FAIL_CMD; FAILED=1; }
|
|
fi
|
|
|
|
echo
|
|
echo "${hdr_start}Checking distribution requirements:${hdr_stop}"
|
|
echo
|
|
|
|
echo -n "Checking for Mozilla ARchive (MAR) tool: "
|
|
which mar || { $FAIL_CMD; FAILED=1; echo " -- Install with fetch_mar_tools"; }
|
|
|
|
echo -n "Checking for mbsdiff: "
|
|
which mbsdiff || { $FAIL_CMD; FAILED=1; echo " -- Install with fetch_mar_tools"; }
|
|
|
|
echo -n "Checking for rsync: "
|
|
which rsync || { $FAIL_CMD; FAILED=1; }
|
|
|
|
echo -n "Checking for sha512sum/shasum: "
|
|
which sha512sum 2>/dev/null || which shasum 2>/dev/null || { $FAIL_CMD; FAILED=1; }
|
|
|
|
echo -n "Checking for AWS CLI: "
|
|
which aws || { $FAIL_CMD; FAILED=1; }
|
|
|
|
echo -n "Checking for AWS S3 access: "
|
|
aws s3 ls $S3_BUCKET/$S3_DIST_PATH | sed 's/^[[:blank:]]*//' || { $FAIL_CMD; FAILED=1; }
|
|
|
|
echo -n "Checking for deploy host directory access: "
|
|
ssh $DEPLOY_HOST ls -d $DEPLOY_PATH || { $FAIL_CMD; FAILED=1; }
|
|
|
|
|
|
exit $FAILED
|