mirror of
https://github.com/mtan93/Installomator.git
synced 2026-03-09 13:21:53 +00:00
Compare commits
66 Commits
revert-621
...
v10.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 | ||
|
|
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}"
|
||||
|
||||
@@ -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.0
|
||||
|
||||
@@ -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