mirror of
https://github.com/mtan93/Installomator.git
synced 2026-03-08 05:31:53 +00:00
Compare commits
69 Commits
revert-621
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b333528379 | ||
|
|
89dfe63606 | ||
|
|
88cd4114ae | ||
|
|
b1dc94ad1d | ||
|
|
0b5495ffbf | ||
|
|
1fae99b322 | ||
|
|
c8677eddf5 | ||
|
|
40bc37c2f6 | ||
|
|
b9f8d569b6 | ||
|
|
a618c63b50 | ||
|
|
9aef18b89d | ||
|
|
0a8eeaf0f6 | ||
|
|
f0b7e579e3 | ||
|
|
e066a7c3bf | ||
|
|
7c45573a0e | ||
|
|
c26cfa24ba | ||
|
|
87b671f0e5 | ||
|
|
2b5ce2f90e | ||
|
|
fc33d2aaff | ||
|
|
bc4a612e15 | ||
|
|
b7d67e6967 | ||
|
|
8c853ddd30 | ||
|
|
fa26867583 | ||
|
|
dbcdea3a72 | ||
|
|
68d389ab7f | ||
|
|
8dbabec280 | ||
|
|
98f0fb1a77 | ||
|
|
d795598a22 | ||
|
|
afc906161a | ||
|
|
a8a1082d34 | ||
|
|
dfc9950a31 | ||
|
|
e22a7754bd | ||
|
|
2362e8a9d0 | ||
|
|
a7224fcbea | ||
|
|
2a0385d30d | ||
|
|
03177d4e9d | ||
|
|
8b19773a7f | ||
|
|
9ef19139d2 | ||
|
|
c4fbcd6f3a | ||
|
|
6ee318f655 | ||
|
|
b0bc3c3c81 | ||
|
|
f75d789322 | ||
|
|
94a1d2fc32 | ||
|
|
97f8b9ad26 | ||
|
|
b5a51c3cbf | ||
|
|
719fe6e925 | ||
|
|
651a5ce067 | ||
|
|
b1df345814 | ||
|
|
a626375906 | ||
|
|
5d968b0816 | ||
|
|
69c959c923 | ||
|
|
e88e2a56ea | ||
|
|
95901cfa6b | ||
|
|
7dabe54f18 | ||
|
|
ac874a9f28 | ||
|
|
3c8a4ff067 | ||
|
|
3364e6cf07 | ||
|
|
a4f8b65932 | ||
|
|
3748080fa7 | ||
|
|
47acb6443d | ||
|
|
e8b777babb | ||
|
|
116937a948 | ||
|
|
57fd2e57fc | ||
|
|
a5421ad226 | ||
|
|
5ab42971e5 | ||
|
|
0a9957169e | ||
|
|
5b7038bf19 | ||
|
|
6412c9f527 | ||
|
|
96bad4bd84 |
82
CHANGELOG.md
82
CHANGELOG.md
@@ -1,8 +1,90 @@
|
||||
## 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
|
||||
|
||||
- fixed problem with GitHub labels (#659)
|
||||
- bz2 archive support (#659)
|
||||
- fixed WorkspaceOne support (#653)
|
||||
- updated how `aapNewVersion` is determined (#680)
|
||||
|
||||
Plus everything from v10beta1
|
||||
|
||||
|
||||
145
Installomator.sh
145
Installomator.sh
@@ -322,8 +322,8 @@ if [[ $(/usr/bin/arch) == "arm64" ]]; then
|
||||
rosetta2=no
|
||||
fi
|
||||
fi
|
||||
VERSION="10.0beta3"
|
||||
VERSIONDATE="2022-09-30"
|
||||
VERSION="10.0"
|
||||
VERSIONDATE="2022-11-18"
|
||||
|
||||
# MARK: Functions
|
||||
|
||||
@@ -1345,7 +1345,7 @@ updateDialog() {
|
||||
echo "progress: $progress" >> $cmd_file
|
||||
fi
|
||||
if [[ $message != "" ]]; then
|
||||
echo "progresstext: $name - $message" >> $cmd_file
|
||||
echo "progresstext: $message" >> $cmd_file
|
||||
fi
|
||||
else
|
||||
# list item has a value, so we update the progress and text in the list
|
||||
@@ -2072,7 +2072,8 @@ bitrix24)
|
||||
downloadURL="https://dl.bitrix24.com/b24/bitrix24_desktop.dmg"
|
||||
expectedTeamID="5B3T3A994N"
|
||||
blockingProcesses=( "Bitrix24" )
|
||||
;;bitwarden)
|
||||
;;
|
||||
bitwarden)
|
||||
name="Bitwarden"
|
||||
type="dmg"
|
||||
downloadURL=$(downloadURLFromGit bitwarden desktop )
|
||||
@@ -2247,7 +2248,8 @@ charles)
|
||||
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"
|
||||
expectedTeamID="9A5PCU4FSD"
|
||||
;;chatwork)
|
||||
;;
|
||||
chatwork)
|
||||
name="Chatwork"
|
||||
type="dmg"
|
||||
downloadURL="https://desktop-app.chatwork.com/installer/Chatwork.dmg"
|
||||
@@ -3028,7 +3030,9 @@ googleadseditor)
|
||||
name="Google Ads Editor"
|
||||
type="dmg"
|
||||
downloadURL="https://dl.google.com/adwords_editor/google_ads_editor.dmg"
|
||||
appNewVersion=""
|
||||
# Version not found in installed app, but on we it is here
|
||||
#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"
|
||||
;;
|
||||
googlechrome)
|
||||
@@ -3259,6 +3263,14 @@ ibarcoder)
|
||||
appNewVersion="$(curl -fs "https://cristallight.com/iBarcoder/" | grep -i version: | head -1 | awk '{print $2}')"
|
||||
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)
|
||||
name="Icons"
|
||||
type="zip"
|
||||
@@ -3307,6 +3319,15 @@ imazingprofileeditor)
|
||||
downloadURL="https://downloads.imazing.com/mac/iMazing-Profile-Editor/iMazingProfileEditorMac.dmg"
|
||||
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)
|
||||
# credit: Søren Theilgaard (@theilgaard)
|
||||
name="Inkscape"
|
||||
@@ -3343,6 +3364,15 @@ ipswupdater)
|
||||
appNewVersion=$(getJSONValue "$ipswupdaterVersions" "[0].version")
|
||||
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)
|
||||
# credit: AP Orlebeke (@apizz)
|
||||
name="iStat Menus"
|
||||
@@ -3722,6 +3752,17 @@ logitechoptions)
|
||||
pkgName=LogiMgr.pkg
|
||||
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)
|
||||
name="Logseq"
|
||||
type="dmg"
|
||||
@@ -3754,6 +3795,14 @@ lowprofile)
|
||||
appNewVersion="$(versionFromGit ninxsoft LowProfile)"
|
||||
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)
|
||||
# credit: Drew Diver (@grumpydrew on MacAdmins Slack)
|
||||
name="Lucifer"
|
||||
@@ -3825,6 +3874,13 @@ macports)
|
||||
appCustomVersion(){ if [ -x /opt/local/bin/port ]; then /opt/local/bin/port version | awk '{print $2}'; else "0"; fi }
|
||||
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)
|
||||
name="Malwarebytes"
|
||||
type="pkg"
|
||||
@@ -4509,6 +4565,15 @@ onlyofficedesktop)
|
||||
appNewVersion=$(versionFromGit ONLYOFFICE DesktopEditors)
|
||||
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)
|
||||
# credit: Erik Stam (@erikstam)
|
||||
name="OpenVPN"
|
||||
@@ -4521,6 +4586,11 @@ openvpnconnectv3)
|
||||
# credit: @lotnix
|
||||
name="OpenVPN Connect"
|
||||
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"
|
||||
expectedTeamID="ACV7L3WCD8"
|
||||
;;
|
||||
@@ -4538,7 +4608,8 @@ origin)
|
||||
downloadURL="https://www.dm.origin.com/mac/download/Origin.dmg"
|
||||
expectedTeamID="TSTV75T6Q5"
|
||||
blockingProcesses=( "Origin" )
|
||||
;;ottomatic)
|
||||
;;
|
||||
ottomatic)
|
||||
name="Otto Matic"
|
||||
type="dmg"
|
||||
downloadURL=$(downloadURLFromGit jorio OttoMatic)
|
||||
@@ -4577,6 +4648,13 @@ pandoc)
|
||||
archiveName="mac.pkg"
|
||||
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)
|
||||
name="Pareto Security"
|
||||
type="dmg"
|
||||
@@ -4692,6 +4770,12 @@ proctortrack)
|
||||
downloadURL="https://storage.googleapis.com/verificientstatic/ProctortrackApp/Production/Proctortrack.zip"
|
||||
expectedTeamID="SNHZD6TJE6"
|
||||
;;
|
||||
projectplace)
|
||||
name="Projectplace"
|
||||
type="dmg"
|
||||
downloadURL="https://service.projectplace.com/client_apps/desktop/Projectplace-for-mac.dmg"
|
||||
expectedTeamID="8333HW99E8"
|
||||
;;
|
||||
promiseutility|\
|
||||
promiseutilityr)
|
||||
name="Promise Utility"
|
||||
@@ -5212,6 +5296,24 @@ strongsync)
|
||||
versionKey="CFBundleVersion"
|
||||
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)
|
||||
# credit: Søren Theilgaard (@theilgaard)
|
||||
name="Sublime Text"
|
||||
@@ -5509,6 +5611,7 @@ tunnelblick)
|
||||
name="Tunnelblick"
|
||||
type="dmg"
|
||||
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"
|
||||
;;
|
||||
typinator)
|
||||
@@ -5585,6 +5688,14 @@ vanilla)
|
||||
downloadURL="https://macrelease.matthewpalmer.net/Vanilla.dmg"
|
||||
expectedTeamID="Z4JV2M65MH"
|
||||
;;
|
||||
venturablocker)
|
||||
name="venturablocker"
|
||||
type="pkg"
|
||||
packageID="dk.envo-it.venturablocker"
|
||||
downloadURL=$(downloadURLFromGit Theile venturablocker )
|
||||
appNewVersion=$(versionFromGit Theile venturablocker )
|
||||
expectedTeamID="FXW6QXBFW5"
|
||||
;;
|
||||
veracrypt)
|
||||
name="VeraCrypt"
|
||||
type="pkgInDmg"
|
||||
@@ -5654,6 +5765,13 @@ vscodium)
|
||||
expectedTeamID="C7S3ZQ2B8V"
|
||||
blockingProcesses=( Electron )
|
||||
;;
|
||||
vysor)
|
||||
name="Vysor"
|
||||
type="zip"
|
||||
downloadURL="$(downloadURLFromGit koush vysor.io)"
|
||||
appNewVersion="$(versionFromGit koush vysor.io)"
|
||||
expectedTeamID="XT4C9EJNUG"
|
||||
;;
|
||||
wacomdrivers)
|
||||
name="Wacom Desktop Center"
|
||||
type="pkgInDmg"
|
||||
@@ -5960,6 +6078,19 @@ zulujdk17)
|
||||
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
|
||||
;;
|
||||
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)
|
||||
name="Zulu JDK 8"
|
||||
type="pkgInDmg"
|
||||
|
||||
17
Labels.txt
17
Labels.txt
@@ -61,6 +61,7 @@ basecamp3
|
||||
bbedit
|
||||
bettertouchtool
|
||||
bitrix24
|
||||
bitwarden
|
||||
blender
|
||||
bluejeans
|
||||
bluejeanswithaudiodriver
|
||||
@@ -81,6 +82,7 @@ camtasia2021
|
||||
canva
|
||||
carboncopycloner
|
||||
charles
|
||||
chatwork
|
||||
chronoagent
|
||||
chronosync
|
||||
cisdem-documentreader
|
||||
@@ -196,18 +198,21 @@ hpeasystart
|
||||
hype
|
||||
hyper
|
||||
ibarcoder
|
||||
ibmnotifier
|
||||
icons
|
||||
idrive
|
||||
idrivethin
|
||||
iina
|
||||
imageoptim
|
||||
imazingprofileeditor
|
||||
inetclearreportsdesigner
|
||||
inkscape
|
||||
insomnia
|
||||
installomator
|
||||
installomator_theile
|
||||
intellijideace
|
||||
ipswupdater
|
||||
ipvisionconnect
|
||||
istatmenus
|
||||
iterm2
|
||||
itsycal
|
||||
@@ -248,9 +253,11 @@ libreoffice
|
||||
linear
|
||||
logioptions
|
||||
logitechoptions
|
||||
logitechoptionsplus
|
||||
logseq
|
||||
loom
|
||||
lowprofile
|
||||
lucidlink
|
||||
lucifer
|
||||
lulu
|
||||
macadminspython
|
||||
@@ -258,6 +265,7 @@ maccyapp
|
||||
macfuse
|
||||
macoslaps
|
||||
macports
|
||||
mactex
|
||||
malwarebytes
|
||||
marathon
|
||||
marathon2
|
||||
@@ -328,14 +336,17 @@ omniplan4
|
||||
omnipresence
|
||||
onionshare
|
||||
onlyofficedesktop
|
||||
onscreencontrol
|
||||
openvpnconnect
|
||||
openvpnconnectv3
|
||||
opera
|
||||
origin
|
||||
ottomatic
|
||||
overflow
|
||||
pacifist
|
||||
packages
|
||||
pandoc
|
||||
parallelsrasclient
|
||||
paretosecurity
|
||||
parsec
|
||||
pdfsam
|
||||
@@ -351,6 +362,7 @@ prism9
|
||||
pritunl
|
||||
privileges
|
||||
proctortrack
|
||||
projectplace
|
||||
promiseutility
|
||||
promiseutilityr
|
||||
propresenter7
|
||||
@@ -424,6 +436,8 @@ sqlprostudio
|
||||
steelseriesengine
|
||||
strongdm
|
||||
strongsync
|
||||
subethaedit
|
||||
sublimemerge
|
||||
sublimetext
|
||||
superhuman
|
||||
supportapp
|
||||
@@ -471,6 +485,7 @@ unnaturalscrollwheels
|
||||
utm
|
||||
vagrant
|
||||
vanilla
|
||||
venturablocker
|
||||
veracrypt
|
||||
vimac
|
||||
virtualbox
|
||||
@@ -480,6 +495,7 @@ vivaldi
|
||||
vlc
|
||||
vmwarehorizonclient
|
||||
vscodium
|
||||
vysor
|
||||
wacomdrivers
|
||||
wallyezflash
|
||||
webex
|
||||
@@ -514,4 +530,5 @@ zulujdk11
|
||||
zulujdk13
|
||||
zulujdk15
|
||||
zulujdk17
|
||||
zulujdk18
|
||||
zulujdk8
|
||||
|
||||
@@ -5,7 +5,11 @@
|
||||
|
||||
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
|
||||
|
||||
#item="gfxcardstatus" # enter the software to install (if it has a label in future version of Installomator)
|
||||
# Have the label been submittet in a PR for 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
|
||||
|
||||
@@ -104,9 +108,10 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user DIALOG_CMD_FILE=${dial
|
||||
# INSTALL=force
|
||||
######################################################################
|
||||
# To be used as a script sent out from a MDM.
|
||||
# Fill the variable "item" above with a label.
|
||||
# Fill out the label variables above, and those will be included in the Installomator call, circa on line 248
|
||||
# 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.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
|
||||
@@ -119,6 +124,10 @@ export PATH=/usr/bin:/bin:/usr/sbin:/sbin
|
||||
|
||||
echo "$(date +%F\ %T) [LOG-BEGIN] $item"
|
||||
|
||||
if [[ -z "$item" ]]; then
|
||||
item="$name"
|
||||
fi
|
||||
|
||||
dialogUpdate() {
|
||||
# $1: dialog command
|
||||
local dcommand="$1"
|
||||
@@ -129,19 +138,19 @@ dialogUpdate() {
|
||||
fi
|
||||
}
|
||||
checkCmdOutput () {
|
||||
# $1: cmdOutput
|
||||
local cmdOutput="$1"
|
||||
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
|
||||
local checkOutput="$1"
|
||||
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
|
||||
if [[ ${exitStatus} -eq 0 ]] ; then
|
||||
echo "${item} succesfully installed."
|
||||
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
|
||||
echo "$warnOutput"
|
||||
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
|
||||
echo "$selectedOutput"
|
||||
else
|
||||
echo "ERROR installing ${item}. Exit code ${exitStatus}"
|
||||
echo "$cmdOutput"
|
||||
#errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
|
||||
echo "$checkOutput"
|
||||
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )"
|
||||
#echo "$errorOutput"
|
||||
fi
|
||||
#echo "$checkOutput"
|
||||
}
|
||||
|
||||
# Check the currently logged in user
|
||||
@@ -176,9 +185,10 @@ caffexit () {
|
||||
# Mark: Installation begins
|
||||
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
|
||||
|
||||
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion) < "20A" ]]; then
|
||||
echo "Installomator should be at least version 10 to support Dialog. Installed version $installomatorVersion."
|
||||
echo "And macOS 11 Big Sur (build 20A) is required for Dialog. Installed build $(sw_vers -buildVersion)."
|
||||
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then
|
||||
echo "Skipping swiftDialog UI, using notifications."
|
||||
#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 swiftDialog. Installed build $(sw_vers -buildVersion)."
|
||||
installomatorNotify="NOTIFY=all"
|
||||
else
|
||||
installomatorNotify="NOTIFY=silent"
|
||||
@@ -187,7 +197,7 @@ else
|
||||
echo "Cannot find dialog at $dialogApp"
|
||||
# Install using Installlomator
|
||||
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
fi
|
||||
|
||||
# Configure and display swiftDialog
|
||||
@@ -200,24 +210,24 @@ else
|
||||
echo "$item $itemName"
|
||||
|
||||
#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
|
||||
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
|
||||
echo "ERROR: Cannot download link. Reset icon."
|
||||
echo "ERROR: Cannot download ${icon} link. Reset icon."
|
||||
icon=""
|
||||
fi
|
||||
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
|
||||
echo "icon looks to be a file"
|
||||
#echo "icon looks to be a file"
|
||||
if [[ ! -a "${icon}" ]]; then
|
||||
echo "ERROR: Cannot find file. Reset icon."
|
||||
echo "ERROR: Cannot find icon file ${icon}. Reset icon."
|
||||
icon=""
|
||||
fi
|
||||
else
|
||||
echo "ERROR: Cannot figure out icon. Reset icon."
|
||||
echo "ERROR: Cannot figure out icon ${icon}. Reset icon."
|
||||
icon=""
|
||||
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 [[ "$icon" == "" ]]; then
|
||||
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
|
||||
@@ -226,7 +236,7 @@ else
|
||||
appIcon="${appIcon}.icns"
|
||||
fi
|
||||
icon="${appPath}/Contents/Resources/${appIcon}"
|
||||
echo "Icon before file check: ${icon}"
|
||||
#echo "Icon before file check: ${icon}"
|
||||
if [ ! -f "${icon}" ]; then
|
||||
# Using LOGO variable to show logo in swiftDialog
|
||||
case $LOGO in
|
||||
@@ -294,7 +304,7 @@ fi
|
||||
|
||||
# Install software using Installomator with valuesfromarguments
|
||||
cmdOutput="$(${destFile} valuesfromarguments LOGO=$LOGO \
|
||||
name=${name} \
|
||||
name=\"${name}\" \
|
||||
type=${type} \
|
||||
packageID=${packageID} \
|
||||
downloadURL=\"$downloadURL\" \
|
||||
@@ -303,7 +313,7 @@ cmdOutput="$(${destFile} valuesfromarguments LOGO=$LOGO \
|
||||
expectedTeamID=${expectedTeamID} \
|
||||
${installomatorOptions} ${installomatorNotify} || true)"
|
||||
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
|
||||
# Mark: dockutil stuff
|
||||
if [[ $addToDock -eq 1 ]]; then
|
||||
@@ -312,7 +322,7 @@ if [[ $addToDock -eq 1 ]]; then
|
||||
echo "Cannot find dockutil at $dockutil, trying installation"
|
||||
# Install using Installlomator
|
||||
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
fi
|
||||
echo "Adding to Dock"
|
||||
$dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true
|
||||
@@ -322,9 +332,7 @@ else
|
||||
fi
|
||||
|
||||
# Mark: Ending
|
||||
if [[ $installomatorVersion -lt 10 ]]; then
|
||||
echo "Again skipping Dialog stuff."
|
||||
else
|
||||
if [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then
|
||||
# close and quit dialog
|
||||
dialogUpdate "progress: complete"
|
||||
dialogUpdate "progresstext: Done"
|
||||
|
||||
@@ -5,15 +5,18 @@
|
||||
|
||||
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
|
||||
|
||||
#item="" # enter the software to install (if it has a label in future version of Installomator)
|
||||
# Have the label been submittet in a PR for 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
|
||||
name="ClickShare"
|
||||
name="ClickShare" # If spaces in the name, fill out "${name}" in Installomator-call below, circa line 249. Spaces should be escaped in that line.
|
||||
type="appInDmgInZip"
|
||||
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" )"
|
||||
appNewVersion="$(eval "$( echo $downloadURL | sed -E 's/.*(MajorVersion.*BuildVersion=[0-9]*).*/\1/' | sed 's/&//g' )" ; ((MajorVersion++)) ; ((MajorVersion--)); ((MinorVersion++)) ; ((MinorVersion--)); ((PatchVersion++)) ; ((PatchVersion--)); ((BuildVersion++)) ; ((BuildVersion--)); echo "${MajorVersion}.${MinorVersion}.${PatchVersion}-b${BuildVersion}")"
|
||||
versionKey=""
|
||||
expectedTeamID="P6CDJZR997"
|
||||
|
||||
# Dialog icon
|
||||
@@ -51,9 +54,10 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user DIALOG_CMD_FILE=${dial
|
||||
# INSTALL=force
|
||||
######################################################################
|
||||
# To be used as a script sent out from a MDM.
|
||||
# Fill the variable "item" above with a label.
|
||||
# Fill out the label variables above, and those will be included in the Installomator call, circa on line 248
|
||||
# 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.1 : Improved appIcon handling. Can add the app to Dock using dockutil
|
||||
# v. 10.0 : Integration with Dialog and Installomator v. 10
|
||||
@@ -66,6 +70,10 @@ export PATH=/usr/bin:/bin:/usr/sbin:/sbin
|
||||
|
||||
echo "$(date +%F\ %T) [LOG-BEGIN] $item"
|
||||
|
||||
if [[ -z "$item" ]]; then
|
||||
item="$name"
|
||||
fi
|
||||
|
||||
dialogUpdate() {
|
||||
# $1: dialog command
|
||||
local dcommand="$1"
|
||||
@@ -76,24 +84,24 @@ dialogUpdate() {
|
||||
fi
|
||||
}
|
||||
checkCmdOutput () {
|
||||
# $1: cmdOutput
|
||||
local cmdOutput="$1"
|
||||
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
|
||||
local checkOutput="$1"
|
||||
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
|
||||
if [[ ${exitStatus} -eq 0 ]] ; then
|
||||
echo "${item} succesfully installed."
|
||||
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
|
||||
echo "$warnOutput"
|
||||
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
|
||||
echo "$selectedOutput"
|
||||
else
|
||||
echo "ERROR installing ${item}. Exit code ${exitStatus}"
|
||||
echo "$cmdOutput"
|
||||
#errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
|
||||
echo "$checkOutput"
|
||||
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )"
|
||||
#echo "$errorOutput"
|
||||
fi
|
||||
#echo "$checkOutput"
|
||||
}
|
||||
|
||||
# Check the currently logged in user
|
||||
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."
|
||||
exit 97
|
||||
fi
|
||||
@@ -123,9 +131,10 @@ caffexit () {
|
||||
# Mark: Installation begins
|
||||
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
|
||||
|
||||
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion) < "20A" ]]; then
|
||||
echo "Installomator should be at least version 10 to support Dialog. Installed version $installomatorVersion."
|
||||
echo "And macOS 11 Big Sur (build 20A) is required for Dialog. Installed build $(sw_vers -buildVersion)."
|
||||
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then
|
||||
echo "Skipping swiftDialog UI, using notifications."
|
||||
#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 swiftDialog. Installed build $(sw_vers -buildVersion)."
|
||||
installomatorNotify="NOTIFY=all"
|
||||
else
|
||||
installomatorNotify="NOTIFY=silent"
|
||||
@@ -134,7 +143,7 @@ else
|
||||
echo "Cannot find dialog at $dialogApp"
|
||||
# Install using Installlomator
|
||||
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
fi
|
||||
|
||||
# Configure and display swiftDialog
|
||||
@@ -147,24 +156,24 @@ else
|
||||
echo "$item $itemName"
|
||||
|
||||
#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
|
||||
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
|
||||
echo "ERROR: Cannot download link. Reset icon."
|
||||
echo "ERROR: Cannot download ${icon} link. Reset icon."
|
||||
icon=""
|
||||
fi
|
||||
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
|
||||
echo "icon looks to be a file"
|
||||
#echo "icon looks to be a file"
|
||||
if [[ ! -a "${icon}" ]]; then
|
||||
echo "ERROR: Cannot find file. Reset icon."
|
||||
echo "ERROR: Cannot find icon file ${icon}. Reset icon."
|
||||
icon=""
|
||||
fi
|
||||
else
|
||||
echo "ERROR: Cannot figure out icon. Reset icon."
|
||||
echo "ERROR: Cannot figure out icon ${icon}. Reset icon."
|
||||
icon=""
|
||||
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 [[ "$icon" == "" ]]; then
|
||||
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
|
||||
@@ -173,7 +182,7 @@ else
|
||||
appIcon="${appIcon}.icns"
|
||||
fi
|
||||
icon="${appPath}/Contents/Resources/${appIcon}"
|
||||
echo "Icon before file check: ${icon}"
|
||||
#echo "Icon before file check: ${icon}"
|
||||
if [ ! -f "${icon}" ]; then
|
||||
# Using LOGO variable to show logo in swiftDialog
|
||||
case $LOGO in
|
||||
@@ -241,7 +250,7 @@ fi
|
||||
|
||||
# Install software using Installomator with valuesfromarguments
|
||||
cmdOutput="$(${destFile} valuesfromarguments LOGO=$LOGO \
|
||||
name=${name} \
|
||||
name=\"${name}\" \
|
||||
type=${type} \
|
||||
packageID=${packageID} \
|
||||
downloadURL=\"$downloadURL\" \
|
||||
@@ -250,7 +259,7 @@ cmdOutput="$(${destFile} valuesfromarguments LOGO=$LOGO \
|
||||
expectedTeamID=${expectedTeamID} \
|
||||
${installomatorOptions} ${installomatorNotify} || true)"
|
||||
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
|
||||
# Mark: dockutil stuff
|
||||
if [[ $addToDock -eq 1 ]]; then
|
||||
@@ -259,7 +268,7 @@ if [[ $addToDock -eq 1 ]]; then
|
||||
echo "Cannot find dockutil at $dockutil, trying installation"
|
||||
# Install using Installlomator
|
||||
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
fi
|
||||
echo "Adding to Dock"
|
||||
$dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true
|
||||
@@ -269,9 +278,7 @@ else
|
||||
fi
|
||||
|
||||
# Mark: Ending
|
||||
if [[ $installomatorVersion -lt 10 ]]; then
|
||||
echo "Again skipping Dialog stuff."
|
||||
else
|
||||
if [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then
|
||||
# close and quit dialog
|
||||
dialogUpdate "progress: complete"
|
||||
dialogUpdate "progresstext: Done"
|
||||
|
||||
@@ -45,6 +45,7 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=tell_user_then_quit DIALOG_CMD_FIL
|
||||
# Fill the variable "item" above with a label.
|
||||
# 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.1 : Improved appIcon handling. Can add the app to Dock using dockutil
|
||||
# v. 10.0 : Integration with Dialog and Installomator v. 10
|
||||
@@ -67,19 +68,19 @@ dialogUpdate() {
|
||||
fi
|
||||
}
|
||||
checkCmdOutput () {
|
||||
# $1: cmdOutput
|
||||
local cmdOutput="$1"
|
||||
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
|
||||
local checkOutput="$1"
|
||||
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
|
||||
if [[ ${exitStatus} -eq 0 ]] ; then
|
||||
echo "${item} succesfully installed."
|
||||
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
|
||||
echo "$warnOutput"
|
||||
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
|
||||
echo "$selectedOutput"
|
||||
else
|
||||
echo "ERROR installing ${item}. Exit code ${exitStatus}"
|
||||
echo "$cmdOutput"
|
||||
#errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
|
||||
echo "$checkOutput"
|
||||
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )"
|
||||
#echo "$errorOutput"
|
||||
fi
|
||||
#echo "$checkOutput"
|
||||
}
|
||||
|
||||
# Check the currently logged in user
|
||||
@@ -114,9 +115,10 @@ caffexit () {
|
||||
# Mark: Installation begins
|
||||
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
|
||||
|
||||
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion) < "20A" ]]; then
|
||||
echo "Installomator should be at least version 10 to support Dialog. Installed version $installomatorVersion."
|
||||
echo "And macOS 11 Big Sur (build 20A) is required for Dialog. Installed build $(sw_vers -buildVersion)."
|
||||
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then
|
||||
echo "Skipping swiftDialog UI, using notifications."
|
||||
#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 swiftDialog. Installed build $(sw_vers -buildVersion)."
|
||||
installomatorNotify="NOTIFY=all"
|
||||
else
|
||||
installomatorNotify="NOTIFY=silent"
|
||||
@@ -125,7 +127,7 @@ else
|
||||
echo "Cannot find dialog at $dialogApp"
|
||||
# Install using Installlomator
|
||||
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
fi
|
||||
|
||||
# Configure and display swiftDialog
|
||||
@@ -138,24 +140,24 @@ else
|
||||
echo "$item $itemName"
|
||||
|
||||
#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
|
||||
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
|
||||
echo "ERROR: Cannot download link. Reset icon."
|
||||
echo "ERROR: Cannot download ${icon} link. Reset icon."
|
||||
icon=""
|
||||
fi
|
||||
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
|
||||
echo "icon looks to be a file"
|
||||
#echo "icon looks to be a file"
|
||||
if [[ ! -a "${icon}" ]]; then
|
||||
echo "ERROR: Cannot find file. Reset icon."
|
||||
echo "ERROR: Cannot find icon file ${icon}. Reset icon."
|
||||
icon=""
|
||||
fi
|
||||
else
|
||||
echo "ERROR: Cannot figure out icon. Reset icon."
|
||||
echo "ERROR: Cannot figure out icon ${icon}. Reset icon."
|
||||
icon=""
|
||||
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 [[ "$icon" == "" ]]; then
|
||||
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
|
||||
@@ -164,7 +166,7 @@ else
|
||||
appIcon="${appIcon}.icns"
|
||||
fi
|
||||
icon="${appPath}/Contents/Resources/${appIcon}"
|
||||
echo "Icon before file check: ${icon}"
|
||||
#echo "Icon before file check: ${icon}"
|
||||
if [ ! -f "${icon}" ]; then
|
||||
# Using LOGO variable to show logo in swiftDialog
|
||||
case $LOGO in
|
||||
@@ -232,7 +234,7 @@ fi
|
||||
|
||||
# Install software using Installomator
|
||||
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} ${installomatorNotify} || true)"
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
|
||||
# Mark: dockutil stuff
|
||||
if [[ $addToDock -eq 1 ]]; then
|
||||
@@ -241,7 +243,7 @@ if [[ $addToDock -eq 1 ]]; then
|
||||
echo "Cannot find dockutil at $dockutil, trying installation"
|
||||
# Install using Installlomator
|
||||
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
fi
|
||||
echo "Adding to Dock"
|
||||
$dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true
|
||||
@@ -251,9 +253,7 @@ else
|
||||
fi
|
||||
|
||||
# Mark: Ending
|
||||
if [[ $installomatorVersion -lt 10 ]]; then
|
||||
echo "Again skipping Dialog stuff."
|
||||
else
|
||||
if [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then
|
||||
# close and quit dialog
|
||||
dialogUpdate "progress: complete"
|
||||
dialogUpdate "progresstext: Done"
|
||||
|
||||
@@ -45,6 +45,7 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user DIALOG_CMD_FILE=${dial
|
||||
# Fill the variable "item" above with a label.
|
||||
# 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.1 : Improved appIcon handling. Can add the app to Dock using dockutil
|
||||
# v. 10.0 : Integration with Dialog and Installomator v. 10
|
||||
@@ -67,19 +68,19 @@ dialogUpdate() {
|
||||
fi
|
||||
}
|
||||
checkCmdOutput () {
|
||||
# $1: cmdOutput
|
||||
local cmdOutput="$1"
|
||||
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
|
||||
local checkOutput="$1"
|
||||
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
|
||||
if [[ ${exitStatus} -eq 0 ]] ; then
|
||||
echo "${item} succesfully installed."
|
||||
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
|
||||
echo "$warnOutput"
|
||||
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
|
||||
echo "$selectedOutput"
|
||||
else
|
||||
echo "ERROR installing ${item}. Exit code ${exitStatus}"
|
||||
echo "$cmdOutput"
|
||||
#errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
|
||||
echo "$checkOutput"
|
||||
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )"
|
||||
#echo "$errorOutput"
|
||||
fi
|
||||
#echo "$checkOutput"
|
||||
}
|
||||
|
||||
# Check the currently logged in user
|
||||
@@ -114,9 +115,10 @@ caffexit () {
|
||||
# Mark: Installation begins
|
||||
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
|
||||
|
||||
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion) < "20A" ]]; then
|
||||
echo "Installomator should be at least version 10 to support Dialog. Installed version $installomatorVersion."
|
||||
echo "And macOS 11 Big Sur (build 20A) is required for Dialog. Installed build $(sw_vers -buildVersion)."
|
||||
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then
|
||||
echo "Skipping swiftDialog UI, using notifications."
|
||||
#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 swiftDialog. Installed build $(sw_vers -buildVersion)."
|
||||
installomatorNotify="NOTIFY=all"
|
||||
else
|
||||
installomatorNotify="NOTIFY=silent"
|
||||
@@ -125,7 +127,7 @@ else
|
||||
echo "Cannot find dialog at $dialogApp"
|
||||
# Install using Installlomator
|
||||
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
fi
|
||||
|
||||
# Configure and display swiftDialog
|
||||
@@ -138,24 +140,24 @@ else
|
||||
echo "$item $itemName"
|
||||
|
||||
#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
|
||||
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
|
||||
echo "ERROR: Cannot download link. Reset icon."
|
||||
echo "ERROR: Cannot download ${icon} link. Reset icon."
|
||||
icon=""
|
||||
fi
|
||||
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
|
||||
echo "icon looks to be a file"
|
||||
#echo "icon looks to be a file"
|
||||
if [[ ! -a "${icon}" ]]; then
|
||||
echo "ERROR: Cannot find file. Reset icon."
|
||||
echo "ERROR: Cannot find icon file ${icon}. Reset icon."
|
||||
icon=""
|
||||
fi
|
||||
else
|
||||
echo "ERROR: Cannot figure out icon. Reset icon."
|
||||
echo "ERROR: Cannot figure out icon ${icon}. Reset icon."
|
||||
icon=""
|
||||
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 [[ "$icon" == "" ]]; then
|
||||
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
|
||||
@@ -164,7 +166,7 @@ else
|
||||
appIcon="${appIcon}.icns"
|
||||
fi
|
||||
icon="${appPath}/Contents/Resources/${appIcon}"
|
||||
echo "Icon before file check: ${icon}"
|
||||
#echo "Icon before file check: ${icon}"
|
||||
if [ ! -f "${icon}" ]; then
|
||||
# Using LOGO variable to show logo in swiftDialog
|
||||
case $LOGO in
|
||||
@@ -232,7 +234,7 @@ fi
|
||||
|
||||
# Install software using Installomator
|
||||
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} ${installomatorNotify} || true)"
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
|
||||
# Mark: dockutil stuff
|
||||
if [[ $addToDock -eq 1 ]]; then
|
||||
@@ -241,7 +243,7 @@ if [[ $addToDock -eq 1 ]]; then
|
||||
echo "Cannot find dockutil at $dockutil, trying installation"
|
||||
# Install using Installlomator
|
||||
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
fi
|
||||
echo "Adding to Dock"
|
||||
for appPath in "${appPaths[@]}"; do
|
||||
@@ -254,9 +256,7 @@ else
|
||||
fi
|
||||
|
||||
# Mark: Ending
|
||||
if [[ $installomatorVersion -lt 10 ]]; then
|
||||
echo "Again skipping Dialog stuff."
|
||||
else
|
||||
iif [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then
|
||||
# close and quit dialog
|
||||
dialogUpdate "progress: complete"
|
||||
dialogUpdate "progresstext: Done"
|
||||
|
||||
@@ -42,6 +42,7 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user DIALOG_CMD_FILE=${dial
|
||||
# Fill the variable "item" above with a label.
|
||||
# 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.1 : Improved appIcon handling. Can add the app to Dock using dockutil
|
||||
# v. 10.0 : Integration with Dialog and Installomator v. 10
|
||||
@@ -64,19 +65,19 @@ dialogUpdate() {
|
||||
fi
|
||||
}
|
||||
checkCmdOutput () {
|
||||
# $1: cmdOutput
|
||||
local cmdOutput="$1"
|
||||
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
|
||||
local checkOutput="$1"
|
||||
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
|
||||
if [[ ${exitStatus} -eq 0 ]] ; then
|
||||
echo "${item} succesfully installed."
|
||||
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
|
||||
echo "$warnOutput"
|
||||
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
|
||||
echo "$selectedOutput"
|
||||
else
|
||||
echo "ERROR installing ${item}. Exit code ${exitStatus}"
|
||||
echo "$cmdOutput"
|
||||
#errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
|
||||
echo "$checkOutput"
|
||||
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )"
|
||||
#echo "$errorOutput"
|
||||
fi
|
||||
#echo "$checkOutput"
|
||||
}
|
||||
|
||||
# Check the currently logged in user
|
||||
@@ -111,9 +112,10 @@ caffexit () {
|
||||
# Mark: Installation begins
|
||||
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
|
||||
|
||||
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion) < "20A" ]]; then
|
||||
echo "Installomator should be at least version 10 to support Dialog. Installed version $installomatorVersion."
|
||||
echo "And macOS 11 Big Sur (build 20A) is required for Dialog. Installed build $(sw_vers -buildVersion)."
|
||||
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then
|
||||
echo "Skipping swiftDialog UI, using notifications."
|
||||
#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 swiftDialog. Installed build $(sw_vers -buildVersion)."
|
||||
installomatorNotify="NOTIFY=all"
|
||||
else
|
||||
installomatorNotify="NOTIFY=silent"
|
||||
@@ -122,7 +124,7 @@ else
|
||||
echo "Cannot find dialog at $dialogApp"
|
||||
# Install using Installlomator
|
||||
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
fi
|
||||
|
||||
# Configure and display swiftDialog
|
||||
@@ -135,24 +137,24 @@ else
|
||||
echo "$item $itemName"
|
||||
|
||||
#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
|
||||
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
|
||||
echo "ERROR: Cannot download link. Reset icon."
|
||||
echo "ERROR: Cannot download ${icon} link. Reset icon."
|
||||
icon=""
|
||||
fi
|
||||
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
|
||||
echo "icon looks to be a file"
|
||||
#echo "icon looks to be a file"
|
||||
if [[ ! -a "${icon}" ]]; then
|
||||
echo "ERROR: Cannot find file. Reset icon."
|
||||
echo "ERROR: Cannot find icon file ${icon}. Reset icon."
|
||||
icon=""
|
||||
fi
|
||||
else
|
||||
echo "ERROR: Cannot figure out icon. Reset icon."
|
||||
echo "ERROR: Cannot figure out icon ${icon}. Reset icon."
|
||||
icon=""
|
||||
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 [[ "$icon" == "" ]]; then
|
||||
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
|
||||
@@ -161,7 +163,7 @@ else
|
||||
appIcon="${appIcon}.icns"
|
||||
fi
|
||||
icon="${appPath}/Contents/Resources/${appIcon}"
|
||||
echo "Icon before file check: ${icon}"
|
||||
#echo "Icon before file check: ${icon}"
|
||||
if [ ! -f "${icon}" ]; then
|
||||
# Using LOGO variable to show logo in swiftDialog
|
||||
case $LOGO in
|
||||
@@ -229,7 +231,7 @@ fi
|
||||
|
||||
# Install software using Installomator
|
||||
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} ${installomatorNotify} || true)"
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
|
||||
# Mark: dockutil stuff
|
||||
if [[ $addToDock -eq 1 ]]; then
|
||||
@@ -238,7 +240,7 @@ if [[ $addToDock -eq 1 ]]; then
|
||||
echo "Cannot find dockutil at $dockutil, trying installation"
|
||||
# Install using Installlomator
|
||||
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
fi
|
||||
echo "Adding to Dock"
|
||||
$dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true
|
||||
@@ -248,9 +250,7 @@ else
|
||||
fi
|
||||
|
||||
# Mark: Ending
|
||||
if [[ $installomatorVersion -lt 10 ]]; then
|
||||
echo "Again skipping Dialog stuff."
|
||||
else
|
||||
if [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then
|
||||
# close and quit dialog
|
||||
dialogUpdate "progress: complete"
|
||||
dialogUpdate "progresstext: Done"
|
||||
|
||||
@@ -21,7 +21,7 @@ dialog_command_file="/var/tmp/dialog.log"
|
||||
dialogApp="/Library/Application Support/Dialog/Dialog.app"
|
||||
dockutil="/usr/local/bin/dockutil"
|
||||
|
||||
installomatorOptions="BLOCKING_PROCESS_ACTION=ignore NOTIFY=silent DIALOG_CMD_FILE=${dialog_command_file}" # Separated by space
|
||||
installomatorOptions="BLOCKING_PROCESS_ACTION=ignore DIALOG_CMD_FILE=${dialog_command_file}" # Separated by space
|
||||
|
||||
# Other installomatorOptions:
|
||||
# LOGGING=REQ
|
||||
@@ -45,6 +45,7 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=ignore NOTIFY=silent DIALOG_CMD_FI
|
||||
# Fill the variable "item" above with a label.
|
||||
# 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.1 : Can add the app to Dock using dockutil
|
||||
# v. 10.0 : Integration with Dialog and Installomator v. 10
|
||||
@@ -67,19 +68,19 @@ dialogUpdate() {
|
||||
fi
|
||||
}
|
||||
checkCmdOutput () {
|
||||
# $1: cmdOutput
|
||||
local cmdOutput="$1"
|
||||
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
|
||||
local checkOutput="$1"
|
||||
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
|
||||
if [[ ${exitStatus} -eq 0 ]] ; then
|
||||
echo "${item} succesfully installed."
|
||||
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
|
||||
echo "$warnOutput"
|
||||
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
|
||||
echo "$selectedOutput"
|
||||
else
|
||||
echo "ERROR installing ${item}. Exit code ${exitStatus}"
|
||||
echo "$cmdOutput"
|
||||
#errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
|
||||
echo "$checkOutput"
|
||||
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )"
|
||||
#echo "$errorOutput"
|
||||
fi
|
||||
#echo "$checkOutput"
|
||||
}
|
||||
|
||||
# Check the currently logged in user
|
||||
@@ -114,9 +115,10 @@ caffexit () {
|
||||
# Mark: Installation begins
|
||||
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
|
||||
|
||||
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion) < "20A" ]]; then
|
||||
echo "Installomator should be at least version 10 to support Dialog. Installed version $installomatorVersion."
|
||||
echo "And macOS 11 Big Sur (build 20A) is required for Dialog. Installed build $(sw_vers -buildVersion)."
|
||||
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then
|
||||
echo "Skipping swiftDialog UI, using notifications."
|
||||
#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 swiftDialog. Installed build $(sw_vers -buildVersion)."
|
||||
installomatorNotify="NOTIFY=all"
|
||||
else
|
||||
installomatorNotify="NOTIFY=silent"
|
||||
@@ -125,7 +127,7 @@ else
|
||||
echo "Cannot find dialog at $dialogApp"
|
||||
# Install using Installlomator
|
||||
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
fi
|
||||
|
||||
# Configure and display swiftDialog
|
||||
@@ -138,24 +140,24 @@ else
|
||||
echo "$item $itemName"
|
||||
|
||||
#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
|
||||
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
|
||||
echo "ERROR: Cannot download link. Reset icon."
|
||||
echo "ERROR: Cannot download ${icon} link. Reset icon."
|
||||
icon=""
|
||||
fi
|
||||
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
|
||||
echo "icon looks to be a file"
|
||||
#echo "icon looks to be a file"
|
||||
if [[ ! -a "${icon}" ]]; then
|
||||
echo "ERROR: Cannot find file. Reset icon."
|
||||
echo "ERROR: Cannot find icon file ${icon}. Reset icon."
|
||||
icon=""
|
||||
fi
|
||||
else
|
||||
echo "ERROR: Cannot figure out icon. Reset icon."
|
||||
echo "ERROR: Cannot figure out icon ${icon}. Reset icon."
|
||||
icon=""
|
||||
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 [[ "$icon" == "" ]]; then
|
||||
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
|
||||
@@ -164,7 +166,7 @@ else
|
||||
appIcon="${appIcon}.icns"
|
||||
fi
|
||||
icon="${appPath}/Contents/Resources/${appIcon}"
|
||||
echo "Icon before file check: ${icon}"
|
||||
#echo "Icon before file check: ${icon}"
|
||||
if [ ! -f "${icon}" ]; then
|
||||
# Using LOGO variable to show logo in swiftDialog
|
||||
case $LOGO in
|
||||
@@ -232,7 +234,7 @@ fi
|
||||
|
||||
# Install software using Installomator
|
||||
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} ${installomatorNotify} || true)"
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
|
||||
# Mark: dockutil stuff
|
||||
if [[ $addToDock -eq 1 ]]; then
|
||||
@@ -241,7 +243,7 @@ if [[ $addToDock -eq 1 ]]; then
|
||||
echo "Cannot find dockutil at $dockutil, trying installation"
|
||||
# Install using Installlomator
|
||||
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
|
||||
checkCmdOutput $cmdOutput
|
||||
checkCmdOutput "${cmdOutput}"
|
||||
fi
|
||||
echo "Adding to Dock"
|
||||
$dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true
|
||||
@@ -251,9 +253,7 @@ else
|
||||
fi
|
||||
|
||||
# Mark: Ending
|
||||
if [[ $installomatorVersion -lt 10 ]]; then
|
||||
echo "Again skipping Dialog stuff."
|
||||
else
|
||||
if [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then
|
||||
# close and quit dialog
|
||||
dialogUpdate "progress: complete"
|
||||
dialogUpdate "progresstext: Done"
|
||||
|
||||
@@ -5,10 +5,14 @@
|
||||
|
||||
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
|
||||
|
||||
#item="" # enter the software to install (if it has a label in future version of Installomator)
|
||||
# Have the label been submittet in a PR for 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
|
||||
name="ClickShare"
|
||||
name="ClickShare" # Spaces in the name will not work
|
||||
type="appInDmgInZip"
|
||||
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" )"
|
||||
@@ -40,6 +44,7 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user LOGGING=INFO NOTIFY=al
|
||||
# Fill the variable "what" above with a label.
|
||||
# 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.
|
||||
######################################################################
|
||||
|
||||
@@ -84,8 +89,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 )"
|
||||
if [[ ${exitStatus} -eq 0 ]] ; then
|
||||
echo "${what} succesfully installed."
|
||||
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
|
||||
echo "$warnOutput"
|
||||
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
|
||||
echo "$selectedOutput"
|
||||
else
|
||||
echo "ERROR installing ${what}. Exit code ${exitStatus}"
|
||||
echo "$cmdOutput"
|
||||
|
||||
@@ -31,6 +31,7 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=tell_user_then_quit" # Separated b
|
||||
# Fill the variable "item" above with a label.
|
||||
# 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.
|
||||
######################################################################
|
||||
|
||||
@@ -65,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 )"
|
||||
if [[ ${exitStatus} -eq 0 ]] ; then
|
||||
echo "${item} succesfully installed."
|
||||
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
|
||||
echo "$warnOutput"
|
||||
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
|
||||
echo "$selectedOutput"
|
||||
else
|
||||
echo "ERROR installing ${item}. Exit code ${exitStatus}"
|
||||
echo "$cmdOutput"
|
||||
|
||||
@@ -31,6 +31,7 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=tell_user_then_quit NOTIFY=all" #
|
||||
# Fill the variable "what" above with a label.
|
||||
# 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.
|
||||
######################################################################
|
||||
|
||||
@@ -65,8 +66,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 )"
|
||||
if [[ ${exitStatus} -eq 0 ]] ; then
|
||||
echo "${what} succesfully installed."
|
||||
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
|
||||
echo "$warnOutput"
|
||||
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
|
||||
echo "$selectedOutput"
|
||||
else
|
||||
echo "ERROR installing ${what}. Exit code ${exitStatus}"
|
||||
echo "$cmdOutput"
|
||||
|
||||
@@ -31,6 +31,7 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=tell_user" # Separated by space
|
||||
# Fill the variable "item" above with a label.
|
||||
# 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.
|
||||
######################################################################
|
||||
|
||||
@@ -65,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 )"
|
||||
if [[ ${exitStatus} -eq 0 ]] ; then
|
||||
echo "${item} succesfully installed."
|
||||
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
|
||||
echo "$warnOutput"
|
||||
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
|
||||
echo "$selectedOutput"
|
||||
else
|
||||
echo "ERROR installing ${item}. Exit code ${exitStatus}"
|
||||
echo "$cmdOutput"
|
||||
|
||||
@@ -32,6 +32,7 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user NOTIFY=all" # Separate
|
||||
# Fill the variable "item" above with a label.
|
||||
# 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.
|
||||
######################################################################
|
||||
|
||||
@@ -66,8 +67,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 )"
|
||||
if [[ ${exitStatus} -eq 0 ]] ; then
|
||||
echo "${item} succesfully installed."
|
||||
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
|
||||
echo "$warnOutput"
|
||||
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
|
||||
echo "$selectedOutput"
|
||||
else
|
||||
echo "ERROR installing ${item}. Exit code ${exitStatus}"
|
||||
echo "$cmdOutput"
|
||||
|
||||
@@ -31,6 +31,7 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=ignore NOTIFY=silent" # Separated
|
||||
# Fill the variable "item" above with a label.
|
||||
# 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.
|
||||
######################################################################
|
||||
|
||||
@@ -65,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 )"
|
||||
if [[ ${exitStatus} -eq 0 ]] ; then
|
||||
echo "${item} succesfully installed."
|
||||
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
|
||||
echo "$warnOutput"
|
||||
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
|
||||
echo "$selectedOutput"
|
||||
else
|
||||
echo "ERROR installing ${item}. Exit code ${exitStatus}"
|
||||
echo "$cmdOutput"
|
||||
|
||||
@@ -33,6 +33,7 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=tell_user_then_quit" # Separated b
|
||||
# Fill the variable "item" above with a label.
|
||||
# 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.
|
||||
######################################################################
|
||||
|
||||
@@ -77,8 +78,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 )"
|
||||
if [[ ${exitStatus} -eq 0 ]] ; then
|
||||
echo "${item} succesfully installed."
|
||||
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
|
||||
echo "$warnOutput"
|
||||
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
|
||||
echo "$selectedOutput"
|
||||
else
|
||||
echo "ERROR installing ${item}. Exit code ${exitStatus}"
|
||||
echo "$cmdOutput"
|
||||
|
||||
@@ -33,6 +33,7 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user" # Separated by space
|
||||
# Fill the variable "item" above with a label.
|
||||
# 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.
|
||||
######################################################################
|
||||
|
||||
@@ -77,8 +78,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 )"
|
||||
if [[ ${exitStatus} -eq 0 ]] ; then
|
||||
echo "${item} succesfully installed."
|
||||
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )"
|
||||
echo "$warnOutput"
|
||||
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
|
||||
echo "$selectedOutput"
|
||||
else
|
||||
echo "ERROR installing ${item}. Exit code ${exitStatus}"
|
||||
echo "$cmdOutput"
|
||||
|
||||
19
MDM/Collect Installomator.log.sh
Normal file
19
MDM/Collect Installomator.log.sh
Normal file
@@ -0,0 +1,19 @@
|
||||
#!/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}"
|
||||
@@ -54,7 +54,8 @@ errorMessage="A problem was encountered setting up this Mac. Please contact IT."
|
||||
# https://github.com/Installomator/Installomator
|
||||
#
|
||||
######################################################################
|
||||
scriptVersion="9.5"
|
||||
scriptVersion="9.6"
|
||||
# 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.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.
|
||||
@@ -207,11 +208,11 @@ gitusername="Installomator"
|
||||
gitreponame="Installomator"
|
||||
#printlog "$gitusername $gitreponame"
|
||||
filetype="pkg"
|
||||
#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)"
|
||||
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
||||
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
|
||||
printlog "Trying GitHub API for download URL."
|
||||
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
||||
printlog "GitHub API failed, trying failover."
|
||||
#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)"
|
||||
fi
|
||||
#printlog "$downloadURL"
|
||||
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
|
||||
|
||||
@@ -52,7 +52,8 @@ errorMessage="A problem was encountered setting up this Mac. Please contact IT."
|
||||
# https://github.com/Installomator/Installomator
|
||||
#
|
||||
######################################################################
|
||||
scriptVersion="9.5"
|
||||
scriptVersion="9.6"
|
||||
# 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.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.
|
||||
@@ -178,11 +179,11 @@ gitusername="Installomator"
|
||||
gitreponame="Installomator"
|
||||
#printlog "$gitusername $gitreponame"
|
||||
filetype="pkg"
|
||||
#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)"
|
||||
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
||||
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
|
||||
printlog "Trying GitHub API for download URL."
|
||||
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
||||
printlog "GitHub API failed, trying failover."
|
||||
#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)"
|
||||
fi
|
||||
#printlog "$downloadURL"
|
||||
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
|
||||
|
||||
@@ -54,7 +54,8 @@ errorMessage="A problem was encountered setting up this Mac. Please contact IT."
|
||||
# https://github.com/Installomator/Installomator
|
||||
#
|
||||
######################################################################
|
||||
scriptVersion="9.5"
|
||||
scriptVersion="9.6"
|
||||
# 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.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.
|
||||
@@ -207,11 +208,11 @@ gitusername="Installomator"
|
||||
gitreponame="Installomator"
|
||||
#printlog "$gitusername $gitreponame"
|
||||
filetype="pkg"
|
||||
#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)"
|
||||
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
||||
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
|
||||
printlog "Trying GitHub API for download URL."
|
||||
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
||||
printlog "GitHub API failed, trying failover."
|
||||
#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)"
|
||||
fi
|
||||
#printlog "$downloadURL"
|
||||
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
|
||||
|
||||
@@ -51,7 +51,8 @@ errorMessage="A problem was encountered setting up this Mac. Please contact IT."
|
||||
# https://github.com/Installomator/Installomator
|
||||
#
|
||||
######################################################################
|
||||
scriptVersion="9.5"
|
||||
scriptVersion="9.6"
|
||||
# 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.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.
|
||||
@@ -177,11 +178,11 @@ gitusername="Installomator"
|
||||
gitreponame="Installomator"
|
||||
#printlog "$gitusername $gitreponame"
|
||||
filetype="pkg"
|
||||
#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)"
|
||||
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
||||
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
|
||||
printlog "Trying GitHub API for download URL."
|
||||
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
||||
printlog "GitHub API failed, trying failover."
|
||||
#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)"
|
||||
fi
|
||||
#printlog "$downloadURL"
|
||||
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
|
||||
|
||||
@@ -54,11 +54,11 @@ gitusername="bartreardon"
|
||||
gitreponame="swiftDialog"
|
||||
#echo "$gitusername $gitreponame"
|
||||
filetype="pkg"
|
||||
#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)"
|
||||
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
||||
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
|
||||
echo "Trying GitHub API for download URL."
|
||||
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
||||
printlog "GitHub API failed, trying failover."
|
||||
#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)"
|
||||
fi
|
||||
#echo "$downloadURL"
|
||||
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
|
||||
|
||||
@@ -86,7 +86,8 @@ errorMessage="A problem was encountered setting up this Mac. Please contact IT."
|
||||
# Or fonts, like:
|
||||
# "Apple SF Pro Font,/Library/Fonts/SF-Pro.ttf"
|
||||
######################################################################
|
||||
scriptVersion="9.5"
|
||||
scriptVersion="9.6"
|
||||
# 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.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.
|
||||
@@ -230,11 +231,11 @@ gitusername="bartreardon"
|
||||
gitreponame="swiftDialog"
|
||||
#printlog "$gitusername $gitreponame"
|
||||
filetype="pkg"
|
||||
#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)"
|
||||
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
||||
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
|
||||
printlog "Trying GitHub API for download URL."
|
||||
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
||||
printlog "GitHub API failed, trying failover."
|
||||
#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)"
|
||||
fi
|
||||
#printlog "$downloadURL"
|
||||
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
|
||||
@@ -245,6 +246,7 @@ versionKey="CFBundleShortVersionString" #CFBundleVersion
|
||||
|
||||
currentInstalledVersion="$(defaults read "${destFile}/Contents/Info.plist" $versionKey || true)"
|
||||
printlog "${name} version: $currentInstalledVersion"
|
||||
destFile="/usr/local/bin/dialog"
|
||||
if [[ ! -e "${destFile}" || "$currentInstalledVersion" != "$appNewVersion" ]]; then
|
||||
printlog "$name not found or version not latest."
|
||||
printlog "${destFile}"
|
||||
|
||||
@@ -16,7 +16,8 @@
|
||||
# https://github.com/Installomator/Installomator
|
||||
#
|
||||
######################################################################
|
||||
scriptVersion="9.5"
|
||||
scriptVersion="9.6"
|
||||
# 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.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.
|
||||
@@ -65,11 +66,11 @@ gitusername="Installomator"
|
||||
gitreponame="Installomator"
|
||||
#printlog "$gitusername $gitreponame"
|
||||
filetype="pkg"
|
||||
#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)"
|
||||
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
||||
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
|
||||
printlog "Trying GitHub API for download URL."
|
||||
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
||||
printlog "GitHub API failed, trying failover."
|
||||
#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)"
|
||||
fi
|
||||
#printlog "$downloadURL"
|
||||
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
|
||||
|
||||
@@ -16,7 +16,8 @@
|
||||
# https://github.com/Installomator/Installomator
|
||||
#
|
||||
######################################################################
|
||||
scriptVersion="9.5"
|
||||
scriptVersion="9.6"
|
||||
# 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.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.
|
||||
@@ -65,11 +66,11 @@ gitusername="bartreardon"
|
||||
gitreponame="swiftDialog"
|
||||
#printlog "$gitusername $gitreponame"
|
||||
filetype="pkg"
|
||||
#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)"
|
||||
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
||||
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
|
||||
printlog "Trying GitHub API for download URL."
|
||||
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
||||
printlog "GitHub API failed, trying failover."
|
||||
#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)"
|
||||
fi
|
||||
#printlog "$downloadURL"
|
||||
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
|
||||
@@ -80,6 +81,7 @@ versionKey="CFBundleShortVersionString" #CFBundleVersion
|
||||
|
||||
currentInstalledVersion="$(defaults read "${destFile}/Contents/Info.plist" $versionKey || true)"
|
||||
printlog "${name} version: $currentInstalledVersion"
|
||||
destFile="/usr/local/bin/dialog"
|
||||
if [[ ! -e "${destFile}" || "$currentInstalledVersion" != "$appNewVersion" ]]; then
|
||||
printlog "$name not found or version not latest."
|
||||
printlog "${destFile}"
|
||||
|
||||
@@ -97,7 +97,7 @@ At some point, in 2018, Armin got frustrated at the number of scripts he was mai
|
||||
|
||||
So Armin made the version for Jamf Pro but universally for any MDM to adopt.
|
||||
|
||||
Søren looked at this, and wanted this approach to work in Mosyle and Addigy, and for these solutions we need Installomator to be locally installed on. the Mac, and then the MDM can call this script from their scripts features. For some time Søren had a version of Installomator that was supplied with a notarized pkg, so it could be deployed as part of DEP or however was needed.
|
||||
Søren looked at this, and wanted this approach to work in Mosyle and Addigy, and for these solutions we need Installomator to be locally installed on the Mac, and then the MDM can call this script from their scripts features. For some time Søren had a version of Installomator that was supplied with a notarized pkg, so it could be deployed as part of DEP or however was needed.
|
||||
|
||||
This has now been merged into Installomator, and with contributions of Isaac and Adam, new features and labels have been added more frequently.
|
||||
|
||||
|
||||
@@ -1018,7 +1018,7 @@ updateDialog() {
|
||||
echo "progress: $progress" >> $cmd_file
|
||||
fi
|
||||
if [[ $message != "" ]]; then
|
||||
echo "progresstext: $name - $message" >> $cmd_file
|
||||
echo "progresstext: $message" >> $cmd_file
|
||||
fi
|
||||
else
|
||||
# list item has a value, so we update the progress and text in the list
|
||||
|
||||
@@ -2,6 +2,8 @@ googleadseditor)
|
||||
name="Google Ads Editor"
|
||||
type="dmg"
|
||||
downloadURL="https://dl.google.com/adwords_editor/google_ads_editor.dmg"
|
||||
appNewVersion=""
|
||||
# Version not found in installed app, but on we it is here
|
||||
#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"
|
||||
;;
|
||||
|
||||
8
fragments/labels/ibmnotifier.sh
Normal file
8
fragments/labels/ibmnotifier.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
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"
|
||||
;;
|
||||
9
fragments/labels/inetclearreportsdesigner.sh
Normal file
9
fragments/labels/inetclearreportsdesigner.sh
Normal file
@@ -0,0 +1,9 @@
|
||||
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
|
||||
;;
|
||||
9
fragments/labels/ipvisionconnect.sh
Normal file
9
fragments/labels/ipvisionconnect.sh
Normal file
@@ -0,0 +1,9 @@
|
||||
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"
|
||||
;;
|
||||
11
fragments/labels/logitechoptionsplus.sh
Normal file
11
fragments/labels/logitechoptionsplus.sh
Normal file
@@ -0,0 +1,11 @@
|
||||
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"
|
||||
;;
|
||||
8
fragments/labels/lucidlink.sh
Normal file
8
fragments/labels/lucidlink.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
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"
|
||||
;;
|
||||
7
fragments/labels/mactex.sh
Normal file
7
fragments/labels/mactex.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
mactex)
|
||||
name="MacTeX"
|
||||
appName="TeX Live Utility.app"
|
||||
type="pkg"
|
||||
downloadURL="https://mirror.ctan.org/systems/mac/mactex/MacTeX.pkg"
|
||||
expectedTeamID="RBGCY5RJWM"
|
||||
;;
|
||||
9
fragments/labels/onscreencontrol.sh
Normal file
9
fragments/labels/onscreencontrol.sh
Normal file
@@ -0,0 +1,9 @@
|
||||
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"
|
||||
;;
|
||||
@@ -2,6 +2,11 @@ openvpnconnectv3)
|
||||
# credit: @lotnix
|
||||
name="OpenVPN Connect"
|
||||
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"
|
||||
expectedTeamID="ACV7L3WCD8"
|
||||
;;
|
||||
|
||||
6
fragments/labels/projectplace.sh
Normal file
6
fragments/labels/projectplace.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
projectplace)
|
||||
name="Projectplace"
|
||||
type="dmg"
|
||||
downloadURL="https://service.projectplace.com/client_apps/desktop/Projectplace-for-mac.dmg"
|
||||
expectedTeamID="8333HW99E8"
|
||||
;;
|
||||
9
fragments/labels/subethaedit.sh
Normal file
9
fragments/labels/subethaedit.sh
Normal file
@@ -0,0 +1,9 @@
|
||||
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"
|
||||
;;
|
||||
9
fragments/labels/sublimemerge.sh
Normal file
9
fragments/labels/sublimemerge.sh
Normal file
@@ -0,0 +1,9 @@
|
||||
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"
|
||||
;;
|
||||
@@ -2,5 +2,6 @@ tunnelblick)
|
||||
name="Tunnelblick"
|
||||
type="dmg"
|
||||
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"
|
||||
;;
|
||||
|
||||
8
fragments/labels/venturablocker.sh
Normal file
8
fragments/labels/venturablocker.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
venturablocker)
|
||||
name="venturablocker"
|
||||
type="pkg"
|
||||
packageID="dk.envo-it.venturablocker"
|
||||
downloadURL=$(downloadURLFromGit Theile venturablocker )
|
||||
appNewVersion=$(versionFromGit Theile venturablocker )
|
||||
expectedTeamID="FXW6QXBFW5"
|
||||
;;
|
||||
7
fragments/labels/vysor.sh
Normal file
7
fragments/labels/vysor.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
vysor)
|
||||
name="Vysor"
|
||||
type="zip"
|
||||
downloadURL="$(downloadURLFromGit koush vysor.io)"
|
||||
appNewVersion="$(versionFromGit koush vysor.io)"
|
||||
expectedTeamID="XT4C9EJNUG"
|
||||
;;
|
||||
13
fragments/labels/zulujdk18.sh
Normal file
13
fragments/labels/zulujdk18.sh
Normal file
@@ -0,0 +1,13 @@
|
||||
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
|
||||
;;
|
||||
@@ -1 +1 @@
|
||||
10.0beta3
|
||||
10.1beta
|
||||
|
||||
@@ -14,7 +14,9 @@ if ! gh pr checkout $pr_num -b "pr/$pr_num"; then
|
||||
fi
|
||||
|
||||
if ! utils/assemble.sh $label; then
|
||||
exitcode=$?
|
||||
echo "something went wrong, stopping here"
|
||||
echo "exit code: $exitcode"
|
||||
else
|
||||
echo
|
||||
echo "All good!"
|
||||
|
||||
Reference in New Issue
Block a user