From 74fd490884e645094d3f03cd9c0d0e0d2b73954a Mon Sep 17 00:00:00 2001 From: Heikki Halmet Date: Fri, 27 Apr 2018 10:18:05 +0300 Subject: Provisioning: Add force option when unmounting squish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sometimes unmount of squish fail because resource busy even if the installation is already succeeded. To avoid this let's add force option to make sure unmounting works every time. Task-number: QTQAINFRA-1964 Change-Id: Icacd01341d09577d9880e3ed208cb6ea18a7ac4f Reviewed-by: Joni Jäntti Reviewed-by: Tony Sarajärvi --- coin/provisioning/common/unix/squishInstall.sh | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'coin') diff --git a/coin/provisioning/common/unix/squishInstall.sh b/coin/provisioning/common/unix/squishInstall.sh index ab0102ec..c946dfdc 100755 --- a/coin/provisioning/common/unix/squishInstall.sh +++ b/coin/provisioning/common/unix/squishInstall.sh @@ -90,6 +90,11 @@ function MountAndInstall { squishLicenseDir="/root" fi + function UnMount { + echo "Unmounting $mountFolder" + sudo diskutil unmount force "$mountFolder" || sudo umount -f "$mountFolder" + } + targetFileMount="$mountFolder"/"$targetFile" echo "Mounting $url to $mountFolder" @@ -111,20 +116,20 @@ function MountAndInstall { target="$targetDirectory" fi sudo tar -xzf "$targetFileMount" --directory "$target" - echo "Unmounting $mountFolder" - sudo umount "$mountFolder" + UnMount elif [[ $targetFile == *.dmg ]]; then echo "'dmg-file', no need to uncompress" - sudo cp "$targetFileMount" /tmp - sudo umount "$mountFolder" + sudo cp $targetFileMount /tmp + UnMount 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/ + mountFolder="/Volumes/froglogic Squish" + UnMount 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 cp $targetFileMount $targetDirectory + UnMount + 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 -- cgit v1.2.3