Please enter a commit message to explain why this merge is necessary,
This commit is contained in:
Pro4TLZZ
2021-04-20 08:43:07 +01:00
4 changed files with 44 additions and 9 deletions

3
.gitignore vendored
View File

@@ -10,5 +10,4 @@ scratch/
*.tbz
# do include Installomator .pkg files
!Installomator-*.pkg
#!Installomator-*.pkg

Binary file not shown.

View File

@@ -72,6 +72,13 @@ INSTALL=""
# - force Install even if its the same version
# Re-opening of closed app
REOPEN="yes"
# options:
# - yes App wil be reopened if it was closed
# - no App not reopened
# NOTE: How labels work
# Each workflow label needs to be listed in the case statement below.
@@ -179,7 +186,7 @@ cleanupAndExit() { # $1 = exit code, $2 message
hdiutil detach "$dmgmount"
fi
# If we closed any processes, reopen the app again
#reopenClosedProcess # We skip this again, not all apps work correctly when opened like this
reopenClosedProcess
printlog "################## End Installomator, exit code $1 \n\n"
exit "$1"
}
@@ -191,6 +198,13 @@ runAsUser() {
fi
}
reloadAsUser() {
if [[ $currentUser != "loginwindow" ]]; then
uid=$(id -u "$currentUser")
su - $currentUser -c "${@}"
fi
}
displaydialog() { # $1: message $2: title
message=${1:-"Message"}
title=${2:-"Installomator"}
@@ -418,6 +432,12 @@ reopenClosedProcess() {
# If Installomator closed any processes, let's get the app opened again
# credit: Søren Theilgaard (@theilgaard)
# don't reopen if REOPEN is not "yes"
if [[ $REOPEN != yes ]]; then
printlog "REOPEN=no, not reopening anything"
return
fi
# don't reopen in DEBUG mode
if [[ $DEBUG -ne 0 ]]; then
printlog "DEBUG mode, not reopening anything"
@@ -425,11 +445,15 @@ reopenClosedProcess() {
fi
if [[ $appClosed == 1 ]]; then
printlog "Telling app $name to open"
#runAsUser osascript -e "tell app \"$name\" to open"
runAsUser open -a "${name}"
processuser=$(ps aux | grep -i "${name}")
printlog "Reopened ${name} as $processuser"
printlog "Telling app $appName to open"
#runAsUser osascript -e "tell app \"$appName\" to open"
#runAsUser open -a "${appName}"
reloadAsUser "open -a \"${appName}\""
#reloadAsUser "open \"${(0)applist}\""
processuser=$(ps aux | grep -i "${appName}" | grep -vi "grep" | awk '{print $1}')
printlog "Reopened ${appName} as $processuser"
else
printlog "App not closed, so no reopen."
fi
}
@@ -1233,7 +1257,12 @@ docker)
# credit: @securitygeneration
name="Docker"
type="dmg"
downloadURL="https://download.docker.com/mac/stable/Docker.dmg" # downloadURL="https://desktop.docker.com/mac/stable/amd64/Docker.dmg"
#downloadURL="https://download.docker.com/mac/stable/Docker.dmg"
if [[ $(arch) == arm64 ]]; then
downloadURL="https://desktop.docker.com/mac/stable/arm64/Docker.dmg"
elif [[ $(arch) == i386 ]]; then
downloadURL="https://desktop.docker.com/mac/stable/amd64/Docker.dmg"
fi
appNewVersion=$(curl -ifs https://docs.docker.com/docker-for-mac/release-notes/ | grep ">Docker Desktop Community" | head -1 | sed -n -e 's/^.*Community //p' | cut -d '<' -f1)
expectedTeamID="9BNSXJN65R"
;;

View File

@@ -259,6 +259,12 @@ Since we now make a version checking, and only installs the software if the vers
- ``: When not set, software is only installed if it is newer/different in version (default)
- `force`: Install even if its the same version
### Re-opening of closed app
The `REOPEN` can be used to prevent the reopening of a closed app
- `yes`: (default) app will be reopened if it was closed
- `no`: app not reopened
### Adding applications/label blocks
@@ -327,6 +333,7 @@ Depending on the application or pkg there are a few more variables you can or ne
- `appName`: (optional)
File name of the app bundle in the dmg to verify and copy (include the `.app`).
When not given, the `appName` is set to `$name.app`.
This is also the name of the app that will get reopned, if we closed any `blockingProcesses` (see further down)
- `targetDir`: (optional)
dmg or zip: