From 9497487c77ed2544b20c6ee5829d9aeb763db057 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tony=20Saraj=C3=A4rvi?= Date: Wed, 7 Mar 2018 15:03:07 +0200 Subject: Remove try_catch codes from unix scripts Change-Id: Iabadbf28c65132ae614048cb98e92f57e3786056 Reviewed-by: Heikki Halmet (cherry picked from commit 90261c1df5cb62a47b44d2d9b84c0753d6ebf9e4) --- .../unix/InstallFromCompressedFileFromURL.sh | 109 +++++----------- .../common/unix/check_and_set_proxy.sh | 17 +-- coin/provisioning/common/unix/squishInstall.sh | 142 ++++++--------------- 3 files changed, 77 insertions(+), 191 deletions(-) diff --git a/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh b/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh index fb77b714..b616efb9 100755 --- a/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh +++ b/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh @@ -33,21 +33,11 @@ ## ############################################################################# -# shellcheck source=try_catch.sh -source "${BASH_SOURCE%/*}/try_catch.sh" +set -ex + # shellcheck source=DownloadURL.sh source "${BASH_SOURCE%/*}/DownloadURL.sh" -ExceptionDownload=99 -ExceptionCreateTmpFile=100 -ExceptionCreateTmpDirectory=101 -ExceptionUncompress=102 -ExceptionMoveApp=103 -ExceptionDeleteTmpFile=104 -ExceptionRemoveTmpDirectory=105 -ExceptionUnknownFormat=106 - - function InstallFromCompressedFileFromURL { url=$1 url_alt=$2 @@ -55,70 +45,35 @@ function InstallFromCompressedFileFromURL { installDirectory=$4 appPrefix=$5 - try - ( - basefilename=${url##*/} - extension=${basefilename##*.} - filename=${basefilename%.*} - if [ "$extension" == "gz" ] && [ "${filename##*.}" == "tar" ]; then - extension="tar.gz" - fi - echo "Extension for file: $extension" - echo "Creating temporary file and directory" - targetFile=$(mktemp "$TMPDIR$(uuidgen)XXXXX.$extension") || throw $ExceptionCreateTmpFile - targetDirectory=$(mktemp -d) || throw $ExceptionCreateTmpDirectory - (DownloadURL "$url" "$url_alt" "$expectedSha1" "$targetFile") || throw $ExceptionDownload - echo "Uncompress $targetFile" - case $extension in - "tar.gz") - tar -xzf "$targetFile" --directory "$targetDirectory" || throw $ExceptionUncompress - ;; - "zip") - unzip "$targetFile" -d "$targetDirectory" || throw $ExceptionUncompress - ;; - *) - throw $ExceptionUnknownFormat - ;; - esac - echo "Moving app to $installDirectory" - sudo mkdir -p "$installDirectory" - sudo mv "$targetDirectory/$appPrefix/"* "$installDirectory" || throw $ExceptionMoveApp - echo "Removing file '$targetFile'" - rm "$targetFile" || throw $ExceptionDeleteTmpFile - echo "Removing directory '$targetDirectory'" - rm -rf "$targetDirectory" || throw $ExceptionRemoveTmpDirectory - ) - - catch || { - case $ex_code in - $ExceptionDownload) - exit 1; - ;; - $ExceptionCreateTmpFile) - echo "Failed to create temporary file" - exit 1; - ;; - $ExceptionUncompress) - echo "Failed extracting compressed file." - exit 1; - ;; - $ExceptionMoveApp) - echo "Failed moving app to target location." - exit 1; - ;; - $ExceptionDeleteTmpFile) - echo "Failed deleting temporary file." - exit 1; - ;; - $ExceptionRemoveTmpDirectory) - echo "Failed deleting temporary file." - exit 1; - ;; - $ExceptionUnknownFormat) - echo "Unknown file format." - exit 1; - ;; - esac - } + basefilename=${url##*/} + extension=${basefilename##*.} + filename=${basefilename%.*} + if [ "$extension" == "gz" ] && [ "${filename##*.}" == "tar" ]; then + extension="tar.gz" + fi + echo "Extension for file: $extension" + echo "Creating temporary file and directory" + targetFile=$(mktemp "$TMPDIR$(uuidgen)XXXXX.$extension") + targetDirectory=$(mktemp -d) + DownloadURL "$url" "$url_alt" "$expectedSha1" "$targetFile" + echo "Uncompress $targetFile" + case $extension in + "tar.gz") + tar -xzf "$targetFile" --directory "$targetDirectory" + ;; + "zip") + unzip "$targetFile" -d "$targetDirectory" + ;; + *) + exit 1 + ;; + esac + echo "Moving app to $installDirectory" + sudo mkdir -p "$installDirectory" + sudo mv "$targetDirectory/$appPrefix/"* "$installDirectory" + echo "Removing file '$targetFile'" + rm "$targetFile" + echo "Removing directory '$targetDirectory'" + rm -rf "$targetDirectory" } diff --git a/coin/provisioning/common/unix/check_and_set_proxy.sh b/coin/provisioning/common/unix/check_and_set_proxy.sh index c39c7d4b..1cbee166 100755 --- a/coin/provisioning/common/unix/check_and_set_proxy.sh +++ b/coin/provisioning/common/unix/check_and_set_proxy.sh @@ -32,19 +32,8 @@ ## ############################################################################# -source "${BASH_SOURCE%/*}/try_catch.sh" -source "${BASH_SOURCE%/*}/../shared/http_proxy.txt" - -try -( - wget -q -e "http_proxy=$proxy" --spider proxy.intra.qt.io -) +set -ex -if [ $? -eq 0 ]; then - echo "Setting http_proxy to $proxy" - export http_proxy=$proxy - -else - echo "Proxy not detected at $proxy" -fi +source "${BASH_SOURCE%/*}/../shared/http_proxy.txt" +(wget -q -e "http_proxy=$proxy" --spider proxy.intra.qt.io && echo "Setting http_proxy to $proxy" && export http_proxy=$proxy) || echo "Proxy not detected at $proxy" diff --git a/coin/provisioning/common/unix/squishInstall.sh b/coin/provisioning/common/unix/squishInstall.sh index e2553fcf..069d5afd 100755 --- a/coin/provisioning/common/unix/squishInstall.sh +++ b/coin/provisioning/common/unix/squishInstall.sh @@ -33,8 +33,6 @@ ## ############################################################################# -source "${BASH_SOURCE%/*}/try_catch.sh" - set -ex # This script will install squish package for Linux and Mac. @@ -65,18 +63,7 @@ if [ -f "/etc/profile.d/squish_env.sh" ]; then export SQUISH_LICENSEKEY_DIR=$HOME fi -ExceptionMount=100 -ExceptionCreateFolder=101 -ExceptionUncompress=102 -ExceptionUnknownFormat=103 -ExceptionCopy=104 -ExceptionUmount=105 -ExceptionHdiutilAttach=106 -ExceptionInstallSquish=107 -ExceptionChangeOwnership=108 - function MountAndInstall { - url=$1 targetDirectory=$2 targetFile=$3 @@ -102,96 +89,51 @@ function MountAndInstall { targetFileMount="$mountFolder"/"$targetFile" - try - ( - echo "Mounting $url to $mountFolder" - sudo mount "$url" $mountFolder || throw $ExceptionMount - echo "Create $targetDirectory if needed" - if [ ! -d "/opt" ]; then - sudo mkdir "/opt" || throw $ExceptionCreateFolder - fi - if [ ! -d "$targetDirectory" ]; then - sudo mkdir "$targetDirectory" || throw $ExceptionCreateFolder - fi - echo "Uncompress $targetFile" - if [[ $targetFile == *.tar.gz ]]; then - if [[ $targetFile == .squish-3-license.* ]]; then - target="$squishLicenseDir" - # Squish license need to be exists also in users home directory, because squish check it before it starts running tests - sudo tar -xzf "$targetFileMount" --directory "$HOME" || throw $ExceptionUncompress - else - target="$targetDirectory" - fi - sudo tar -xzf "$targetFileMount" --directory "$target" || throw $ExceptionUncompress - echo "Unmounting $mountFolder" - sudo umount $mountFolder || throw $ExceptionUmount - elif [[ $targetFile == *.dmg ]]; then - echo "'dmg-file', no need to uncompress" - sudo cp $targetFileMount /tmp || throw $ExceptionCopy - sudo umount $mountFolder || throw $ExceptionUmount - sudo hdiutil attach "/tmp/$targetFile" || throw $ExceptionHdiutilAttach - sudo /Volumes/froglogic\ Squish/Install\ Squish.app/Contents/MacOS/Squish unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" || throw $ExceptionInstallSquish - sudo hdiutil unmount /Volumes/froglogic\ Squish/ - elif [[ $targetFile == *.run ]]; then - echo "'run-file', no need to uncompress" - sudo cp $targetFileMount $targetDirectory || throw $ExceptionCopy - sudo umount $mountFolder || throw $ExceptionUmount - sudo $targetDirectory/$targetFile unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1 || throw $ExceptionInstallSquish - sudo rm -fr "$targetDirectory/$targetFile" - if uname -a |grep -q "Ubuntu"; then - sudo mkdir /usr/lib/tcl8.6 || throw $ExceptionCreateFolder - sudo cp "$targetDirectory/package/tcl/lib/tcl8.6/init.tcl" /usr/lib/tcl8.6/ || throw $ExceptionCopy - fi + echo "Mounting $url to $mountFolder" + sudo mount "$url" $mountFolder + echo "Create $targetDirectory if needed" + if [ ! -d "/opt" ]; then + sudo mkdir "/opt" + fi + if [ ! -d "$targetDirectory" ]; then + sudo mkdir "$targetDirectory" + fi + echo "Uncompress $targetFile" + if [[ $targetFile == *.tar.gz ]]; then + if [[ $targetFile == .squish-3-license.* ]]; then + target="$squishLicenseDir" + # Squish license need to be exists also in users home directory, because squish check it before it starts running tests + sudo tar -xzf "$targetFileMount" --directory "$HOME" else - throw $ExceptionUnknownFormat + target="$targetDirectory" + fi + sudo tar -xzf "$targetFileMount" --directory "$target" + echo "Unmounting $mountFolder" + sudo umount $mountFolder + elif [[ $targetFile == *.dmg ]]; then + echo "'dmg-file', no need to uncompress" + sudo cp $targetFileMount /tmp + sudo umount $mountFolder + sudo hdiutil attach "/tmp/$targetFile" + sudo /Volumes/froglogic\ Squish/Install\ Squish.app/Contents/MacOS/Squish unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" + sudo hdiutil unmount /Volumes/froglogic\ Squish/ + elif [[ $targetFile == *.run ]]; then + echo "'run-file', no need to uncompress" + sudo cp $targetFileMount $targetDirectory + sudo umount $mountFolder + sudo $targetDirectory/$targetFile unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1 + sudo rm -fr "$targetDirectory/$targetFile" + if uname -a |grep -q "Ubuntu"; then + sudo mkdir /usr/lib/tcl8.6 + sudo cp "$targetDirectory/package/tcl/lib/tcl8.6/init.tcl" /usr/lib/tcl8.6/ fi + else + exit 1 + fi - echo "Changing ownerships" - sudo chown -R qt:$usersGroup "$targetDirectory" || throw $ExceptionChangeOwnership - sudo chown qt:$usersGroup "$HOME/.squish-3-license" - - ) - - catch || { - case $ex_code in - $ExceptionMount) - echo "Failed to mount $url to $mountFolder." - exit 1; - ;; - $ExceptionCreateFolder) - echo "Failed to create folder" - exit 1; - ;; - $ExceptionUncompress) - echo "Failed extracting compressed file." - exit 1; - ;; - $ExceptionUnknownFormat) - echo "Unknown file format." - exit 1; - ;; - $ExceptionCopy) - echo "Failed to copy" - exit 1; - ;; - $ExceptionUmount) - echo "Failed to unmount $mountFolder." - exit 1; - ;; - $ExceptionHdiutilAttach) - echo "Failed to hdituli attach $mountFolder/$targetFile." - exit 1; - ;; - $ExceptionInstallSquish) - echo "Failed to install squish" - exit 1; - ;; - $ExceptionChangeOwnership) - echo "Failed to change ownership of $targetDirectory." - exit 1; - ;; - esac - } + echo "Changing ownerships" + sudo chown -R qt:$usersGroup "$targetDirectory" + sudo chown qt:$usersGroup "$HOME/.squish-3-license" } echo "Set commands for environment variables in .bashrc" -- cgit v1.2.3