1 Commits

Author SHA1 Message Date
Armin Briegel
ecc9ccedca Revert "santa and nomad are forced to ignore blocking" 2022-10-03 15:57:34 -07:00
45 changed files with 221 additions and 629 deletions

View File

@@ -1,90 +1,8 @@
## v10
- updates to MDM sample scripts (#738)
- updates to Swift Dialog integration (#717)
- documentation updates (#711)
And everything from the betas ([beta1](https://github.com/Installomator/Installomator/releases/tag/v10beta1), [beta2](https://github.com/Installomator/Installomator/releases/tag/v10beta2), [beta3](https://github.com/Installomator/Installomator/releases/tag/v10beta3))
- new labels:
- ibmnotifier (#716)
- ipvisionconnect (#749)
- logitechoptionsplus (#719)
- lucidlink (#722)
- mactex (#685)
- onscreencontrol (#581)
- projectplace (#688)
- subethaedit (#728)
- sublimemerge (#729)
- venturablocker (#712)
- vysor (#710)
- updated labels:
- googleadseditor (#739)
- openvpnconnectv3 (#750)
- tunnelblick (#618)
## v10beta3
- option to add item to dock if dockutil is installed (#701 requires dockutil https://github.com/kcrawford/dockutil )
- further improvements to GitHub downloads (#691)
- updated user dialog when app is already on the latest version (#658)
Plus everything from beta1 and beta2.
- new labels:
- adobeacrobatprodc (#707)
- adobereaderdc-install (#707)
- archiwareb2go (#625, #707)
- archiwarepst (#624)
- bitrix24 (#661)
- charles (#670)
- chronoagent (#617)
- chronosync (#616)
- cytoscape (#689)
- egnytecore (#655)
- fellow (#599)
- filemakerpro (#609)
- fujifilmwebcam (#598)
- gfxcardstatus (#690)
- horos (#610)
- inetclearreportsdesigner (#601)
- jdk18 (#608)
- latexit (#684)
- nudgesuite (#633)
- origin (#662)
- parallelsrasclient (#607)
- polylens (#671)
- splashtopbusiness (#660)
- tailscale (#620)
- zoomoutlookplugin (#656)
- zotero (#634)
- zulujdk18 (#612)
- updated labels:
- acroniscyberprotectconnectagent (#678)
- adobecreativeclouddesktop (#687)
- adobereaderdc-update (#707)
- audacity (#708)
- duckduckgo (#704)
- libreoffice (#605)
- nudge
- obs (#692)
- r (#702)
- rstudio (#702)
- screamingfrogseospider (#665)
- vlc (#705, #606)
- xcreds
## v10beta2 ## v10beta2
- fixed problem with GitHub labels (#659) - fixed problem with GitHub labels (#659)
- bz2 archive support (#659) - bz2 archive support (#659)
- fixed WorkspaceOne support (#653) - fixed WorkspaceOne support (#653)
- updated how `aapNewVersion` is determined (#680)
Plus everything from v10beta1 Plus everything from v10beta1

View File

@@ -322,8 +322,8 @@ if [[ $(/usr/bin/arch) == "arm64" ]]; then
rosetta2=no rosetta2=no
fi fi
fi fi
VERSION="10.0" VERSION="10.0beta3"
VERSIONDATE="2022-11-18" VERSIONDATE="2022-09-30"
# MARK: Functions # MARK: Functions
@@ -1345,7 +1345,7 @@ updateDialog() {
echo "progress: $progress" >> $cmd_file echo "progress: $progress" >> $cmd_file
fi fi
if [[ $message != "" ]]; then if [[ $message != "" ]]; then
echo "progresstext: $message" >> $cmd_file echo "progresstext: $name - $message" >> $cmd_file
fi fi
else else
# list item has a value, so we update the progress and text in the list # list item has a value, so we update the progress and text in the list
@@ -2072,8 +2072,7 @@ bitrix24)
downloadURL="https://dl.bitrix24.com/b24/bitrix24_desktop.dmg" downloadURL="https://dl.bitrix24.com/b24/bitrix24_desktop.dmg"
expectedTeamID="5B3T3A994N" expectedTeamID="5B3T3A994N"
blockingProcesses=( "Bitrix24" ) blockingProcesses=( "Bitrix24" )
;; ;;bitwarden)
bitwarden)
name="Bitwarden" name="Bitwarden"
type="dmg" type="dmg"
downloadURL=$(downloadURLFromGit bitwarden desktop ) downloadURL=$(downloadURLFromGit bitwarden desktop )
@@ -2248,8 +2247,7 @@ charles)
appNewVersion=$(curl -fs https://www.charlesproxy.com/download/latest-release/ | sed -nE 's/.*version.*value="([^"]*).*/\1/p') appNewVersion=$(curl -fs https://www.charlesproxy.com/download/latest-release/ | sed -nE 's/.*version.*value="([^"]*).*/\1/p')
downloadURL="https://www.charlesproxy.com/assets/release/$appNewVersion/charles-proxy-$appNewVersion.dmg" downloadURL="https://www.charlesproxy.com/assets/release/$appNewVersion/charles-proxy-$appNewVersion.dmg"
expectedTeamID="9A5PCU4FSD" expectedTeamID="9A5PCU4FSD"
;; ;;chatwork)
chatwork)
name="Chatwork" name="Chatwork"
type="dmg" type="dmg"
downloadURL="https://desktop-app.chatwork.com/installer/Chatwork.dmg" downloadURL="https://desktop-app.chatwork.com/installer/Chatwork.dmg"
@@ -3030,9 +3028,7 @@ googleadseditor)
name="Google Ads Editor" name="Google Ads Editor"
type="dmg" type="dmg"
downloadURL="https://dl.google.com/adwords_editor/google_ads_editor.dmg" downloadURL="https://dl.google.com/adwords_editor/google_ads_editor.dmg"
# Version not found in installed app, but on we it is here appNewVersion=""
#appNewVersion="$(curl -fs "https://support.google.com/google-ads/editor/answer/30513" | grep "Current Mac version" | sed -E 's/.*Current Mac version: *([0-9.]*)<.*/\1/')"
#appCustomVersion(){ }
expectedTeamID="EQHXZ8M8AV" expectedTeamID="EQHXZ8M8AV"
;; ;;
googlechrome) googlechrome)
@@ -3263,14 +3259,6 @@ ibarcoder)
appNewVersion="$(curl -fs "https://cristallight.com/iBarcoder/" | grep -i version: | head -1 | awk '{print $2}')" appNewVersion="$(curl -fs "https://cristallight.com/iBarcoder/" | grep -i version: | head -1 | awk '{print $2}')"
expectedTeamID="JAXVB9AH9M" expectedTeamID="JAXVB9AH9M"
;; ;;
ibmnotifier)
name="IBM Notifier"
type="zip"
downloadURL="$(downloadURLFromGit IBM mac-ibm-notifications)"
#appNewVersion="$(versionFromGit IBM mac-ibm-notifications)"
appNewVersion="$(curl -sLI "https://github.com/IBM/mac-ibm-notifications/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | cut -d "-" -f2 | sed 's/[^0-9\.]//g')"
expectedTeamID="PETKK2G752"
;;
icons) icons)
name="Icons" name="Icons"
type="zip" type="zip"
@@ -3319,15 +3307,6 @@ imazingprofileeditor)
downloadURL="https://downloads.imazing.com/mac/iMazing-Profile-Editor/iMazingProfileEditorMac.dmg" downloadURL="https://downloads.imazing.com/mac/iMazing-Profile-Editor/iMazingProfileEditorMac.dmg"
expectedTeamID="J5PR93692Y" expectedTeamID="J5PR93692Y"
;; ;;
inetclearreportsdesigner)
name="i-Net Clear Reports Designer"
type="appindmg"
appNewVersion=$(curl -s https://www.inetsoftware.de/products/clear-reports/designer | grep "Latest release:" | cut -d ">" -f 4 | cut -d \ -f 2)
downloadURL=$(curl -s https://www.inetsoftware.de/products/clear-reports/designer | grep $appNewVersion | grep dmg | cut -d ">" -f 12 | cut -d \" -f 2)
expectedTeamID="9S2Y97K3D9"
blockingProcesses=( "clear-reports-designer" )
#forcefulQuit=YES
;;
inkscape) inkscape)
# credit: Søren Theilgaard (@theilgaard) # credit: Søren Theilgaard (@theilgaard)
name="Inkscape" name="Inkscape"
@@ -3364,15 +3343,6 @@ ipswupdater)
appNewVersion=$(getJSONValue "$ipswupdaterVersions" "[0].version") appNewVersion=$(getJSONValue "$ipswupdaterVersions" "[0].version")
expectedTeamID="YRW6NUGA63" expectedTeamID="YRW6NUGA63"
;; ;;
ipvisionconnect)
name="ipvision Connect"
type="dmg"
# Description: A softphone client from ipvision.dk
downloadStore="https://my.ipvision.dk/connect/"
downloadURL="${downloadStore}$(curl -fs "https://my.ipvision.dk/connect/" | grep osx | sort | tail -1 | cut -d '"' -f2)"
appNewVersion="$(curl -fs "${downloadStore}" | grep osx | sort | tail -1 | sed -E 's/.*ipvision_connect_([0-9_]*)_osx.*/\1/' | tr "_" ".")"
expectedTeamID="5RLWBLKGL2"
;;
istatmenus) istatmenus)
# credit: AP Orlebeke (@apizz) # credit: AP Orlebeke (@apizz)
name="iStat Menus" name="iStat Menus"
@@ -3752,17 +3722,6 @@ logitechoptions)
pkgName=LogiMgr.pkg pkgName=LogiMgr.pkg
expectedTeamID="QED4VVPZWA" expectedTeamID="QED4VVPZWA"
;; ;;
logitechoptionsplus)
name="Logi Options+"
archiveName="logioptionsplus_installer.zip"
appName="logioptionsplus_installer.app"
type="zip"
downloadURL="https://download01.logi.com/web/ftp/pub/techsupport/optionsplus/logioptionsplus_installer.zip"
appNewVersion=$(curl -fs "https://support.logi.com/api/v2/help_center/en-us/articles.json?label_names=webcontent=productdownload,webos=mac-macos-x-11.0" | tr "," "\n" | grep -A 10 "macOS" | grep -B 5 -ie "https.*/.*/optionsplus/.*\.zip" | grep "Software Version" | sed 's/\\u[0-9a-z][0-9a-z][0-9a-z][0-9a-z]//g' | grep -ioe "Software Version.*[0-9.]*" | tr "/" "\n" | grep -oe "[0-9.]*" | head -1)
CLIInstaller="logioptionsplus_installer.app/Contents/MacOS/logioptionsplus_installer"
CLIArguments=(--quiet)
expectedTeamID="QED4VVPZWA"
;;
logseq) logseq)
name="Logseq" name="Logseq"
type="dmg" type="dmg"
@@ -3795,14 +3754,6 @@ lowprofile)
appNewVersion="$(versionFromGit ninxsoft LowProfile)" appNewVersion="$(versionFromGit ninxsoft LowProfile)"
expectedTeamID="7K3HVCLV7Z" expectedTeamID="7K3HVCLV7Z"
;; ;;
lucidlink)
name="Lucid"
# https://www.lucidlink.com/download
type="pkg"
downloadURL="https://www.lucidlink.com/download/latest/osx/stable/"
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | awk '{print $2}' | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g' )
expectedTeamID="Y4KMJPU2B4"
;;
lucifer) lucifer)
# credit: Drew Diver (@grumpydrew on MacAdmins Slack) # credit: Drew Diver (@grumpydrew on MacAdmins Slack)
name="Lucifer" name="Lucifer"
@@ -3874,13 +3825,6 @@ macports)
appCustomVersion(){ if [ -x /opt/local/bin/port ]; then /opt/local/bin/port version | awk '{print $2}'; else "0"; fi } appCustomVersion(){ if [ -x /opt/local/bin/port ]; then /opt/local/bin/port version | awk '{print $2}'; else "0"; fi }
expectedTeamID="QTA3A3B7F3" expectedTeamID="QTA3A3B7F3"
;; ;;
mactex)
name="MacTeX"
appName="TeX Live Utility.app"
type="pkg"
downloadURL="https://mirror.ctan.org/systems/mac/mactex/MacTeX.pkg"
expectedTeamID="RBGCY5RJWM"
;;
malwarebytes) malwarebytes)
name="Malwarebytes" name="Malwarebytes"
type="pkg" type="pkg"
@@ -4565,15 +4509,6 @@ onlyofficedesktop)
appNewVersion=$(versionFromGit ONLYOFFICE DesktopEditors) appNewVersion=$(versionFromGit ONLYOFFICE DesktopEditors)
expectedTeamID="2WH24U26GJ" expectedTeamID="2WH24U26GJ"
;; ;;
onscreencontrol)
name="OnScreen Control"
type="pkgInZip"
packageID="com.LGSI.OnScreen-Control"
releaseURL="https://www.lg.com/de/support/software-select-category-result?csSalesCode=34WK95U-W.AEU"
appNewVersion=$(curl -sf $releaseURL | grep -m 1 "Mac_OSC_" | sed -E 's/.*OSC_([0-9.]*).zip.*/\1/g')
downloadURL=$(curl -sf $releaseURL | grep -m 1 "Mac_OSC_" | sed "s|.*href=\"\(.*\)\" title.*|\\1|")
expectedTeamID="5SKT5H4CPQ"
;;
openvpnconnect) openvpnconnect)
# credit: Erik Stam (@erikstam) # credit: Erik Stam (@erikstam)
name="OpenVPN" name="OpenVPN"
@@ -4586,11 +4521,6 @@ openvpnconnectv3)
# credit: @lotnix # credit: @lotnix
name="OpenVPN Connect" name="OpenVPN Connect"
type="pkgInDmg" type="pkgInDmg"
if [[ $(arch) == "arm64" ]]; then
pkgName="/OpenVPN_Connect_[0-9_()]*_arm64_Installer_signed.pkg"
elif [[ $(arch) == "i386" ]]; then
pkgName="OpenVPN_Connect_[0-9_()]*_x86_64_Installer_signed.pkg"
fi
downloadURL="https://openvpn.net/downloads/openvpn-connect-v3-macos.dmg" downloadURL="https://openvpn.net/downloads/openvpn-connect-v3-macos.dmg"
expectedTeamID="ACV7L3WCD8" expectedTeamID="ACV7L3WCD8"
;; ;;
@@ -4608,8 +4538,7 @@ origin)
downloadURL="https://www.dm.origin.com/mac/download/Origin.dmg" downloadURL="https://www.dm.origin.com/mac/download/Origin.dmg"
expectedTeamID="TSTV75T6Q5" expectedTeamID="TSTV75T6Q5"
blockingProcesses=( "Origin" ) blockingProcesses=( "Origin" )
;; ;;ottomatic)
ottomatic)
name="Otto Matic" name="Otto Matic"
type="dmg" type="dmg"
downloadURL=$(downloadURLFromGit jorio OttoMatic) downloadURL=$(downloadURLFromGit jorio OttoMatic)
@@ -4648,13 +4577,6 @@ pandoc)
archiveName="mac.pkg" archiveName="mac.pkg"
expectedTeamID="5U2WKE6DES" expectedTeamID="5U2WKE6DES"
;; ;;
parallelsrasclient)
name="Parallels Client"
type="pkg"
appNewVersion=$(curl -sf "https://download.parallels.com/ras/v18/RAS%20Client%20for%20Mac%20Changelog.txt" | grep -m 1 "Parallels Client for Mac Version" | sed "s|.*Version \(.*\) -.*|\\1|" | sed 's/ /./g' | sed 's/[^0-9.]//g')
downloadURL=$(appMajorVersion=`sed 's/\..*//' <<< $appNewVersion` && appHyphenVersion=`curl -sf "https://download.parallels.com/ras/v18/RAS%20Client%20for%20Mac%20Changelog.txt" | grep -m 1 "Parallels Client for Mac Version" | sed "s|.*Version \(.*\) -.*|\\1|" | sed 's/ /-/g' | sed 's/[^0-9.-]//g'` && echo https://download.parallels.com/ras/v"$appMajorVersion"/"$appNewVersion"/RasClient-Mac-Notarized-"$appHyphenVersion".pkg)
expectedTeamID="4C6364ACXT"
;;
paretosecurity) paretosecurity)
name="Pareto Security" name="Pareto Security"
type="dmg" type="dmg"
@@ -4770,12 +4692,6 @@ proctortrack)
downloadURL="https://storage.googleapis.com/verificientstatic/ProctortrackApp/Production/Proctortrack.zip" downloadURL="https://storage.googleapis.com/verificientstatic/ProctortrackApp/Production/Proctortrack.zip"
expectedTeamID="SNHZD6TJE6" expectedTeamID="SNHZD6TJE6"
;; ;;
projectplace)
name="Projectplace"
type="dmg"
downloadURL="https://service.projectplace.com/client_apps/desktop/Projectplace-for-mac.dmg"
expectedTeamID="8333HW99E8"
;;
promiseutility|\ promiseutility|\
promiseutilityr) promiseutilityr)
name="Promise Utility" name="Promise Utility"
@@ -5296,24 +5212,6 @@ strongsync)
versionKey="CFBundleVersion" versionKey="CFBundleVersion"
expectedTeamID="CH86M498V4" expectedTeamID="CH86M498V4"
;; ;;
subethaedit)
name="SubEthaEdit"
# Home: https://github.com/subethaedit/SubEthaEdit
# Description: General purpose plain text editor for macOS. Widely known for its live collaboration feature.
type="zip"
downloadURL="$(downloadURLFromGit subethaedit SubEthaEdit)"
appNewVersion="$(versionFromGit subethaedit SubEthaEdit)"
expectedTeamID="S76GCAG929"
;;
sublimemerge)
# Home: https://www.sublimemerge.com
# Description: Git Client, done Sublime. Line-by-line Staging. Commit Editing. Unmatched Performance.
name="Sublime Merge"
type="zip"
downloadURL="$(curl -fs "https://www.sublimemerge.com/download_thanks?target=mac#direct-downloads" | grep -io "https://download.*_mac.zip" | head -1)"
appNewVersion=$(curl -fs https://www.sublimemerge.com/download | grep -i -A 4 "id.*changelog" | grep -io "Build [0-9]*")
expectedTeamID="Z6D26JE4Y4"
;;
sublimetext) sublimetext)
# credit: Søren Theilgaard (@theilgaard) # credit: Søren Theilgaard (@theilgaard)
name="Sublime Text" name="Sublime Text"
@@ -5611,7 +5509,6 @@ tunnelblick)
name="Tunnelblick" name="Tunnelblick"
type="dmg" type="dmg"
downloadURL=$(downloadURLFromGit TunnelBlick Tunnelblick ) downloadURL=$(downloadURLFromGit TunnelBlick Tunnelblick )
appNewVersion=$(curl -sf https://github.com/Tunnelblick/Tunnelblick/releases | grep -m 1 "/Tunnelblick/Tunnelblick/releases/tag/" | sed -r 's/.*Tunnelblick ([^<]+).*/\1/')
expectedTeamID="Z2SG5H3HC8" expectedTeamID="Z2SG5H3HC8"
;; ;;
typinator) typinator)
@@ -5688,14 +5585,6 @@ vanilla)
downloadURL="https://macrelease.matthewpalmer.net/Vanilla.dmg" downloadURL="https://macrelease.matthewpalmer.net/Vanilla.dmg"
expectedTeamID="Z4JV2M65MH" expectedTeamID="Z4JV2M65MH"
;; ;;
venturablocker)
name="venturablocker"
type="pkg"
packageID="dk.envo-it.venturablocker"
downloadURL=$(downloadURLFromGit Theile venturablocker )
appNewVersion=$(versionFromGit Theile venturablocker )
expectedTeamID="FXW6QXBFW5"
;;
veracrypt) veracrypt)
name="VeraCrypt" name="VeraCrypt"
type="pkgInDmg" type="pkgInDmg"
@@ -5765,13 +5654,6 @@ vscodium)
expectedTeamID="C7S3ZQ2B8V" expectedTeamID="C7S3ZQ2B8V"
blockingProcesses=( Electron ) blockingProcesses=( Electron )
;; ;;
vysor)
name="Vysor"
type="zip"
downloadURL="$(downloadURLFromGit koush vysor.io)"
appNewVersion="$(versionFromGit koush vysor.io)"
expectedTeamID="XT4C9EJNUG"
;;
wacomdrivers) wacomdrivers)
name="Wacom Desktop Center" name="Wacom Desktop Center"
type="pkgInDmg" type="pkgInDmg"
@@ -6078,19 +5960,6 @@ zulujdk17)
appCustomVersion(){ java -version 2>&1 | grep Runtime | awk '{print $4}' | sed -e "s/.*Zulu//" | cut -d '-' -f 1 | sed -e "s/+/\./" } appCustomVersion(){ java -version 2>&1 | grep Runtime | awk '{print $4}' | sed -e "s/.*Zulu//" | cut -d '-' -f 1 | sed -e "s/+/\./" }
appNewVersion=$(echo "$downloadURL" | cut -d "-" -f 1 | sed -e "s/.*zulu//") # Cannot be compared to anything appNewVersion=$(echo "$downloadURL" | cut -d "-" -f 1 | sed -e "s/.*zulu//") # Cannot be compared to anything
;; ;;
zulujdk18)
name="Zulu JDK 18"
type="pkgInDmg"
packageID="com.azulsystems.zulu.18"
if [[ $(arch) == i386 ]]; then
downloadURL=https://cdn.azul.com/zulu/bin/$(curl -fs "https://cdn.azul.com/zulu/bin/" | grep -Eio '">zulu18.*ca-jdk18.*x64.dmg(.*)' | cut -c3- | sed 's/<\/a>//' | sed -E 's/([0-9.]*)M//' | awk '{print $2 $1}' | sort | cut -c11- | tail -1)
elif [[ $(arch) == arm64 ]]; then
downloadURL=https://cdn.azul.com/zulu/bin/$(curl -fs "https://cdn.azul.com/zulu/bin/" | grep -Eio '">zulu18.*ca-jdk18.*aarch64.dmg(.*)' | cut -c3- | sed 's/<\/a>//' | sed -E 's/([0-9.]*)M//' | awk '{print $2 $1}' | sort | cut -c11- | tail -1)
fi
expectedTeamID="TDTHCUPYFR"
appCustomVersion(){ java -version 2>&1 | grep Runtime | awk '{print $4}' | sed -e "s/.*Zulu//" | cut -d '-' -f 1 | sed -e "s/+/\./" }
appNewVersion=$(echo "$downloadURL" | cut -d "-" -f 1 | sed -e "s/.*zulu//") # Cannot be compared to anything
;;
zulujdk8) zulujdk8)
name="Zulu JDK 8" name="Zulu JDK 8"
type="pkgInDmg" type="pkgInDmg"

View File

@@ -61,7 +61,6 @@ basecamp3
bbedit bbedit
bettertouchtool bettertouchtool
bitrix24 bitrix24
bitwarden
blender blender
bluejeans bluejeans
bluejeanswithaudiodriver bluejeanswithaudiodriver
@@ -82,7 +81,6 @@ camtasia2021
canva canva
carboncopycloner carboncopycloner
charles charles
chatwork
chronoagent chronoagent
chronosync chronosync
cisdem-documentreader cisdem-documentreader
@@ -198,21 +196,18 @@ hpeasystart
hype hype
hyper hyper
ibarcoder ibarcoder
ibmnotifier
icons icons
idrive idrive
idrivethin idrivethin
iina iina
imageoptim imageoptim
imazingprofileeditor imazingprofileeditor
inetclearreportsdesigner
inkscape inkscape
insomnia insomnia
installomator installomator
installomator_theile installomator_theile
intellijideace intellijideace
ipswupdater ipswupdater
ipvisionconnect
istatmenus istatmenus
iterm2 iterm2
itsycal itsycal
@@ -253,11 +248,9 @@ libreoffice
linear linear
logioptions logioptions
logitechoptions logitechoptions
logitechoptionsplus
logseq logseq
loom loom
lowprofile lowprofile
lucidlink
lucifer lucifer
lulu lulu
macadminspython macadminspython
@@ -265,7 +258,6 @@ maccyapp
macfuse macfuse
macoslaps macoslaps
macports macports
mactex
malwarebytes malwarebytes
marathon marathon
marathon2 marathon2
@@ -336,17 +328,14 @@ omniplan4
omnipresence omnipresence
onionshare onionshare
onlyofficedesktop onlyofficedesktop
onscreencontrol
openvpnconnect openvpnconnect
openvpnconnectv3 openvpnconnectv3
opera opera
origin origin
ottomatic
overflow overflow
pacifist pacifist
packages packages
pandoc pandoc
parallelsrasclient
paretosecurity paretosecurity
parsec parsec
pdfsam pdfsam
@@ -362,7 +351,6 @@ prism9
pritunl pritunl
privileges privileges
proctortrack proctortrack
projectplace
promiseutility promiseutility
promiseutilityr promiseutilityr
propresenter7 propresenter7
@@ -436,8 +424,6 @@ sqlprostudio
steelseriesengine steelseriesengine
strongdm strongdm
strongsync strongsync
subethaedit
sublimemerge
sublimetext sublimetext
superhuman superhuman
supportapp supportapp
@@ -485,7 +471,6 @@ unnaturalscrollwheels
utm utm
vagrant vagrant
vanilla vanilla
venturablocker
veracrypt veracrypt
vimac vimac
virtualbox virtualbox
@@ -495,7 +480,6 @@ vivaldi
vlc vlc
vmwarehorizonclient vmwarehorizonclient
vscodium vscodium
vysor
wacomdrivers wacomdrivers
wallyezflash wallyezflash
webex webex
@@ -530,5 +514,4 @@ zulujdk11
zulujdk13 zulujdk13
zulujdk15 zulujdk15
zulujdk17 zulujdk17
zulujdk18
zulujdk8 zulujdk8

View File

@@ -5,11 +5,7 @@
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1" LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
# Have the label been submittet in a PR for Installomator? #item="gfxcardstatus" # enter the software to install (if it has a label in future version of Installomator)
# What version of Installomator is it expected to be included in?
# Version 10.0
item="gfxcardstatus" # enter the software to install (if it has a label in future version of Installomator)
# Label variables below # Label variables below
@@ -108,10 +104,9 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user DIALOG_CMD_FILE=${dial
# INSTALL=force # INSTALL=force
###################################################################### ######################################################################
# To be used as a script sent out from a MDM. # To be used as a script sent out from a MDM.
# Fill out the label variables above, and those will be included in the Installomator call, circa on line 248 # Fill the variable "item" above with a label.
# Script will run this label through Installomator. # Script will run this label through Installomator.
###################################################################### ######################################################################
# v. 10.0.3 : A bit more logging on succes, and change in ending Dialog part.
# v. 10.0.2 : Improved icon checks and failovers # v. 10.0.2 : Improved icon checks and failovers
# v. 10.0.1 : github-functions added. Improved appIcon handling. Can add the app to Dock using dockutil. # v. 10.0.1 : github-functions added. Improved appIcon handling. Can add the app to Dock using dockutil.
# v. 10.0 : Integration with Dialog and Installomator v. 10 # v. 10.0 : Integration with Dialog and Installomator v. 10
@@ -124,10 +119,6 @@ export PATH=/usr/bin:/bin:/usr/sbin:/sbin
echo "$(date +%F\ %T) [LOG-BEGIN] $item" echo "$(date +%F\ %T) [LOG-BEGIN] $item"
if [[ -z "$item" ]]; then
item="$name"
fi
dialogUpdate() { dialogUpdate() {
# $1: dialog command # $1: dialog command
local dcommand="$1" local dcommand="$1"
@@ -138,19 +129,19 @@ dialogUpdate() {
fi fi
} }
checkCmdOutput () { checkCmdOutput () {
local checkOutput="$1" # $1: cmdOutput
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )" local cmdOutput="$1"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed." echo "${item} succesfully installed."
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )" warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
echo "$selectedOutput" echo "$warnOutput"
else else
echo "ERROR installing ${item}. Exit code ${exitStatus}" echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$checkOutput" echo "$cmdOutput"
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )" #errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput" #echo "$errorOutput"
fi fi
#echo "$checkOutput"
} }
# Check the currently logged in user # Check the currently logged in user
@@ -185,10 +176,9 @@ caffexit () {
# Mark: Installation begins # Mark: Installation begins
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)" installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion) < "20A" ]]; then
echo "Skipping swiftDialog UI, using notifications." echo "Installomator should be at least version 10 to support Dialog. Installed version $installomatorVersion."
#echo "Installomator should be at least version 10 to support swiftDialog. Installed version $installomatorVersion." echo "And macOS 11 Big Sur (build 20A) is required for Dialog. Installed build $(sw_vers -buildVersion)."
#echo "And macOS 11 Big Sur (build 20A) is required for swiftDialog. Installed build $(sw_vers -buildVersion)."
installomatorNotify="NOTIFY=all" installomatorNotify="NOTIFY=all"
else else
installomatorNotify="NOTIFY=silent" installomatorNotify="NOTIFY=silent"
@@ -197,7 +187,7 @@ else
echo "Cannot find dialog at $dialogApp" echo "Cannot find dialog at $dialogApp"
# Install using Installlomator # Install using Installlomator
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)" cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
fi fi
# Configure and display swiftDialog # Configure and display swiftDialog
@@ -210,24 +200,24 @@ else
echo "$item $itemName" echo "$item $itemName"
#Check icon (expecting beginning with “http” to be web-link and “/” to be disk file) #Check icon (expecting beginning with “http” to be web-link and “/” to be disk file)
#echo "icon before check: $icon" echo "icon before check: $icon"
if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then
#echo "icon looks to be web-link" echo "icon looks to be web-link"
if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then
echo "ERROR: Cannot download ${icon} link. Reset icon." echo "ERROR: Cannot download link. Reset icon."
icon="" icon=""
fi fi
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
#echo "icon looks to be a file" echo "icon looks to be a file"
if [[ ! -a "${icon}" ]]; then if [[ ! -a "${icon}" ]]; then
echo "ERROR: Cannot find icon file ${icon}. Reset icon." echo "ERROR: Cannot find file. Reset icon."
icon="" icon=""
fi fi
else else
echo "ERROR: Cannot figure out icon ${icon}. Reset icon." echo "ERROR: Cannot figure out icon. Reset icon."
icon="" icon=""
fi fi
#echo "icon after first check: $icon" echo "icon after first check: $icon"
# If no icon defined we are trying to search for installed app icon # If no icon defined we are trying to search for installed app icon
if [[ "$icon" == "" ]]; then if [[ "$icon" == "" ]]; then
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true) appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
@@ -236,7 +226,7 @@ else
appIcon="${appIcon}.icns" appIcon="${appIcon}.icns"
fi fi
icon="${appPath}/Contents/Resources/${appIcon}" icon="${appPath}/Contents/Resources/${appIcon}"
#echo "Icon before file check: ${icon}" echo "Icon before file check: ${icon}"
if [ ! -f "${icon}" ]; then if [ ! -f "${icon}" ]; then
# Using LOGO variable to show logo in swiftDialog # Using LOGO variable to show logo in swiftDialog
case $LOGO in case $LOGO in
@@ -304,7 +294,7 @@ fi
# Install software using Installomator with valuesfromarguments # Install software using Installomator with valuesfromarguments
cmdOutput="$(${destFile} valuesfromarguments LOGO=$LOGO \ cmdOutput="$(${destFile} valuesfromarguments LOGO=$LOGO \
name=\"${name}\" \ name=${name} \
type=${type} \ type=${type} \
packageID=${packageID} \ packageID=${packageID} \
downloadURL=\"$downloadURL\" \ downloadURL=\"$downloadURL\" \
@@ -313,7 +303,7 @@ cmdOutput="$(${destFile} valuesfromarguments LOGO=$LOGO \
expectedTeamID=${expectedTeamID} \ expectedTeamID=${expectedTeamID} \
${installomatorOptions} ${installomatorNotify} || true)" ${installomatorOptions} ${installomatorNotify} || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
# Mark: dockutil stuff # Mark: dockutil stuff
if [[ $addToDock -eq 1 ]]; then if [[ $addToDock -eq 1 ]]; then
@@ -322,7 +312,7 @@ if [[ $addToDock -eq 1 ]]; then
echo "Cannot find dockutil at $dockutil, trying installation" echo "Cannot find dockutil at $dockutil, trying installation"
# Install using Installlomator # Install using Installlomator
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)" cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
fi fi
echo "Adding to Dock" echo "Adding to Dock"
$dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true $dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true
@@ -332,7 +322,9 @@ else
fi fi
# Mark: Ending # Mark: Ending
if [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then if [[ $installomatorVersion -lt 10 ]]; then
echo "Again skipping Dialog stuff."
else
# close and quit dialog # close and quit dialog
dialogUpdate "progress: complete" dialogUpdate "progress: complete"
dialogUpdate "progresstext: Done" dialogUpdate "progresstext: Done"

View File

@@ -5,18 +5,15 @@
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1" LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
# Have the label been submittet in a PR for Installomator? #item="" # enter the software to install (if it has a label in future version of Installomator)
# What version of Installomator is it expected to be included in?
# Version 10.0
item="clickshare" # enter the software to install (if it has a label in future version of Installomator)
# Variables for label # Variables for label
name="ClickShare" # If spaces in the name, fill out "${name}" in Installomator-call below, circa line 249. Spaces should be escaped in that line. name="ClickShare"
type="appInDmgInZip" type="appInDmgInZip"
packageID="" packageID=""
downloadURL="https://www.barco.com$( curl -fs "https://www.barco.com/en/clickshare/app" | grep -A6 -i "macos" | grep -i "FileNumber" | tr '"' "\n" | grep -i "FileNumber" )" downloadURL="https://www.barco.com$( curl -fs "https://www.barco.com/en/clickshare/app" | grep -A6 -i "macos" | grep -i "FileNumber" | tr '"' "\n" | grep -i "FileNumber" )"
appNewVersion="$(eval "$( echo $downloadURL | sed -E 's/.*(MajorVersion.*BuildVersion=[0-9]*).*/\1/' | sed 's/&amp//g' )" ; ((MajorVersion++)) ; ((MajorVersion--)); ((MinorVersion++)) ; ((MinorVersion--)); ((PatchVersion++)) ; ((PatchVersion--)); ((BuildVersion++)) ; ((BuildVersion--)); echo "${MajorVersion}.${MinorVersion}.${PatchVersion}-b${BuildVersion}")" appNewVersion="$(eval "$( echo $downloadURL | sed -E 's/.*(MajorVersion.*BuildVersion=[0-9]*).*/\1/' | sed 's/&amp//g' )" ; ((MajorVersion++)) ; ((MajorVersion--)); ((MinorVersion++)) ; ((MinorVersion--)); ((PatchVersion++)) ; ((PatchVersion--)); ((BuildVersion++)) ; ((BuildVersion--)); echo "${MajorVersion}.${MinorVersion}.${PatchVersion}-b${BuildVersion}")"
versionKey=""
expectedTeamID="P6CDJZR997" expectedTeamID="P6CDJZR997"
# Dialog icon # Dialog icon
@@ -54,10 +51,9 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user DIALOG_CMD_FILE=${dial
# INSTALL=force # INSTALL=force
###################################################################### ######################################################################
# To be used as a script sent out from a MDM. # To be used as a script sent out from a MDM.
# Fill out the label variables above, and those will be included in the Installomator call, circa on line 248 # Fill the variable "item" above with a label.
# Script will run this label through Installomator. # Script will run this label through Installomator.
###################################################################### ######################################################################
# v. 10.0.3 : A bit more logging on succes, and change in ending Dialog part.
# v. 10.0.2 : Improved icon checks and failovers # v. 10.0.2 : Improved icon checks and failovers
# v. 10.0.1 : Improved appIcon handling. Can add the app to Dock using dockutil # v. 10.0.1 : Improved appIcon handling. Can add the app to Dock using dockutil
# v. 10.0 : Integration with Dialog and Installomator v. 10 # v. 10.0 : Integration with Dialog and Installomator v. 10
@@ -70,10 +66,6 @@ export PATH=/usr/bin:/bin:/usr/sbin:/sbin
echo "$(date +%F\ %T) [LOG-BEGIN] $item" echo "$(date +%F\ %T) [LOG-BEGIN] $item"
if [[ -z "$item" ]]; then
item="$name"
fi
dialogUpdate() { dialogUpdate() {
# $1: dialog command # $1: dialog command
local dcommand="$1" local dcommand="$1"
@@ -84,24 +76,24 @@ dialogUpdate() {
fi fi
} }
checkCmdOutput () { checkCmdOutput () {
local checkOutput="$1" # $1: cmdOutput
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )" local cmdOutput="$1"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed." echo "${item} succesfully installed."
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )" warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
echo "$selectedOutput" echo "$warnOutput"
else else
echo "ERROR installing ${item}. Exit code ${exitStatus}" echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$checkOutput" echo "$cmdOutput"
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )" #errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput" #echo "$errorOutput"
fi fi
#echo "$checkOutput"
} }
# Check the currently logged in user # Check the currently logged in user
currentUser=$(stat -f "%Su" /dev/console) currentUser=$(stat -f "%Su" /dev/console)
if [[ -z "$currentUser" ]] || [[ "$currentUser" = "loginwindow" ]] || [[ "$currentUser" = "_mbsetupuser" ]] || [[ "$currentUser" = "root" ]]; then if [ -z "$currentUser" ] || [ "$currentUser" = "loginwindow" ] || [ "$currentUser" = "_mbsetupuser" ] || [ "$currentUser" = "root" ]; then
echo "ERROR. Logged in user is $currentUser! Cannot proceed." echo "ERROR. Logged in user is $currentUser! Cannot proceed."
exit 97 exit 97
fi fi
@@ -131,10 +123,9 @@ caffexit () {
# Mark: Installation begins # Mark: Installation begins
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)" installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion) < "20A" ]]; then
echo "Skipping swiftDialog UI, using notifications." echo "Installomator should be at least version 10 to support Dialog. Installed version $installomatorVersion."
#echo "Installomator should be at least version 10 to support swiftDialog. Installed version $installomatorVersion." echo "And macOS 11 Big Sur (build 20A) is required for Dialog. Installed build $(sw_vers -buildVersion)."
#echo "And macOS 11 Big Sur (build 20A) is required for swiftDialog. Installed build $(sw_vers -buildVersion)."
installomatorNotify="NOTIFY=all" installomatorNotify="NOTIFY=all"
else else
installomatorNotify="NOTIFY=silent" installomatorNotify="NOTIFY=silent"
@@ -143,7 +134,7 @@ else
echo "Cannot find dialog at $dialogApp" echo "Cannot find dialog at $dialogApp"
# Install using Installlomator # Install using Installlomator
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)" cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
fi fi
# Configure and display swiftDialog # Configure and display swiftDialog
@@ -156,24 +147,24 @@ else
echo "$item $itemName" echo "$item $itemName"
#Check icon (expecting beginning with “http” to be web-link and “/” to be disk file) #Check icon (expecting beginning with “http” to be web-link and “/” to be disk file)
#echo "icon before check: $icon" echo "icon before check: $icon"
if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then
#echo "icon looks to be web-link" echo "icon looks to be web-link"
if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then
echo "ERROR: Cannot download ${icon} link. Reset icon." echo "ERROR: Cannot download link. Reset icon."
icon="" icon=""
fi fi
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
#echo "icon looks to be a file" echo "icon looks to be a file"
if [[ ! -a "${icon}" ]]; then if [[ ! -a "${icon}" ]]; then
echo "ERROR: Cannot find icon file ${icon}. Reset icon." echo "ERROR: Cannot find file. Reset icon."
icon="" icon=""
fi fi
else else
echo "ERROR: Cannot figure out icon ${icon}. Reset icon." echo "ERROR: Cannot figure out icon. Reset icon."
icon="" icon=""
fi fi
#echo "icon after first check: $icon" echo "icon after first check: $icon"
# If no icon defined we are trying to search for installed app icon # If no icon defined we are trying to search for installed app icon
if [[ "$icon" == "" ]]; then if [[ "$icon" == "" ]]; then
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true) appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
@@ -182,7 +173,7 @@ else
appIcon="${appIcon}.icns" appIcon="${appIcon}.icns"
fi fi
icon="${appPath}/Contents/Resources/${appIcon}" icon="${appPath}/Contents/Resources/${appIcon}"
#echo "Icon before file check: ${icon}" echo "Icon before file check: ${icon}"
if [ ! -f "${icon}" ]; then if [ ! -f "${icon}" ]; then
# Using LOGO variable to show logo in swiftDialog # Using LOGO variable to show logo in swiftDialog
case $LOGO in case $LOGO in
@@ -250,7 +241,7 @@ fi
# Install software using Installomator with valuesfromarguments # Install software using Installomator with valuesfromarguments
cmdOutput="$(${destFile} valuesfromarguments LOGO=$LOGO \ cmdOutput="$(${destFile} valuesfromarguments LOGO=$LOGO \
name=\"${name}\" \ name=${name} \
type=${type} \ type=${type} \
packageID=${packageID} \ packageID=${packageID} \
downloadURL=\"$downloadURL\" \ downloadURL=\"$downloadURL\" \
@@ -259,7 +250,7 @@ cmdOutput="$(${destFile} valuesfromarguments LOGO=$LOGO \
expectedTeamID=${expectedTeamID} \ expectedTeamID=${expectedTeamID} \
${installomatorOptions} ${installomatorNotify} || true)" ${installomatorOptions} ${installomatorNotify} || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
# Mark: dockutil stuff # Mark: dockutil stuff
if [[ $addToDock -eq 1 ]]; then if [[ $addToDock -eq 1 ]]; then
@@ -268,7 +259,7 @@ if [[ $addToDock -eq 1 ]]; then
echo "Cannot find dockutil at $dockutil, trying installation" echo "Cannot find dockutil at $dockutil, trying installation"
# Install using Installlomator # Install using Installlomator
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)" cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
fi fi
echo "Adding to Dock" echo "Adding to Dock"
$dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true $dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true
@@ -278,7 +269,9 @@ else
fi fi
# Mark: Ending # Mark: Ending
if [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then if [[ $installomatorVersion -lt 10 ]]; then
echo "Again skipping Dialog stuff."
else
# close and quit dialog # close and quit dialog
dialogUpdate "progress: complete" dialogUpdate "progress: complete"
dialogUpdate "progresstext: Done" dialogUpdate "progresstext: Done"

View File

@@ -45,7 +45,6 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=tell_user_then_quit DIALOG_CMD_FIL
# Fill the variable "item" above with a label. # Fill the variable "item" above with a label.
# Script will run this label through Installomator. # Script will run this label through Installomator.
###################################################################### ######################################################################
# v. 10.0.3 : A bit more logging on succes, and change in ending Dialog part.
# v. 10.0.2 : Improved icon checks and failovers # v. 10.0.2 : Improved icon checks and failovers
# v. 10.0.1 : Improved appIcon handling. Can add the app to Dock using dockutil # v. 10.0.1 : Improved appIcon handling. Can add the app to Dock using dockutil
# v. 10.0 : Integration with Dialog and Installomator v. 10 # v. 10.0 : Integration with Dialog and Installomator v. 10
@@ -68,19 +67,19 @@ dialogUpdate() {
fi fi
} }
checkCmdOutput () { checkCmdOutput () {
local checkOutput="$1" # $1: cmdOutput
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )" local cmdOutput="$1"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed." echo "${item} succesfully installed."
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )" warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
echo "$selectedOutput" echo "$warnOutput"
else else
echo "ERROR installing ${item}. Exit code ${exitStatus}" echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$checkOutput" echo "$cmdOutput"
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )" #errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput" #echo "$errorOutput"
fi fi
#echo "$checkOutput"
} }
# Check the currently logged in user # Check the currently logged in user
@@ -115,10 +114,9 @@ caffexit () {
# Mark: Installation begins # Mark: Installation begins
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)" installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion) < "20A" ]]; then
echo "Skipping swiftDialog UI, using notifications." echo "Installomator should be at least version 10 to support Dialog. Installed version $installomatorVersion."
#echo "Installomator should be at least version 10 to support swiftDialog. Installed version $installomatorVersion." echo "And macOS 11 Big Sur (build 20A) is required for Dialog. Installed build $(sw_vers -buildVersion)."
#echo "And macOS 11 Big Sur (build 20A) is required for swiftDialog. Installed build $(sw_vers -buildVersion)."
installomatorNotify="NOTIFY=all" installomatorNotify="NOTIFY=all"
else else
installomatorNotify="NOTIFY=silent" installomatorNotify="NOTIFY=silent"
@@ -127,7 +125,7 @@ else
echo "Cannot find dialog at $dialogApp" echo "Cannot find dialog at $dialogApp"
# Install using Installlomator # Install using Installlomator
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)" cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
fi fi
# Configure and display swiftDialog # Configure and display swiftDialog
@@ -140,24 +138,24 @@ else
echo "$item $itemName" echo "$item $itemName"
#Check icon (expecting beginning with “http” to be web-link and “/” to be disk file) #Check icon (expecting beginning with “http” to be web-link and “/” to be disk file)
#echo "icon before check: $icon" echo "icon before check: $icon"
if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then
#echo "icon looks to be web-link" echo "icon looks to be web-link"
if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then
echo "ERROR: Cannot download ${icon} link. Reset icon." echo "ERROR: Cannot download link. Reset icon."
icon="" icon=""
fi fi
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
#echo "icon looks to be a file" echo "icon looks to be a file"
if [[ ! -a "${icon}" ]]; then if [[ ! -a "${icon}" ]]; then
echo "ERROR: Cannot find icon file ${icon}. Reset icon." echo "ERROR: Cannot find file. Reset icon."
icon="" icon=""
fi fi
else else
echo "ERROR: Cannot figure out icon ${icon}. Reset icon." echo "ERROR: Cannot figure out icon. Reset icon."
icon="" icon=""
fi fi
#echo "icon after first check: $icon" echo "icon after first check: $icon"
# If no icon defined we are trying to search for installed app icon # If no icon defined we are trying to search for installed app icon
if [[ "$icon" == "" ]]; then if [[ "$icon" == "" ]]; then
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true) appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
@@ -166,7 +164,7 @@ else
appIcon="${appIcon}.icns" appIcon="${appIcon}.icns"
fi fi
icon="${appPath}/Contents/Resources/${appIcon}" icon="${appPath}/Contents/Resources/${appIcon}"
#echo "Icon before file check: ${icon}" echo "Icon before file check: ${icon}"
if [ ! -f "${icon}" ]; then if [ ! -f "${icon}" ]; then
# Using LOGO variable to show logo in swiftDialog # Using LOGO variable to show logo in swiftDialog
case $LOGO in case $LOGO in
@@ -234,7 +232,7 @@ fi
# Install software using Installomator # Install software using Installomator
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} ${installomatorNotify} || true)" cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} ${installomatorNotify} || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
# Mark: dockutil stuff # Mark: dockutil stuff
if [[ $addToDock -eq 1 ]]; then if [[ $addToDock -eq 1 ]]; then
@@ -243,7 +241,7 @@ if [[ $addToDock -eq 1 ]]; then
echo "Cannot find dockutil at $dockutil, trying installation" echo "Cannot find dockutil at $dockutil, trying installation"
# Install using Installlomator # Install using Installlomator
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)" cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
fi fi
echo "Adding to Dock" echo "Adding to Dock"
$dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true $dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true
@@ -253,7 +251,9 @@ else
fi fi
# Mark: Ending # Mark: Ending
if [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then if [[ $installomatorVersion -lt 10 ]]; then
echo "Again skipping Dialog stuff."
else
# close and quit dialog # close and quit dialog
dialogUpdate "progress: complete" dialogUpdate "progress: complete"
dialogUpdate "progresstext: Done" dialogUpdate "progresstext: Done"

View File

@@ -45,7 +45,6 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user DIALOG_CMD_FILE=${dial
# Fill the variable "item" above with a label. # Fill the variable "item" above with a label.
# Script will run this label through Installomator. # Script will run this label through Installomator.
###################################################################### ######################################################################
# v. 10.0.3 : A bit more logging on succes, and change in ending Dialog part.
# v. 10.0.2 : Improved icon checks and failovers # v. 10.0.2 : Improved icon checks and failovers
# v. 10.0.1 : Improved appIcon handling. Can add the app to Dock using dockutil # v. 10.0.1 : Improved appIcon handling. Can add the app to Dock using dockutil
# v. 10.0 : Integration with Dialog and Installomator v. 10 # v. 10.0 : Integration with Dialog and Installomator v. 10
@@ -68,19 +67,19 @@ dialogUpdate() {
fi fi
} }
checkCmdOutput () { checkCmdOutput () {
local checkOutput="$1" # $1: cmdOutput
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )" local cmdOutput="$1"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed." echo "${item} succesfully installed."
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )" warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
echo "$selectedOutput" echo "$warnOutput"
else else
echo "ERROR installing ${item}. Exit code ${exitStatus}" echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$checkOutput" echo "$cmdOutput"
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )" #errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput" #echo "$errorOutput"
fi fi
#echo "$checkOutput"
} }
# Check the currently logged in user # Check the currently logged in user
@@ -115,10 +114,9 @@ caffexit () {
# Mark: Installation begins # Mark: Installation begins
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)" installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion) < "20A" ]]; then
echo "Skipping swiftDialog UI, using notifications." echo "Installomator should be at least version 10 to support Dialog. Installed version $installomatorVersion."
#echo "Installomator should be at least version 10 to support swiftDialog. Installed version $installomatorVersion." echo "And macOS 11 Big Sur (build 20A) is required for Dialog. Installed build $(sw_vers -buildVersion)."
#echo "And macOS 11 Big Sur (build 20A) is required for swiftDialog. Installed build $(sw_vers -buildVersion)."
installomatorNotify="NOTIFY=all" installomatorNotify="NOTIFY=all"
else else
installomatorNotify="NOTIFY=silent" installomatorNotify="NOTIFY=silent"
@@ -127,7 +125,7 @@ else
echo "Cannot find dialog at $dialogApp" echo "Cannot find dialog at $dialogApp"
# Install using Installlomator # Install using Installlomator
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)" cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
fi fi
# Configure and display swiftDialog # Configure and display swiftDialog
@@ -140,24 +138,24 @@ else
echo "$item $itemName" echo "$item $itemName"
#Check icon (expecting beginning with “http” to be web-link and “/” to be disk file) #Check icon (expecting beginning with “http” to be web-link and “/” to be disk file)
#echo "icon before check: $icon" echo "icon before check: $icon"
if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then
#echo "icon looks to be web-link" echo "icon looks to be web-link"
if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then
echo "ERROR: Cannot download ${icon} link. Reset icon." echo "ERROR: Cannot download link. Reset icon."
icon="" icon=""
fi fi
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
#echo "icon looks to be a file" echo "icon looks to be a file"
if [[ ! -a "${icon}" ]]; then if [[ ! -a "${icon}" ]]; then
echo "ERROR: Cannot find icon file ${icon}. Reset icon." echo "ERROR: Cannot find file. Reset icon."
icon="" icon=""
fi fi
else else
echo "ERROR: Cannot figure out icon ${icon}. Reset icon." echo "ERROR: Cannot figure out icon. Reset icon."
icon="" icon=""
fi fi
#echo "icon after first check: $icon" echo "icon after first check: $icon"
# If no icon defined we are trying to search for installed app icon # If no icon defined we are trying to search for installed app icon
if [[ "$icon" == "" ]]; then if [[ "$icon" == "" ]]; then
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true) appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
@@ -166,7 +164,7 @@ else
appIcon="${appIcon}.icns" appIcon="${appIcon}.icns"
fi fi
icon="${appPath}/Contents/Resources/${appIcon}" icon="${appPath}/Contents/Resources/${appIcon}"
#echo "Icon before file check: ${icon}" echo "Icon before file check: ${icon}"
if [ ! -f "${icon}" ]; then if [ ! -f "${icon}" ]; then
# Using LOGO variable to show logo in swiftDialog # Using LOGO variable to show logo in swiftDialog
case $LOGO in case $LOGO in
@@ -234,7 +232,7 @@ fi
# Install software using Installomator # Install software using Installomator
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} ${installomatorNotify} || true)" cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} ${installomatorNotify} || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
# Mark: dockutil stuff # Mark: dockutil stuff
if [[ $addToDock -eq 1 ]]; then if [[ $addToDock -eq 1 ]]; then
@@ -243,7 +241,7 @@ if [[ $addToDock -eq 1 ]]; then
echo "Cannot find dockutil at $dockutil, trying installation" echo "Cannot find dockutil at $dockutil, trying installation"
# Install using Installlomator # Install using Installlomator
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)" cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
fi fi
echo "Adding to Dock" echo "Adding to Dock"
for appPath in "${appPaths[@]}"; do for appPath in "${appPaths[@]}"; do
@@ -256,7 +254,9 @@ else
fi fi
# Mark: Ending # Mark: Ending
iif [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then if [[ $installomatorVersion -lt 10 ]]; then
echo "Again skipping Dialog stuff."
else
# close and quit dialog # close and quit dialog
dialogUpdate "progress: complete" dialogUpdate "progress: complete"
dialogUpdate "progresstext: Done" dialogUpdate "progresstext: Done"

View File

@@ -42,7 +42,6 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user DIALOG_CMD_FILE=${dial
# Fill the variable "item" above with a label. # Fill the variable "item" above with a label.
# Script will run this label through Installomator. # Script will run this label through Installomator.
###################################################################### ######################################################################
# v. 10.0.3 : A bit more logging on succes, and change in ending Dialog part.
# v. 10.0.2 : Improved icon checks and failovers # v. 10.0.2 : Improved icon checks and failovers
# v. 10.0.1 : Improved appIcon handling. Can add the app to Dock using dockutil # v. 10.0.1 : Improved appIcon handling. Can add the app to Dock using dockutil
# v. 10.0 : Integration with Dialog and Installomator v. 10 # v. 10.0 : Integration with Dialog and Installomator v. 10
@@ -65,19 +64,19 @@ dialogUpdate() {
fi fi
} }
checkCmdOutput () { checkCmdOutput () {
local checkOutput="$1" # $1: cmdOutput
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )" local cmdOutput="$1"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed." echo "${item} succesfully installed."
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )" warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
echo "$selectedOutput" echo "$warnOutput"
else else
echo "ERROR installing ${item}. Exit code ${exitStatus}" echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$checkOutput" echo "$cmdOutput"
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )" #errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput" #echo "$errorOutput"
fi fi
#echo "$checkOutput"
} }
# Check the currently logged in user # Check the currently logged in user
@@ -112,10 +111,9 @@ caffexit () {
# Mark: Installation begins # Mark: Installation begins
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)" installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion) < "20A" ]]; then
echo "Skipping swiftDialog UI, using notifications." echo "Installomator should be at least version 10 to support Dialog. Installed version $installomatorVersion."
#echo "Installomator should be at least version 10 to support swiftDialog. Installed version $installomatorVersion." echo "And macOS 11 Big Sur (build 20A) is required for Dialog. Installed build $(sw_vers -buildVersion)."
#echo "And macOS 11 Big Sur (build 20A) is required for swiftDialog. Installed build $(sw_vers -buildVersion)."
installomatorNotify="NOTIFY=all" installomatorNotify="NOTIFY=all"
else else
installomatorNotify="NOTIFY=silent" installomatorNotify="NOTIFY=silent"
@@ -124,7 +122,7 @@ else
echo "Cannot find dialog at $dialogApp" echo "Cannot find dialog at $dialogApp"
# Install using Installlomator # Install using Installlomator
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)" cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
fi fi
# Configure and display swiftDialog # Configure and display swiftDialog
@@ -137,24 +135,24 @@ else
echo "$item $itemName" echo "$item $itemName"
#Check icon (expecting beginning with “http” to be web-link and “/” to be disk file) #Check icon (expecting beginning with “http” to be web-link and “/” to be disk file)
#echo "icon before check: $icon" echo "icon before check: $icon"
if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then
#echo "icon looks to be web-link" echo "icon looks to be web-link"
if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then
echo "ERROR: Cannot download ${icon} link. Reset icon." echo "ERROR: Cannot download link. Reset icon."
icon="" icon=""
fi fi
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
#echo "icon looks to be a file" echo "icon looks to be a file"
if [[ ! -a "${icon}" ]]; then if [[ ! -a "${icon}" ]]; then
echo "ERROR: Cannot find icon file ${icon}. Reset icon." echo "ERROR: Cannot find file. Reset icon."
icon="" icon=""
fi fi
else else
echo "ERROR: Cannot figure out icon ${icon}. Reset icon." echo "ERROR: Cannot figure out icon. Reset icon."
icon="" icon=""
fi fi
#echo "icon after first check: $icon" echo "icon after first check: $icon"
# If no icon defined we are trying to search for installed app icon # If no icon defined we are trying to search for installed app icon
if [[ "$icon" == "" ]]; then if [[ "$icon" == "" ]]; then
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true) appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
@@ -163,7 +161,7 @@ else
appIcon="${appIcon}.icns" appIcon="${appIcon}.icns"
fi fi
icon="${appPath}/Contents/Resources/${appIcon}" icon="${appPath}/Contents/Resources/${appIcon}"
#echo "Icon before file check: ${icon}" echo "Icon before file check: ${icon}"
if [ ! -f "${icon}" ]; then if [ ! -f "${icon}" ]; then
# Using LOGO variable to show logo in swiftDialog # Using LOGO variable to show logo in swiftDialog
case $LOGO in case $LOGO in
@@ -231,7 +229,7 @@ fi
# Install software using Installomator # Install software using Installomator
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} ${installomatorNotify} || true)" cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} ${installomatorNotify} || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
# Mark: dockutil stuff # Mark: dockutil stuff
if [[ $addToDock -eq 1 ]]; then if [[ $addToDock -eq 1 ]]; then
@@ -240,7 +238,7 @@ if [[ $addToDock -eq 1 ]]; then
echo "Cannot find dockutil at $dockutil, trying installation" echo "Cannot find dockutil at $dockutil, trying installation"
# Install using Installlomator # Install using Installlomator
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)" cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
fi fi
echo "Adding to Dock" echo "Adding to Dock"
$dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true $dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true
@@ -250,7 +248,9 @@ else
fi fi
# Mark: Ending # Mark: Ending
if [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then if [[ $installomatorVersion -lt 10 ]]; then
echo "Again skipping Dialog stuff."
else
# close and quit dialog # close and quit dialog
dialogUpdate "progress: complete" dialogUpdate "progress: complete"
dialogUpdate "progresstext: Done" dialogUpdate "progresstext: Done"

View File

@@ -21,7 +21,7 @@ dialog_command_file="/var/tmp/dialog.log"
dialogApp="/Library/Application Support/Dialog/Dialog.app" dialogApp="/Library/Application Support/Dialog/Dialog.app"
dockutil="/usr/local/bin/dockutil" dockutil="/usr/local/bin/dockutil"
installomatorOptions="BLOCKING_PROCESS_ACTION=ignore DIALOG_CMD_FILE=${dialog_command_file}" # Separated by space installomatorOptions="BLOCKING_PROCESS_ACTION=ignore NOTIFY=silent DIALOG_CMD_FILE=${dialog_command_file}" # Separated by space
# Other installomatorOptions: # Other installomatorOptions:
# LOGGING=REQ # LOGGING=REQ
@@ -45,7 +45,6 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=ignore DIALOG_CMD_FILE=${dialog_co
# Fill the variable "item" above with a label. # Fill the variable "item" above with a label.
# Script will run this label through Installomator. # Script will run this label through Installomator.
###################################################################### ######################################################################
# v. 10.0.3 : A bit more logging on succes, and change in ending Dialog part.
# v. 10.0.2 : Improved icon checks and failovers # v. 10.0.2 : Improved icon checks and failovers
# v. 10.0.1 : Can add the app to Dock using dockutil # v. 10.0.1 : Can add the app to Dock using dockutil
# v. 10.0 : Integration with Dialog and Installomator v. 10 # v. 10.0 : Integration with Dialog and Installomator v. 10
@@ -68,19 +67,19 @@ dialogUpdate() {
fi fi
} }
checkCmdOutput () { checkCmdOutput () {
local checkOutput="$1" # $1: cmdOutput
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )" local cmdOutput="$1"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed." echo "${item} succesfully installed."
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )" warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
echo "$selectedOutput" echo "$warnOutput"
else else
echo "ERROR installing ${item}. Exit code ${exitStatus}" echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$checkOutput" echo "$cmdOutput"
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )" #errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput" #echo "$errorOutput"
fi fi
#echo "$checkOutput"
} }
# Check the currently logged in user # Check the currently logged in user
@@ -115,10 +114,9 @@ caffexit () {
# Mark: Installation begins # Mark: Installation begins
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)" installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion) < "20A" ]]; then
echo "Skipping swiftDialog UI, using notifications." echo "Installomator should be at least version 10 to support Dialog. Installed version $installomatorVersion."
#echo "Installomator should be at least version 10 to support swiftDialog. Installed version $installomatorVersion." echo "And macOS 11 Big Sur (build 20A) is required for Dialog. Installed build $(sw_vers -buildVersion)."
#echo "And macOS 11 Big Sur (build 20A) is required for swiftDialog. Installed build $(sw_vers -buildVersion)."
installomatorNotify="NOTIFY=all" installomatorNotify="NOTIFY=all"
else else
installomatorNotify="NOTIFY=silent" installomatorNotify="NOTIFY=silent"
@@ -127,7 +125,7 @@ else
echo "Cannot find dialog at $dialogApp" echo "Cannot find dialog at $dialogApp"
# Install using Installlomator # Install using Installlomator
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)" cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
fi fi
# Configure and display swiftDialog # Configure and display swiftDialog
@@ -140,24 +138,24 @@ else
echo "$item $itemName" echo "$item $itemName"
#Check icon (expecting beginning with “http” to be web-link and “/” to be disk file) #Check icon (expecting beginning with “http” to be web-link and “/” to be disk file)
#echo "icon before check: $icon" echo "icon before check: $icon"
if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then
#echo "icon looks to be web-link" echo "icon looks to be web-link"
if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then
echo "ERROR: Cannot download ${icon} link. Reset icon." echo "ERROR: Cannot download link. Reset icon."
icon="" icon=""
fi fi
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
#echo "icon looks to be a file" echo "icon looks to be a file"
if [[ ! -a "${icon}" ]]; then if [[ ! -a "${icon}" ]]; then
echo "ERROR: Cannot find icon file ${icon}. Reset icon." echo "ERROR: Cannot find file. Reset icon."
icon="" icon=""
fi fi
else else
echo "ERROR: Cannot figure out icon ${icon}. Reset icon." echo "ERROR: Cannot figure out icon. Reset icon."
icon="" icon=""
fi fi
#echo "icon after first check: $icon" echo "icon after first check: $icon"
# If no icon defined we are trying to search for installed app icon # If no icon defined we are trying to search for installed app icon
if [[ "$icon" == "" ]]; then if [[ "$icon" == "" ]]; then
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true) appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
@@ -166,7 +164,7 @@ else
appIcon="${appIcon}.icns" appIcon="${appIcon}.icns"
fi fi
icon="${appPath}/Contents/Resources/${appIcon}" icon="${appPath}/Contents/Resources/${appIcon}"
#echo "Icon before file check: ${icon}" echo "Icon before file check: ${icon}"
if [ ! -f "${icon}" ]; then if [ ! -f "${icon}" ]; then
# Using LOGO variable to show logo in swiftDialog # Using LOGO variable to show logo in swiftDialog
case $LOGO in case $LOGO in
@@ -234,7 +232,7 @@ fi
# Install software using Installomator # Install software using Installomator
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} ${installomatorNotify} || true)" cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} ${installomatorNotify} || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
# Mark: dockutil stuff # Mark: dockutil stuff
if [[ $addToDock -eq 1 ]]; then if [[ $addToDock -eq 1 ]]; then
@@ -243,7 +241,7 @@ if [[ $addToDock -eq 1 ]]; then
echo "Cannot find dockutil at $dockutil, trying installation" echo "Cannot find dockutil at $dockutil, trying installation"
# Install using Installlomator # Install using Installlomator
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)" cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}" checkCmdOutput $cmdOutput
fi fi
echo "Adding to Dock" echo "Adding to Dock"
$dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true $dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true
@@ -253,7 +251,9 @@ else
fi fi
# Mark: Ending # Mark: Ending
if [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then if [[ $installomatorVersion -lt 10 ]]; then
echo "Again skipping Dialog stuff."
else
# close and quit dialog # close and quit dialog
dialogUpdate "progress: complete" dialogUpdate "progress: complete"
dialogUpdate "progresstext: Done" dialogUpdate "progresstext: Done"

View File

@@ -5,14 +5,10 @@
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1" LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
# Have the label been submittet in a PR for Installomator? #item="" # enter the software to install (if it has a label in future version of Installomator)
# What version of Installomator is it expected to be included in?
# Version 10
item="" # enter the software to install (if it has a label in future version of Installomator)
# Variables for label # Variables for label
name="ClickShare" # Spaces in the name will not work name="ClickShare"
type="appInDmgInZip" type="appInDmgInZip"
packageID="" packageID=""
downloadURL="https://www.barco.com$( curl -fs "https://www.barco.com/en/clickshare/app" | grep -A6 -i "macos" | grep -i "FileNumber" | tr '"' "\n" | grep -i "FileNumber" )" downloadURL="https://www.barco.com$( curl -fs "https://www.barco.com/en/clickshare/app" | grep -A6 -i "macos" | grep -i "FileNumber" | tr '"' "\n" | grep -i "FileNumber" )"
@@ -44,7 +40,6 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user LOGGING=INFO NOTIFY=al
# Fill the variable "what" above with a label. # Fill the variable "what" above with a label.
# Script will run this label through Installomator. # Script will run this label through Installomator.
###################################################################### ######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix. # v. 9.2.1 : Better logging handling and installomatorOptions fix.
###################################################################### ######################################################################
@@ -89,8 +84,8 @@ cmdOutput="$(${destFile} valuesfromarguments LOGO=$LOGO \
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )" exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then if [[ ${exitStatus} -eq 0 ]] ; then
echo "${what} succesfully installed." echo "${what} succesfully installed."
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )" warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
echo "$selectedOutput" echo "$warnOutput"
else else
echo "ERROR installing ${what}. Exit code ${exitStatus}" echo "ERROR installing ${what}. Exit code ${exitStatus}"
echo "$cmdOutput" echo "$cmdOutput"

View File

@@ -31,7 +31,6 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=tell_user_then_quit" # Separated b
# Fill the variable "item" above with a label. # Fill the variable "item" above with a label.
# Script will run this label through Installomator. # Script will run this label through Installomator.
###################################################################### ######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix. # v. 9.2.1 : Better logging handling and installomatorOptions fix.
###################################################################### ######################################################################
@@ -66,8 +65,8 @@ cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} || true)"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )" exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed." echo "${item} succesfully installed."
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )" warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
echo "$selectedOutput" echo "$warnOutput"
else else
echo "ERROR installing ${item}. Exit code ${exitStatus}" echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$cmdOutput" echo "$cmdOutput"

View File

@@ -31,7 +31,6 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=tell_user_then_quit NOTIFY=all" #
# Fill the variable "what" above with a label. # Fill the variable "what" above with a label.
# Script will run this label through Installomator. # Script will run this label through Installomator.
###################################################################### ######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix. # v. 9.2.1 : Better logging handling and installomatorOptions fix.
###################################################################### ######################################################################
@@ -66,8 +65,8 @@ cmdOutput="$(${destFile} ${what} LOGO=$LOGO ${installomatorOptions} || true)"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )" exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then if [[ ${exitStatus} -eq 0 ]] ; then
echo "${what} succesfully installed." echo "${what} succesfully installed."
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )" warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
echo "$selectedOutput" echo "$warnOutput"
else else
echo "ERROR installing ${what}. Exit code ${exitStatus}" echo "ERROR installing ${what}. Exit code ${exitStatus}"
echo "$cmdOutput" echo "$cmdOutput"

View File

@@ -31,7 +31,6 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=tell_user" # Separated by space
# Fill the variable "item" above with a label. # Fill the variable "item" above with a label.
# Script will run this label through Installomator. # Script will run this label through Installomator.
###################################################################### ######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix. # v. 9.2.1 : Better logging handling and installomatorOptions fix.
###################################################################### ######################################################################
@@ -66,8 +65,8 @@ cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} || true)"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )" exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed." echo "${item} succesfully installed."
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )" warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
echo "$selectedOutput" echo "$warnOutput"
else else
echo "ERROR installing ${item}. Exit code ${exitStatus}" echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$cmdOutput" echo "$cmdOutput"

View File

@@ -32,7 +32,6 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user NOTIFY=all" # Separate
# Fill the variable "item" above with a label. # Fill the variable "item" above with a label.
# Script will run this label through Installomator. # Script will run this label through Installomator.
###################################################################### ######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix. # v. 9.2.1 : Better logging handling and installomatorOptions fix.
###################################################################### ######################################################################
@@ -67,8 +66,8 @@ cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} || true)"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )" exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed." echo "${item} succesfully installed."
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )" warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
echo "$selectedOutput" echo "$warnOutput"
else else
echo "ERROR installing ${item}. Exit code ${exitStatus}" echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$cmdOutput" echo "$cmdOutput"

View File

@@ -31,7 +31,6 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=ignore NOTIFY=silent" # Separated
# Fill the variable "item" above with a label. # Fill the variable "item" above with a label.
# Script will run this label through Installomator. # Script will run this label through Installomator.
###################################################################### ######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix. # v. 9.2.1 : Better logging handling and installomatorOptions fix.
###################################################################### ######################################################################
@@ -66,8 +65,8 @@ cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} || true)"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )" exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed." echo "${item} succesfully installed."
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )" warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
echo "$selectedOutput" echo "$warnOutput"
else else
echo "ERROR installing ${item}. Exit code ${exitStatus}" echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$cmdOutput" echo "$cmdOutput"

View File

@@ -33,7 +33,6 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=tell_user_then_quit" # Separated b
# Fill the variable "item" above with a label. # Fill the variable "item" above with a label.
# Script will run this label through Installomator. # Script will run this label through Installomator.
###################################################################### ######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix. # v. 9.2.1 : Better logging handling and installomatorOptions fix.
###################################################################### ######################################################################
@@ -78,8 +77,8 @@ cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} || true)"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )" exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed." echo "${item} succesfully installed."
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )" warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
echo "$selectedOutput" echo "$warnOutput"
else else
echo "ERROR installing ${item}. Exit code ${exitStatus}" echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$cmdOutput" echo "$cmdOutput"

View File

@@ -33,7 +33,6 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user" # Separated by space
# Fill the variable "item" above with a label. # Fill the variable "item" above with a label.
# Script will run this label through Installomator. # Script will run this label through Installomator.
###################################################################### ######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix. # v. 9.2.1 : Better logging handling and installomatorOptions fix.
###################################################################### ######################################################################
@@ -78,8 +77,8 @@ cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} || true)"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )" exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed." echo "${item} succesfully installed."
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )" warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
echo "$selectedOutput" echo "$warnOutput"
else else
echo "ERROR installing ${item}. Exit code ${exitStatus}" echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$cmdOutput" echo "$cmdOutput"

View File

@@ -1,19 +0,0 @@
#!/bin/sh
# A small script to grab Installomator log from a client Mac.
# Can be sent to the client so the result can be seen in MDM
# Only uncomment the line below for the things you want to see.
logFile="/var/log/Installomator.log"
# Show latest 100 lines of the log
tail -100 "${logFile}"
# Show latest 500 lines but filter to REQ|ERROR|WARN lines
# Great overview of the log
#tail -500 "${logFile}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)"
# Show only one label
# Great to see everything for a label that might fail or not working as expected
label="valuesfromarguments"
#cat "${logFile}" | grep --binary-files=text ": ${label}"

View File

@@ -54,8 +54,7 @@ errorMessage="A problem was encountered setting up this Mac. Please contact IT."
# https://github.com/Installomator/Installomator # https://github.com/Installomator/Installomator
# #
###################################################################### ######################################################################
scriptVersion="9.6" scriptVersion="9.5"
# v. 9.6 : 2022-11-15 : GitHub API call is first, only try alternative if that fails.
# v. 9.5 : 2022-09-21 : change of GitHub download # v. 9.5 : 2022-09-21 : change of GitHub download
# v. 9.4 : 2022-09-14 : downloadURL can fall back on GitHub API # v. 9.4 : 2022-09-14 : downloadURL can fall back on GitHub API
# v. 9.3 : 2022-08-29 : installomatorOptions in quotes and ignore blocking processes. Improved installation with looping if it fails, so it can try again. Improved GitHub handling. ws1 support. # v. 9.3 : 2022-08-29 : installomatorOptions in quotes and ignore blocking processes. Improved installation with looping if it fails, so it can try again. Improved GitHub handling. ws1 support.
@@ -208,11 +207,11 @@ gitusername="Installomator"
gitreponame="Installomator" gitreponame="Installomator"
#printlog "$gitusername $gitreponame" #printlog "$gitusername $gitreponame"
filetype="pkg" filetype="pkg"
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }") #downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "GitHub API failed, trying failover." printlog "Trying GitHub API for download URL."
#downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)" downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi fi
#printlog "$downloadURL" #printlog "$downloadURL"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g') appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')

View File

@@ -52,8 +52,7 @@ errorMessage="A problem was encountered setting up this Mac. Please contact IT."
# https://github.com/Installomator/Installomator # https://github.com/Installomator/Installomator
# #
###################################################################### ######################################################################
scriptVersion="9.6" scriptVersion="9.5"
# v. 9.6 : 2022-11-15 : GitHub API call is first, only try alternative if that fails.
# v. 9.5 : 2022-09-21 : change of GitHub download # v. 9.5 : 2022-09-21 : change of GitHub download
# v. 9.4 : 2022-09-14 : Making error message optional. downloadURL can fall back on GitHub API. # v. 9.4 : 2022-09-14 : Making error message optional. downloadURL can fall back on GitHub API.
# v. 9.3 : 2022-08-29 : installomatorOptions in quotes and ignore blocking processes. Improved installation with looping if it fails, so it can try again. Improved GitHub handling. ws1 support. # v. 9.3 : 2022-08-29 : installomatorOptions in quotes and ignore blocking processes. Improved installation with looping if it fails, so it can try again. Improved GitHub handling. ws1 support.
@@ -179,11 +178,11 @@ gitusername="Installomator"
gitreponame="Installomator" gitreponame="Installomator"
#printlog "$gitusername $gitreponame" #printlog "$gitusername $gitreponame"
filetype="pkg" filetype="pkg"
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }") #downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "GitHub API failed, trying failover." printlog "Trying GitHub API for download URL."
#downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)" downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi fi
#printlog "$downloadURL" #printlog "$downloadURL"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g') appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')

View File

@@ -54,8 +54,7 @@ errorMessage="A problem was encountered setting up this Mac. Please contact IT."
# https://github.com/Installomator/Installomator # https://github.com/Installomator/Installomator
# #
###################################################################### ######################################################################
scriptVersion="9.6" scriptVersion="9.5"
# v. 9.6 : 2022-11-15 : GitHub API call is first, only try alternative if that fails.
# v. 9.5 : 2022-09-21 : change of GitHub download # v. 9.5 : 2022-09-21 : change of GitHub download
# v. 9.4 : 2022-09-14 : downloadURL can fall back on GitHub API # v. 9.4 : 2022-09-14 : downloadURL can fall back on GitHub API
# v. 9.3 : 2022-08-29 : installomatorOptions in quotes and ignore blocking processes. Improved installation with looping if it fails, so it can try again. Improved GitHub handling. ws1 support. # v. 9.3 : 2022-08-29 : installomatorOptions in quotes and ignore blocking processes. Improved installation with looping if it fails, so it can try again. Improved GitHub handling. ws1 support.
@@ -208,11 +207,11 @@ gitusername="Installomator"
gitreponame="Installomator" gitreponame="Installomator"
#printlog "$gitusername $gitreponame" #printlog "$gitusername $gitreponame"
filetype="pkg" filetype="pkg"
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }") #downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "GitHub API failed, trying failover." printlog "Trying GitHub API for download URL."
#downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)" downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi fi
#printlog "$downloadURL" #printlog "$downloadURL"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g') appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')

View File

@@ -51,8 +51,7 @@ errorMessage="A problem was encountered setting up this Mac. Please contact IT."
# https://github.com/Installomator/Installomator # https://github.com/Installomator/Installomator
# #
###################################################################### ######################################################################
scriptVersion="9.6" scriptVersion="9.5"
# v. 9.6 : 2022-11-15 : GitHub API call is first, only try alternative if that fails.
# v. 9.5 : 2022-09-21 : change of GitHub download # v. 9.5 : 2022-09-21 : change of GitHub download
# v. 9.4 : 2022-09-14 : Making error message optional. downloadURL can fall back on GitHub API. # v. 9.4 : 2022-09-14 : Making error message optional. downloadURL can fall back on GitHub API.
# v. 9.3 : 2022-08-29 : installomatorOptions in quotes and ignore blocking processes. Improved installation with looping if it fails, so it can try again. Improved GitHub handling. ws1 support. # v. 9.3 : 2022-08-29 : installomatorOptions in quotes and ignore blocking processes. Improved installation with looping if it fails, so it can try again. Improved GitHub handling. ws1 support.
@@ -178,11 +177,11 @@ gitusername="Installomator"
gitreponame="Installomator" gitreponame="Installomator"
#printlog "$gitusername $gitreponame" #printlog "$gitusername $gitreponame"
filetype="pkg" filetype="pkg"
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }") #downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "GitHub API failed, trying failover." printlog "Trying GitHub API for download URL."
#downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)" downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi fi
#printlog "$downloadURL" #printlog "$downloadURL"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g') appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')

View File

@@ -54,11 +54,11 @@ gitusername="bartreardon"
gitreponame="swiftDialog" gitreponame="swiftDialog"
#echo "$gitusername $gitreponame" #echo "$gitusername $gitreponame"
filetype="pkg" filetype="pkg"
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }") #downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "GitHub API failed, trying failover." echo "Trying GitHub API for download URL."
#downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)" downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi fi
#echo "$downloadURL" #echo "$downloadURL"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g') appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')

View File

@@ -86,8 +86,7 @@ errorMessage="A problem was encountered setting up this Mac. Please contact IT."
# Or fonts, like: # Or fonts, like:
# "Apple SF Pro Font,/Library/Fonts/SF-Pro.ttf" # "Apple SF Pro Font,/Library/Fonts/SF-Pro.ttf"
###################################################################### ######################################################################
scriptVersion="9.6" scriptVersion="9.5"
# v. 9.6 : 2022-11-15 : GitHub API call is first, only try alternative if that fails.
# v. 9.5 : 2022-09-21 : change of GitHub download # v. 9.5 : 2022-09-21 : change of GitHub download
# v. 9.4 : 2022-09-14 : downloadURL can fall back on GitHub API # v. 9.4 : 2022-09-14 : downloadURL can fall back on GitHub API
# v. 9.3 : 2022-08-29 : Logging changed for current version. Improved installation with looping if it fails, so it can try again. Improved GitHub handling. # v. 9.3 : 2022-08-29 : Logging changed for current version. Improved installation with looping if it fails, so it can try again. Improved GitHub handling.
@@ -231,11 +230,11 @@ gitusername="bartreardon"
gitreponame="swiftDialog" gitreponame="swiftDialog"
#printlog "$gitusername $gitreponame" #printlog "$gitusername $gitreponame"
filetype="pkg" filetype="pkg"
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }") #downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "GitHub API failed, trying failover." printlog "Trying GitHub API for download URL."
#downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)" downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi fi
#printlog "$downloadURL" #printlog "$downloadURL"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g') appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
@@ -246,7 +245,6 @@ versionKey="CFBundleShortVersionString" #CFBundleVersion
currentInstalledVersion="$(defaults read "${destFile}/Contents/Info.plist" $versionKey || true)" currentInstalledVersion="$(defaults read "${destFile}/Contents/Info.plist" $versionKey || true)"
printlog "${name} version: $currentInstalledVersion" printlog "${name} version: $currentInstalledVersion"
destFile="/usr/local/bin/dialog"
if [[ ! -e "${destFile}" || "$currentInstalledVersion" != "$appNewVersion" ]]; then if [[ ! -e "${destFile}" || "$currentInstalledVersion" != "$appNewVersion" ]]; then
printlog "$name not found or version not latest." printlog "$name not found or version not latest."
printlog "${destFile}" printlog "${destFile}"

View File

@@ -16,8 +16,7 @@
# https://github.com/Installomator/Installomator # https://github.com/Installomator/Installomator
# #
###################################################################### ######################################################################
scriptVersion="9.6" scriptVersion="9.5"
# v. 9.6 : 2022-11-15 : GitHub API call is first, only try alternative if that fails.
# v. 9.5 : 2022-09-21 : change of GitHub download # v. 9.5 : 2022-09-21 : change of GitHub download
# v. 9.4 : 2022-09-14 : downloadURL can fall back on GitHub API # v. 9.4 : 2022-09-14 : downloadURL can fall back on GitHub API
# v. 9.3 : 2022-08-29 : Logging changed for current version. Improved installation with looping if it fails, so it can try again. Improved GitHub handling. # v. 9.3 : 2022-08-29 : Logging changed for current version. Improved installation with looping if it fails, so it can try again. Improved GitHub handling.
@@ -66,11 +65,11 @@ gitusername="Installomator"
gitreponame="Installomator" gitreponame="Installomator"
#printlog "$gitusername $gitreponame" #printlog "$gitusername $gitreponame"
filetype="pkg" filetype="pkg"
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }") #downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "GitHub API failed, trying failover." printlog "Trying GitHub API for download URL."
#downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)" downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi fi
#printlog "$downloadURL" #printlog "$downloadURL"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g') appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')

View File

@@ -16,8 +16,7 @@
# https://github.com/Installomator/Installomator # https://github.com/Installomator/Installomator
# #
###################################################################### ######################################################################
scriptVersion="9.6" scriptVersion="9.5"
# v. 9.6 : 2022-11-15 : GitHub API call is first, only try alternative if that fails.
# v. 9.5 : 2022-09-21 : change of GitHub download # v. 9.5 : 2022-09-21 : change of GitHub download
# v. 9.4 : 2022-09-14 : downloadURL can fall back on GitHub API. # v. 9.4 : 2022-09-14 : downloadURL can fall back on GitHub API.
# v. 9.3 : 2022-08-29 : Logging changed for current version. Improved installation with looping if it fails, so it can try again. Improved GitHub handling. # v. 9.3 : 2022-08-29 : Logging changed for current version. Improved installation with looping if it fails, so it can try again. Improved GitHub handling.
@@ -66,11 +65,11 @@ gitusername="bartreardon"
gitreponame="swiftDialog" gitreponame="swiftDialog"
#printlog "$gitusername $gitreponame" #printlog "$gitusername $gitreponame"
filetype="pkg" filetype="pkg"
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }") #downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "GitHub API failed, trying failover." printlog "Trying GitHub API for download URL."
#downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)" downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi fi
#printlog "$downloadURL" #printlog "$downloadURL"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g') appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
@@ -81,7 +80,6 @@ versionKey="CFBundleShortVersionString" #CFBundleVersion
currentInstalledVersion="$(defaults read "${destFile}/Contents/Info.plist" $versionKey || true)" currentInstalledVersion="$(defaults read "${destFile}/Contents/Info.plist" $versionKey || true)"
printlog "${name} version: $currentInstalledVersion" printlog "${name} version: $currentInstalledVersion"
destFile="/usr/local/bin/dialog"
if [[ ! -e "${destFile}" || "$currentInstalledVersion" != "$appNewVersion" ]]; then if [[ ! -e "${destFile}" || "$currentInstalledVersion" != "$appNewVersion" ]]; then
printlog "$name not found or version not latest." printlog "$name not found or version not latest."
printlog "${destFile}" printlog "${destFile}"

View File

@@ -1018,7 +1018,7 @@ updateDialog() {
echo "progress: $progress" >> $cmd_file echo "progress: $progress" >> $cmd_file
fi fi
if [[ $message != "" ]]; then if [[ $message != "" ]]; then
echo "progresstext: $message" >> $cmd_file echo "progresstext: $name - $message" >> $cmd_file
fi fi
else else
# list item has a value, so we update the progress and text in the list # list item has a value, so we update the progress and text in the list

View File

@@ -2,8 +2,6 @@ googleadseditor)
name="Google Ads Editor" name="Google Ads Editor"
type="dmg" type="dmg"
downloadURL="https://dl.google.com/adwords_editor/google_ads_editor.dmg" downloadURL="https://dl.google.com/adwords_editor/google_ads_editor.dmg"
# Version not found in installed app, but on we it is here appNewVersion=""
#appNewVersion="$(curl -fs "https://support.google.com/google-ads/editor/answer/30513" | grep "Current Mac version" | sed -E 's/.*Current Mac version: *([0-9.]*)<.*/\1/')"
#appCustomVersion(){ }
expectedTeamID="EQHXZ8M8AV" expectedTeamID="EQHXZ8M8AV"
;; ;;

View File

@@ -1,8 +0,0 @@
ibmnotifier)
name="IBM Notifier"
type="zip"
downloadURL="$(downloadURLFromGit IBM mac-ibm-notifications)"
#appNewVersion="$(versionFromGit IBM mac-ibm-notifications)"
appNewVersion="$(curl -sLI "https://github.com/IBM/mac-ibm-notifications/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | cut -d "-" -f2 | sed 's/[^0-9\.]//g')"
expectedTeamID="PETKK2G752"
;;

View File

@@ -1,9 +0,0 @@
inetclearreportsdesigner)
name="i-Net Clear Reports Designer"
type="appindmg"
appNewVersion=$(curl -s https://www.inetsoftware.de/products/clear-reports/designer | grep "Latest release:" | cut -d ">" -f 4 | cut -d \ -f 2)
downloadURL=$(curl -s https://www.inetsoftware.de/products/clear-reports/designer | grep $appNewVersion | grep dmg | cut -d ">" -f 12 | cut -d \" -f 2)
expectedTeamID="9S2Y97K3D9"
blockingProcesses=( "clear-reports-designer" )
#forcefulQuit=YES
;;

View File

@@ -1,9 +0,0 @@
ipvisionconnect)
name="ipvision Connect"
type="dmg"
# Description: A softphone client from ipvision.dk
downloadStore="https://my.ipvision.dk/connect/"
downloadURL="${downloadStore}$(curl -fs "https://my.ipvision.dk/connect/" | grep osx | sort | tail -1 | cut -d '"' -f2)"
appNewVersion="$(curl -fs "${downloadStore}" | grep osx | sort | tail -1 | sed -E 's/.*ipvision_connect_([0-9_]*)_osx.*/\1/' | tr "_" ".")"
expectedTeamID="5RLWBLKGL2"
;;

View File

@@ -1,11 +0,0 @@
logitechoptionsplus)
name="Logi Options+"
archiveName="logioptionsplus_installer.zip"
appName="logioptionsplus_installer.app"
type="zip"
downloadURL="https://download01.logi.com/web/ftp/pub/techsupport/optionsplus/logioptionsplus_installer.zip"
appNewVersion=$(curl -fs "https://support.logi.com/api/v2/help_center/en-us/articles.json?label_names=webcontent=productdownload,webos=mac-macos-x-11.0" | tr "," "\n" | grep -A 10 "macOS" | grep -B 5 -ie "https.*/.*/optionsplus/.*\.zip" | grep "Software Version" | sed 's/\\u[0-9a-z][0-9a-z][0-9a-z][0-9a-z]//g' | grep -ioe "Software Version.*[0-9.]*" | tr "/" "\n" | grep -oe "[0-9.]*" | head -1)
CLIInstaller="logioptionsplus_installer.app/Contents/MacOS/logioptionsplus_installer"
CLIArguments=(--quiet)
expectedTeamID="QED4VVPZWA"
;;

View File

@@ -1,8 +0,0 @@
lucidlink)
name="Lucid"
# https://www.lucidlink.com/download
type="pkg"
downloadURL="https://www.lucidlink.com/download/latest/osx/stable/"
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | awk '{print $2}' | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g' )
expectedTeamID="Y4KMJPU2B4"
;;

View File

@@ -1,7 +0,0 @@
mactex)
name="MacTeX"
appName="TeX Live Utility.app"
type="pkg"
downloadURL="https://mirror.ctan.org/systems/mac/mactex/MacTeX.pkg"
expectedTeamID="RBGCY5RJWM"
;;

View File

@@ -1,9 +0,0 @@
onscreencontrol)
name="OnScreen Control"
type="pkgInZip"
packageID="com.LGSI.OnScreen-Control"
releaseURL="https://www.lg.com/de/support/software-select-category-result?csSalesCode=34WK95U-W.AEU"
appNewVersion=$(curl -sf $releaseURL | grep -m 1 "Mac_OSC_" | sed -E 's/.*OSC_([0-9.]*).zip.*/\1/g')
downloadURL=$(curl -sf $releaseURL | grep -m 1 "Mac_OSC_" | sed "s|.*href=\"\(.*\)\" title.*|\\1|")
expectedTeamID="5SKT5H4CPQ"
;;

View File

@@ -2,11 +2,6 @@ openvpnconnectv3)
# credit: @lotnix # credit: @lotnix
name="OpenVPN Connect" name="OpenVPN Connect"
type="pkgInDmg" type="pkgInDmg"
if [[ $(arch) == "arm64" ]]; then
pkgName="/OpenVPN_Connect_[0-9_()]*_arm64_Installer_signed.pkg"
elif [[ $(arch) == "i386" ]]; then
pkgName="OpenVPN_Connect_[0-9_()]*_x86_64_Installer_signed.pkg"
fi
downloadURL="https://openvpn.net/downloads/openvpn-connect-v3-macos.dmg" downloadURL="https://openvpn.net/downloads/openvpn-connect-v3-macos.dmg"
expectedTeamID="ACV7L3WCD8" expectedTeamID="ACV7L3WCD8"
;; ;;

View File

@@ -1,6 +0,0 @@
projectplace)
name="Projectplace"
type="dmg"
downloadURL="https://service.projectplace.com/client_apps/desktop/Projectplace-for-mac.dmg"
expectedTeamID="8333HW99E8"
;;

View File

@@ -1,9 +0,0 @@
subethaedit)
name="SubEthaEdit"
# Home: https://github.com/subethaedit/SubEthaEdit
# Description: General purpose plain text editor for macOS. Widely known for its live collaboration feature.
type="zip"
downloadURL="$(downloadURLFromGit subethaedit SubEthaEdit)"
appNewVersion="$(versionFromGit subethaedit SubEthaEdit)"
expectedTeamID="S76GCAG929"
;;

View File

@@ -1,9 +0,0 @@
sublimemerge)
# Home: https://www.sublimemerge.com
# Description: Git Client, done Sublime. Line-by-line Staging. Commit Editing. Unmatched Performance.
name="Sublime Merge"
type="zip"
downloadURL="$(curl -fs "https://www.sublimemerge.com/download_thanks?target=mac#direct-downloads" | grep -io "https://download.*_mac.zip" | head -1)"
appNewVersion=$(curl -fs https://www.sublimemerge.com/download | grep -i -A 4 "id.*changelog" | grep -io "Build [0-9]*")
expectedTeamID="Z6D26JE4Y4"
;;

View File

@@ -2,6 +2,5 @@ tunnelblick)
name="Tunnelblick" name="Tunnelblick"
type="dmg" type="dmg"
downloadURL=$(downloadURLFromGit TunnelBlick Tunnelblick ) downloadURL=$(downloadURLFromGit TunnelBlick Tunnelblick )
appNewVersion=$(curl -sf https://github.com/Tunnelblick/Tunnelblick/releases | grep -m 1 "/Tunnelblick/Tunnelblick/releases/tag/" | sed -r 's/.*Tunnelblick ([^<]+).*/\1/')
expectedTeamID="Z2SG5H3HC8" expectedTeamID="Z2SG5H3HC8"
;; ;;

View File

@@ -1,8 +0,0 @@
venturablocker)
name="venturablocker"
type="pkg"
packageID="dk.envo-it.venturablocker"
downloadURL=$(downloadURLFromGit Theile venturablocker )
appNewVersion=$(versionFromGit Theile venturablocker )
expectedTeamID="FXW6QXBFW5"
;;

View File

@@ -1,7 +0,0 @@
vysor)
name="Vysor"
type="zip"
downloadURL="$(downloadURLFromGit koush vysor.io)"
appNewVersion="$(versionFromGit koush vysor.io)"
expectedTeamID="XT4C9EJNUG"
;;

View File

@@ -1,13 +0,0 @@
zulujdk18)
name="Zulu JDK 18"
type="pkgInDmg"
packageID="com.azulsystems.zulu.18"
if [[ $(arch) == i386 ]]; then
downloadURL=https://cdn.azul.com/zulu/bin/$(curl -fs "https://cdn.azul.com/zulu/bin/" | grep -Eio '">zulu18.*ca-jdk18.*x64.dmg(.*)' | cut -c3- | sed 's/<\/a>//' | sed -E 's/([0-9.]*)M//' | awk '{print $2 $1}' | sort | cut -c11- | tail -1)
elif [[ $(arch) == arm64 ]]; then
downloadURL=https://cdn.azul.com/zulu/bin/$(curl -fs "https://cdn.azul.com/zulu/bin/" | grep -Eio '">zulu18.*ca-jdk18.*aarch64.dmg(.*)' | cut -c3- | sed 's/<\/a>//' | sed -E 's/([0-9.]*)M//' | awk '{print $2 $1}' | sort | cut -c11- | tail -1)
fi
expectedTeamID="TDTHCUPYFR"
appCustomVersion(){ java -version 2>&1 | grep Runtime | awk '{print $4}' | sed -e "s/.*Zulu//" | cut -d '-' -f 1 | sed -e "s/+/\./" }
appNewVersion=$(echo "$downloadURL" | cut -d "-" -f 1 | sed -e "s/.*zulu//") # Cannot be compared to anything
;;

View File

@@ -1 +1 @@
10.0 10.0beta3

View File

@@ -14,9 +14,7 @@ if ! gh pr checkout $pr_num -b "pr/$pr_num"; then
fi fi
if ! utils/assemble.sh $label; then if ! utils/assemble.sh $label; then
exitcode=$?
echo "something went wrong, stopping here" echo "something went wrong, stopping here"
echo "exit code: $exitcode"
else else
echo echo
echo "All good!" echo "All good!"