69 Commits

Author SHA1 Message Date
Armin Briegel
b333528379 Merge pull request #744 from jaredsiegel/patch-2
Update README.md
2022-11-18 14:25:58 +01:00
Armin Briegel
89dfe63606 updated version 2022-11-18 13:49:28 +01:00
Armin Briegel
88cd4114ae updated for release 2022-11-18 13:41:38 +01:00
Armin Briegel
b1dc94ad1d fixed files not ending in newline 2022-11-18 13:29:39 +01:00
Armin Briegel
0b5495ffbf new label: ibmnotifier 2022-11-18 13:14:10 +01:00
Armin Briegel
1fae99b322 new label: lucidlink 2022-11-18 13:13:26 +01:00
Armin Briegel
c8677eddf5 new label: adobereaderdc 2022-11-18 13:12:20 +01:00
Armin Briegel
40bc37c2f6 new label: logitechoptionsplus 2022-11-18 13:11:14 +01:00
Armin Briegel
b9f8d569b6 new label: subethaedit 2022-11-18 13:10:03 +01:00
Armin Briegel
a618c63b50 new label: sublimemerge 2022-11-18 13:09:15 +01:00
Armin Briegel
9aef18b89d new label: googleadseditor 2022-11-18 13:08:01 +01:00
Armin Briegel
0a8eeaf0f6 new label: ipvisionconnect 2022-11-18 13:04:53 +01:00
Armin Briegel
f0b7e579e3 new label: venturablocker 2022-11-18 13:03:06 +01:00
Armin Briegel
e066a7c3bf new label: vysor 2022-11-18 13:02:10 +01:00
Armin Briegel
7c45573a0e new label: projectplace 2022-11-18 13:00:00 +01:00
Armin Briegel
c26cfa24ba new label: mactex 2022-11-18 12:49:03 +01:00
Armin Briegel
87b671f0e5 new label: tunnelblick 2022-11-18 11:23:38 +01:00
Armin Briegel
2b5ce2f90e Merge branch 'pr/581' 2022-11-18 11:20:25 +01:00
Armin Briegel
fc33d2aaff better error message 2022-11-18 11:20:17 +01:00
Søren Theilgaard
bc4a612e15 Merge pull request #738 from Theile/MDM-scripts-logging-changes
Mdm scripts logging changes
2022-11-17 15:38:25 +01:00
Adam Codega
b7d67e6967 Merge pull request #750 from KMTMark/openvpnconnectv3-fix
Openvpnconnectv3 fix
2022-11-15 14:34:05 -05:00
Theile
8c853ddd30 GitHub API call is now primary 2022-11-15 11:22:28 +01:00
macmangr
fa26867583 Changed download link
Changed download link to grab the latest version
2022-11-12 17:46:21 +01:00
Mark Skrzypczyk
dbcdea3a72 add new line at EOF 2022-11-01 14:59:44 +00:00
Mark Skrzypczyk
68d389ab7f Update to include pkg name for each arch type 2022-11-01 14:58:43 +00:00
Theile
8dbabec280 Create ipvisionconnect.sh 2022-11-01 12:33:11 +01:00
Theile
98f0fb1a77 Many fewer icon logs. 2022-10-25 20:57:11 +02:00
jaredsiegel
d795598a22 Update README.md
typo correction
2022-10-25 11:21:16 -07:00
Theile
afc906161a Minor change in NOTIFY setting, that was missed 2022-10-25 10:48:52 +02:00
Theile
a8a1082d34 Final log-fixes 2022-10-24 13:10:15 +02:00
Theile
dfc9950a31 Update App browser-security Auto-install.sh 2022-10-24 12:39:04 +02:00
Theile
e22a7754bd Improved logging
Overall purpose was to improve the logging in the scripts. But the handling of macOS version and Installomator version in order to utilize swiftDialog has been improved, too.
2022-10-24 12:38:46 +02:00
Theile
2362e8a9d0 Improved logging 2022-10-21 14:01:59 +02:00
Theile
a7224fcbea Check to see if dialog CLI is also there 2022-10-21 13:07:19 +02:00
Theile
2a0385d30d Check to see if Dialog CLI is also there 2022-10-21 13:05:55 +02:00
Theile
03177d4e9d Get Installomator.log from client 2022-10-21 10:39:22 +02:00
Theile
8b19773a7f Correcting logging 2022-10-21 10:38:58 +02:00
Theile
9ef19139d2 Improved logging 2022-10-21 09:50:26 +02:00
Theile
c4fbcd6f3a Update googleadseditor.sh 2022-10-21 09:37:55 +02:00
Theile
6ee318f655 Create sublimemerge.sh 2022-10-13 14:50:46 +02:00
Theile
b0bc3c3c81 Create subethaedit.sh 2022-10-13 14:29:53 +02:00
Theile
f75d789322 appNewVersion fixed! 2022-10-12 10:11:04 +02:00
Theile
94a1d2fc32 Merge branch 'main' of https://github.com/Theile/Installomator 2022-10-12 08:43:53 +02:00
Theile
97f8b9ad26 Revert "Too many label names"
This reverts commit 651a5ce067.
2022-10-12 08:43:46 +02:00
Theile
b5a51c3cbf Update lucidlink.sh
`name` is now the name of the app. App has perfect values in it's version, so no need for `packageID`. Since `name` matches the name of the app, `blockingProcesses` comes for free.
2022-10-12 08:37:34 +02:00
Søren Theilgaard
719fe6e925 Merge branch 'Installomator:main' into main 2022-10-11 20:41:34 +02:00
Theile
651a5ce067 Too many label names
`adobereaderdc` is now only that, as another label is `adobereaderdc-install`.
2022-10-11 20:40:36 +02:00
Iñaky Martinez
b1df345814 Updated name
Updated name :)
2022-10-11 14:23:09 +02:00
Iñaky Martinez
a626375906 Update lucid.sh 2022-10-11 13:07:25 +02:00
Iñaky Martinez
5d968b0816 Update lucid.sh 2022-10-11 10:30:39 +02:00
Iñaky Martinez
69c959c923 Create lucid.sh 2022-10-11 09:54:23 +02:00
Pro4TLZZ
e88e2a56ea Add fragments/labels/logitechoptionsplus.sh
Add label for Logitech Options+
2022-10-07 10:06:36 +01:00
Armin Briegel
95901cfa6b Merge pull request #717 from dan-snelson/main
Omit Label name when used with switftDialog
2022-10-06 10:24:06 -07:00
Dan K. Snelson
7dabe54f18 Omit ' - ' when used with switftDialog 2022-10-06 11:17:03 -06:00
Theile
ac874a9f28 IBM Notifier
IBM for some reason is adding too much to the “tag” on Github, so they have “Version 2.9.1 Build 96” for the current latest version. That ends up being read as 2.9.196, and not only 2.9.1 that the app version is.

I upload this, so we have it ready, but not sure if `appNewVersion` should stay or be commented out.
2022-10-06 15:28:59 +02:00
Theile
3c8a4ff067 Create venturablocker.sh
```
2022-10-04 20:54:54 : INFO  : venturablocker : setting variable from argument DEBUG=2
2022-10-04 20:54:54 : REQ   : venturablocker : ################## Start Installomator v. 10.0beta3, date 2022-10-04
2022-10-04 20:54:54 : INFO  : venturablocker : ################## Version: 10.0beta3
2022-10-04 20:54:54 : INFO  : venturablocker : ################## Date: 2022-10-04
2022-10-04 20:54:54 : INFO  : venturablocker : ################## venturablocker
2022-10-04 20:54:54 : DEBUG : venturablocker : DEBUG mode 2 enabled.
2022-10-04 20:54:56 : DEBUG : venturablocker : name=venturablocker
2022-10-04 20:54:56 : DEBUG : venturablocker : appName=
2022-10-04 20:54:56 : DEBUG : venturablocker : type=pkg
2022-10-04 20:54:56 : DEBUG : venturablocker : archiveName=
2022-10-04 20:54:56 : DEBUG : venturablocker : downloadURL=https://github.com/Theile/venturablocker/releases/download/v20221004/venturablocker-20221004.pkg
2022-10-04 20:54:56 : DEBUG : venturablocker : curlOptions=
2022-10-04 20:54:56 : DEBUG : venturablocker : appNewVersion=20221004
2022-10-04 20:54:56 : DEBUG : venturablocker : appCustomVersion function: Not defined
2022-10-04 20:54:56 : DEBUG : venturablocker : versionKey=CFBundleShortVersionString
2022-10-04 20:54:56 : DEBUG : venturablocker : packageID=dk.envo-it.venturablocker
2022-10-04 20:54:56 : DEBUG : venturablocker : pkgName=
2022-10-04 20:54:56 : DEBUG : venturablocker : choiceChangesXML=
2022-10-04 20:54:56 : DEBUG : venturablocker : expectedTeamID=FXW6QXBFW5
2022-10-04 20:54:56 : DEBUG : venturablocker : blockingProcesses=
2022-10-04 20:54:56 : DEBUG : venturablocker : installerTool=
2022-10-04 20:54:56 : DEBUG : venturablocker : CLIInstaller=
2022-10-04 20:54:56 : DEBUG : venturablocker : CLIArguments=
2022-10-04 20:54:56 : DEBUG : venturablocker : updateTool=
2022-10-04 20:54:56 : DEBUG : venturablocker : updateToolArguments=
2022-10-04 20:54:56 : DEBUG : venturablocker : updateToolRunAsCurrentUser=
2022-10-04 20:54:56 : INFO  : venturablocker : BLOCKING_PROCESS_ACTION=tell_user
2022-10-04 20:54:56 : INFO  : venturablocker : NOTIFY=success
2022-10-04 20:54:56 : INFO  : venturablocker : LOGGING=DEBUG
2022-10-04 20:54:56 : INFO  : venturablocker : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-10-04 20:54:56 : INFO  : venturablocker : Label type: pkg
2022-10-04 20:54:56 : INFO  : venturablocker : archiveName: venturablocker.pkg
2022-10-04 20:54:56 : INFO  : venturablocker : no blocking processes defined, using venturablocker as default
2022-10-04 20:54:56 : DEBUG : venturablocker : Changing directory to /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.nLLDwJfl
2022-10-04 20:54:56 : INFO  : venturablocker : No version found using packageID dk.envo-it.venturablocker
2022-10-04 20:54:56 : INFO  : venturablocker : name: venturablocker, appName: venturablocker.app
2022-10-04 20:54:56.273 mdfind[91898:6894403] [UserQueryParser] Loading keywords and predicates for locale "en_US"
2022-10-04 20:54:56.274 mdfind[91898:6894403] [UserQueryParser] Loading keywords and predicates for locale "en"
2022-10-04 20:54:56.323 mdfind[91898:6894403] Couldn't determine the mapping between prefab keywords and predicates.
2022-10-04 20:54:56 : WARN  : venturablocker : No previous app found
2022-10-04 20:54:56 : WARN  : venturablocker : could not find venturablocker.app
2022-10-04 20:54:56 : INFO  : venturablocker : appversion:
2022-10-04 20:54:56 : INFO  : venturablocker : Latest version of venturablocker is 20221004
2022-10-04 20:54:56 : REQ   : venturablocker : Downloading https://github.com/Theile/venturablocker/releases/download/v20221004/venturablocker-20221004.pkg to venturablocker.pkg
2022-10-04 20:54:56 : DEBUG : venturablocker : No Dialog connection, just download
2022-10-04 20:54:57 : DEBUG : venturablocker : File list: -rw-r--r--  1 root  wheel    44K Oct  4 20:54 venturablocker.pkg
2022-10-04 20:54:57 : DEBUG : venturablocker : File type: venturablocker.pkg: xar archive compressed TOC: 4475, SHA-1 checksum
2022-10-04 20:54:57 : DEBUG : venturablocker : curl output was:
*   Trying 140.82.121.3:443...
* Connected to github.com (140.82.121.3) port 443 (#0)
…
* Connection #1 to host objects.githubusercontent.com left intact

2022-10-04 20:54:57 : REQ   : venturablocker : no more blocking processes, continue with update
2022-10-04 20:54:57 : REQ   : venturablocker : Installing venturablocker
2022-10-04 20:54:57 : INFO  : venturablocker : Verifying: venturablocker.pkg
2022-10-04 20:54:57 : DEBUG : venturablocker : File list: -rw-r--r--  1 root  wheel    44K Oct  4 20:54 venturablocker.pkg
2022-10-04 20:54:57 : DEBUG : venturablocker : File type: venturablocker.pkg: xar archive compressed TOC: 4475, SHA-1 checksum
2022-10-04 20:54:57 : DEBUG : venturablocker : spctlOut is venturablocker.pkg: accepted
2022-10-04 20:54:57 : DEBUG : venturablocker : source=Notarized Developer ID
2022-10-04 20:54:57 : DEBUG : venturablocker : origin=Developer ID Installer: ENVO IT AS (FXW6QXBFW5)
2022-10-04 20:54:57 : INFO  : venturablocker : Team ID: FXW6QXBFW5 (expected: FXW6QXBFW5 )
2022-10-04 20:54:57 : DEBUG : venturablocker : Deleting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.nLLDwJfl
2022-10-04 20:54:57 : DEBUG : venturablocker : Debugging enabled, Deleting tmpDir output was:
/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.nLLDwJfl/venturablocker.pkg
2022-10-04 20:54:57 : DEBUG : venturablocker : /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.nLLDwJfl
2022-10-04 20:54:57 : INFO  : venturablocker : App not closed, so no reopen.
2022-10-04 20:54:57 : DEBUG : venturablocker : DEBUG mode 2 enabled, exiting
2022-10-04 20:54:57 : REQ   : venturablocker : ################## End Installomator, exit code 0
```
2022-10-04 20:58:01 +02:00
Armin Briegel
3364e6cf07 updated Labels and main script 2022-10-03 16:09:30 -07:00
Armin Briegel
a4f8b65932 Update CHANGELOG.md 2022-10-03 16:08:39 -07:00
Armin Briegel
3748080fa7 new label: inetclearreportsdesigner 2022-10-03 16:05:44 -07:00
Armin Briegel
47acb6443d Update CHANGELOG.md 2022-10-03 16:05:25 -07:00
Armin Briegel
e8b777babb re-Merge branch 'pr/612' 2022-10-03 14:51:57 -07:00
Armin Briegel
116937a948 Update CHANGELOG.md 2022-10-03 14:50:26 -07:00
Theile
57fd2e57fc vysor label
[https://github.com/koush/vysor.io](https://github.com/koush/vysor.io)

Vysor - Mirror and Control your Phone
2022-10-03 13:03:46 +02:00
Fredrik Larsson
a5421ad226 New Label: Projectplace
2022-09-13 08:38:09 : REQ   : projectplace : ################## Start Installomator v. 10.0beta3, date 2022-09-13
2022-09-13 08:38:09 : INFO  : projectplace : ################## Version: 10.0beta3
2022-09-13 08:38:09 : INFO  : projectplace : ################## Date: 2022-09-13
2022-09-13 08:38:09 : INFO  : projectplace : ################## projectplace
2022-09-13 08:38:09 : INFO  : projectplace : SwiftDialog is not installed, clear cmd file var
2022-09-13 08:38:09 : INFO  : projectplace : BLOCKING_PROCESS_ACTION=tell_user
2022-09-13 08:38:09 : INFO  : projectplace : NOTIFY=success
2022-09-13 08:38:09 : INFO  : projectplace : LOGGING=INFO
2022-09-13 08:38:09 : INFO  : projectplace : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-09-13 08:38:09 : INFO  : projectplace : Label type: dmg
2022-09-13 08:38:09 : INFO  : projectplace : archiveName: Projectplace.dmg
2022-09-13 08:38:09 : INFO  : projectplace : no blocking processes defined, using Projectplace as default
2022-09-13 08:38:10 : INFO  : projectplace : name: Projectplace, appName: Projectplace.app
2022-09-13 08:38:10 : WARN  : projectplace : No previous app found
2022-09-13 08:38:10 : WARN  : projectplace : could not find Projectplace.app
2022-09-13 08:38:10 : INFO  : projectplace : appversion:
2022-09-13 08:38:10 : INFO  : projectplace : Latest version not specified.
2022-09-13 08:38:10 : REQ   : projectplace : Downloading https://service.projectplace.com/client_apps/desktop/Projectplace-for-mac.dmg to Projectplace.dmg
2022-09-13 08:38:11 : REQ   : projectplace : no more blocking processes, continue with update
2022-09-13 08:38:11 : REQ   : projectplace : Installing Projectplace
2022-09-13 08:38:11 : INFO  : projectplace : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.DSQ0lE6Y/Projectplace.dmg
2022-09-13 08:38:14 : INFO  : projectplace : Mounted: /Volumes/Projectplace
2022-09-13 08:38:14 : INFO  : projectplace : Verifying: /Volumes/Projectplace/Projectplace.app
2022-09-13 08:38:15 : INFO  : projectplace : Team ID matching: 8333HW99E8 (expected: 8333HW99E8 )
2022-09-13 08:38:15 : INFO  : projectplace : Installing Projectplace version 1.3.5 on versionKey CFBundleShortVersionString.
2022-09-13 08:38:15 : INFO  : projectplace : Copy /Volumes/Projectplace/Projectplace.app to /Applications
2022-09-13 08:38:15 : WARN  : projectplace : Changing owner to kryptonit
2022-09-13 08:38:15 : INFO  : projectplace : Finishing...
2022-09-13 08:38:18 : INFO  : projectplace : App(s) found: /Applications/Projectplace.app
2022-09-13 08:38:18 : INFO  : projectplace : found app at /Applications/Projectplace.app, version 1.3.5, on versionKey CFBundleShortVersionString
2022-09-13 08:38:18 : REQ   : projectplace : Installed Projectplace, version 1.3.5
2022-09-13 08:38:18 : INFO  : projectplace : notifying
2022-09-13 08:38:19 : INFO  : projectplace : App not closed, so no reopen.
2022-09-13 08:38:19 : REQ   : projectplace : All done!
2022-09-13 08:38:19 : REQ   : projectplace : ################## End Installomator, exit code 0
2022-09-13 08:39:21 +02:00
Fredrik Larsson
5ab42971e5 New Label: MacTeX 2022-09-12 16:28:03 +02:00
macmangr
0a9957169e Update tunnelblick.sh
Added appNewVersion check
2022-07-09 13:43:52 +02:00
John Hutchison
5b7038bf19 New Label for Zulu JDK 18
New label for Zulu JDK 18. Test Deployment below;

./assemble.sh zulujdk18
2022-07-05 09:14:29 : REQ   : zulujdk18 : ################## Start Installomator v. 9.2, date 2022-07-05
2022-07-05 09:14:29 : INFO  : zulujdk18 : ################## Version: 9.2
2022-07-05 09:14:29 : INFO  : zulujdk18 : ################## Date: 2022-07-05
2022-07-05 09:14:29 : INFO  : zulujdk18 : ################## zulujdk18
2022-07-05 09:14:29 : DEBUG : zulujdk18 : DEBUG mode 1 enabled.
2022-07-05 09:14:30 : INFO  : zulujdk18 : BLOCKING_PROCESS_ACTION=tell_user
2022-07-05 09:14:30 : INFO  : zulujdk18 : NOTIFY=success
2022-07-05 09:14:30 : INFO  : zulujdk18 : LOGGING=DEBUG
2022-07-05 09:14:30 : INFO  : zulujdk18 : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-07-05 09:14:30 : INFO  : zulujdk18 : Label type: pkgInDmg
2022-07-05 09:14:30 : INFO  : zulujdk18 : archiveName: Zulu JDK 18.dmg
2022-07-05 09:14:30 : INFO  : zulujdk18 : no blocking processes defined, using Zulu JDK 18 as default
2022-07-05 09:14:30 : DEBUG : zulujdk18 : Changing directory to /Users/john/Documents/Source/Installomator/build
2022-07-05 09:14:30 : INFO  : zulujdk18 : Custom App Version detection is used, found 18.30.11
2022-07-05 09:14:30 : INFO  : zulujdk18 : appversion: 18.30.11
2022-07-05 09:14:30 : INFO  : zulujdk18 : Latest version of Zulu JDK 18 is 18.30.11
2022-07-05 09:14:30 : WARN  : zulujdk18 : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-07-05 09:14:30 : REQ   : zulujdk18 : Downloading https://cdn.azul.com/zulu/bin/zulu18.30.11-ca-jdk18.0.1-macosx_aarch64.dmg to Zulu JDK 18.dmg
2022-07-05 09:14:39 : DEBUG : zulujdk18 : File list: -rw-r--r--  1 john  staff   186M Jul  5 09:14 Zulu JDK 18.dmg
2022-07-05 09:14:39 : DEBUG : zulujdk18 : File type: Zulu JDK 18.dmg: bzip2 compressed data, block size = 100k
2022-07-05 09:14:39 : DEBUG : zulujdk18 : curl output was:
*   Trying 104.18.21.159:443...
* Connected to cdn.azul.com (104.18.21.159) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [317 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [19 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [2325 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [78 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=California; L=San Francisco; O=Cloudflare, Inc.; CN=sni.cloudflaressl.com
*  start date: Apr  3 00:00:00 2022 GMT
*  expire date: Apr  3 23:59:59 2023 GMT
*  subjectAltName: host "cdn.azul.com" matched cert's "*.azul.com"
*  issuer: C=US; O=Cloudflare, Inc.; CN=Cloudflare Inc ECC CA-3
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x13d011400)
> GET /zulu/bin/zulu18.30.11-ca-jdk18.0.1-macosx_aarch64.dmg HTTP/2
> Host: cdn.azul.com
> user-agent: curl/7.79.1
> accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 256)!
< HTTP/2 200
< date: Tue, 05 Jul 2022 13:14:30 GMT
< content-type: application/x-apple-diskimage
< content-length: 194730464
< last-modified: Fri, 22 Apr 2022 11:16:32 GMT
< etag: "b9b59e0-5dd3c5bdad2c8"
< cache-control: max-age=2592000
< expires: Wed, 06 Jul 2022 15:18:26 GMT
< vary: Origin
< cf-cache-status: HIT
< age: 2498164
< accept-ranges: bytes
< expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< server: cloudflare
< cf-ray: 72605d35a87178d0-EWR
< alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
<
{ [1029 bytes data]
* Connection #0 to host cdn.azul.com left intact

2022-07-05 09:14:39 : DEBUG : zulujdk18 : DEBUG mode 1, not checking for blocking processes
2022-07-05 09:14:39 : REQ   : zulujdk18 : Installing Zulu JDK 18
2022-07-05 09:14:39 : INFO  : zulujdk18 : Mounting /Users/john/Documents/Source/Installomator/build/Zulu JDK 18.dmg
2022-07-05 09:14:48 : DEBUG : zulujdk18 : Debugging enabled, dmgmount output was:
Checksumming Protective Master Boot Record (MBR : 0)…
Protective Master Boot Record (MBR :: verified   CRC32 $8667CA94
Checksumming GPT Header (Primary GPT Header : 1)…
GPT Header (Primary GPT Header : 1): verified   CRC32 $997E8BC9
Checksumming GPT Partition Data (Primary GPT Table : 2)…
GPT Partition Data (Primary GPT Tabl: verified   CRC32 $78938419
Checksumming  (Apple_Free : 3)…
(Apple_Free : 3): verified   CRC32 $00000000
Checksumming disk image (Apple_HFS : 4)…
disk image (Apple_HFS : 4): verified   CRC32 $8B1E5839
Checksumming  (Apple_Free : 5)…
(Apple_Free : 5): verified   CRC32 $00000000
Checksumming GPT Partition Data (Backup GPT Table : 6)…
GPT Partition Data (Backup GPT Table: verified   CRC32 $78938419
Checksumming GPT Header (Backup GPT Header : 7)…
GPT Header (Backup GPT Header : 7): verified   CRC32 $F309C9FC
verified   CRC32 $FAED0B8A
/dev/disk6          	GUID_partition_scheme
/dev/disk6s1        	Apple_HFS                      	/Volumes/Azul Zulu JDK 18.30+11 1

2022-07-05 09:14:48 : INFO  : zulujdk18 : Mounted: /Volumes/Azul Zulu JDK 18.30+11 1
2022-07-05 09:14:48 : DEBUG : zulujdk18 : Found pkg(s):
/Volumes/Azul Zulu JDK 18.30+11 1/Double-Click to Install Azul Zulu JDK 18.pkg
2022-07-05 09:14:48 : INFO  : zulujdk18 : found pkg: /Volumes/Azul Zulu JDK 18.30+11 1/Double-Click to Install Azul Zulu JDK 18.pkg
2022-07-05 09:14:48 : INFO  : zulujdk18 : Verifying: /Volumes/Azul Zulu JDK 18.30+11 1/Double-Click to Install Azul Zulu JDK 18.pkg
2022-07-05 09:14:48 : DEBUG : zulujdk18 : File list: -rw-r--r--  1 john  staff   183M Apr 21 12:16 /Volumes/Azul Zulu JDK 18.30+11 1/Double-Click to Install Azul Zulu JDK 18.pkg
2022-07-05 09:14:48 : DEBUG : zulujdk18 : File type: /Volumes/Azul Zulu JDK 18.30+11 1/Double-Click to Install Azul Zulu JDK 18.pkg: xar archive compressed TOC: 4884, SHA-1 checksum
2022-07-05 09:14:48 : DEBUG : zulujdk18 : spctlOut is /Volumes/Azul Zulu JDK 18.30+11 1/Double-Click to Install Azul Zulu JDK 18.pkg: accepted
2022-07-05 09:14:48 : DEBUG : zulujdk18 : source=Notarized Developer ID
2022-07-05 09:14:48 : DEBUG : zulujdk18 : origin=Developer ID Installer: Azul Systems, Inc. (TDTHCUPYFR)
2022-07-05 09:14:48 : INFO  : zulujdk18 : Team ID: TDTHCUPYFR (expected: TDTHCUPYFR )
2022-07-05 09:14:48 : INFO  : zulujdk18 : Checking package version.
2022-07-05 09:14:55 : INFO  : zulujdk18 : Downloaded package com.azulsystems.zulu.18 version
2022-07-05 09:14:55 : DEBUG : zulujdk18 : DEBUG enabled, skipping installation
2022-07-05 09:14:55 : INFO  : zulujdk18 : Finishing...
2022-07-05 09:15:06 : INFO  : zulujdk18 : Custom App Version detection is used, found 18.30.11
2022-07-05 09:15:06 : REQ   : zulujdk18 : Installed Zulu JDK 18, version 18.30.11
2022-07-05 09:15:06 : INFO  : zulujdk18 : notifying
2022-07-05 09:15:06 : DEBUG : zulujdk18 : Unmounting /Volumes/Azul Zulu JDK 18.30+11 1
2022-07-05 09:15:07 : DEBUG : zulujdk18 : Debugging enabled, Unmounting output was:
"disk6" ejected.
2022-07-05 09:15:07 : DEBUG : zulujdk18 : DEBUG mode 1, not reopening anything
2022-07-05 09:15:07 : REQ   : zulujdk18 : All done!
2022-07-05 09:15:07 : REQ   : zulujdk18 : ################## End Installomator, exit code 0
2022-07-05 09:16:17 -04:00
Joel Hatcher
6412c9f527 Create inetclearreportsdesigner.sh 2022-06-29 15:42:37 -05:00
macmangr
96bad4bd84 New Label: OnScreen Control
An LG Monitor Utility

"OnScreen Control is an application used to manage a single monitor or a group of monitor with useful features such as Monitor Control, My Display Presets and Screen Split. OnScreen Control displays all connected LG monitor information. This software is compatible with LG monitors only."

./assemble.sh -l /Users/savvas/Desktop/Mosyle/Resources/InstallomatorLabels onscreencontrol
2022-06-17 20:58:28 : REQ   : onscreencontrol : ################## Start Installomator v. 9.2, date 2022-06-17
2022-06-17 20:58:28 : INFO  : onscreencontrol : ################## Version: 9.2
2022-06-17 20:58:28 : INFO  : onscreencontrol : ################## Date: 2022-06-17
2022-06-17 20:58:28 : INFO  : onscreencontrol : ################## onscreencontrol
2022-06-17 20:58:28 : DEBUG : onscreencontrol : DEBUG mode 1 enabled.
2022-06-17 20:58:28 : INFO  : onscreencontrol : BLOCKING_PROCESS_ACTION=tell_user
2022-06-17 20:58:28 : INFO  : onscreencontrol : NOTIFY=success
2022-06-17 20:58:28 : INFO  : onscreencontrol : LOGGING=DEBUG
2022-06-17 20:58:28 : INFO  : onscreencontrol : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-06-17 20:58:28 : INFO  : onscreencontrol : Label type: pkgInZip
2022-06-17 20:58:28 : INFO  : onscreencontrol : archiveName: OnScreen Control.zip
2022-06-17 20:58:28 : INFO  : onscreencontrol : no blocking processes defined, using OnScreen Control as default
2022-06-17 20:58:28 : DEBUG : onscreencontrol : Changing directory to /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build
2022-06-17 20:58:29 : INFO  : onscreencontrol : No version found using packageID com.LGSI.OnScreen-Control
2022-06-17 20:58:29 : INFO  : onscreencontrol : App(s) found: /Applications/OnScreen Control.app
2022-06-17 20:58:29 : INFO  : onscreencontrol : found app at /Applications/OnScreen Control.app, version 5.47, on versionKey CFBundleShortVersionString
2022-06-17 20:58:29 : INFO  : onscreencontrol : appversion: 5.47
2022-06-17 20:58:29 : INFO  : onscreencontrol : Latest version of OnScreen Control is 5.47
2022-06-17 20:58:29 : WARN  : onscreencontrol : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-06-17 20:58:29 : REQ   : onscreencontrol : Downloading https://lmu.lge.com/ExternalService/onscreencontrol/mac/2.0/OnScreenControl_5.47.zip to OnScreen Control.zip
2022-06-17 20:58:37 : DEBUG : onscreencontrol : File list: -rw-r--r--  1 savvas  staff    56M 17 Jun 20:58 OnScreen Control.zip
2022-06-17 20:58:37 : DEBUG : onscreencontrol : File type: OnScreen Control.zip: Zip archive data, at least v2.0 to extract, compression method=deflate
2022-06-17 20:58:37 : DEBUG : onscreencontrol : curl output was:
*   Trying 23.48.23.5:443...
* Connected to lmu.lge.com (23.48.23.5) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [316 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [35 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [4021 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: CN=lmu.lge.com
*  start date: May 29 23:40:15 2022 GMT
*  expire date: Aug 27 23:40:14 2022 GMT
*  subjectAltName: host "lmu.lge.com" matched cert's "lmu.lge.com"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
> GET /ExternalService/onscreencontrol/mac/2.0/OnScreenControl_5.47.zip HTTP/1.1
> Host: lmu.lge.com
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Accept-Ranges: bytes
< Content-Type: application/zip
< ETag: "723d7988a59767c9a2aef6c274d5e5c1:1653637134.542227"
< Last-Modified: Fri, 27 May 2022 07:38:54 GMT
< Server: AkamaiNetStorage
< Content-Length: 59160965
< Expires: Fri, 17 Jun 2022 18:58:29 GMT
< Cache-Control: max-age=0, no-cache, no-store
< Pragma: no-cache
< Date: Fri, 17 Jun 2022 18:58:29 GMT
< Connection: keep-alive
<
{ [15989 bytes data]
* Connection #0 to host lmu.lge.com left intact

2022-06-17 20:58:37 : DEBUG : onscreencontrol : DEBUG mode 1, not checking for blocking processes
2022-06-17 20:58:37 : REQ   : onscreencontrol : Installing OnScreen Control
2022-06-17 20:58:37 : INFO  : onscreencontrol : Unzipping OnScreen Control.zip
2022-06-17 20:58:37 : DEBUG : onscreencontrol : Found pkg(s):
/Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/OSC_V5.47_signed.pkg
2022-06-17 20:58:37 : INFO  : onscreencontrol : found pkg: /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/OSC_V5.47_signed.pkg
2022-06-17 20:58:37 : INFO  : onscreencontrol : Verifying: /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/OSC_V5.47_signed.pkg
2022-06-17 20:58:37 : DEBUG : onscreencontrol : File list: -rw-r--r--@ 1 savvas  staff    56M 27 Mai 05:53 /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/OSC_V5.47_signed.pkg
2022-06-17 20:58:37 : DEBUG : onscreencontrol : File type: /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/OSC_V5.47_signed.pkg: xar archive compressed TOC: 8499, SHA-1 checksum
2022-06-17 20:58:38 : DEBUG : onscreencontrol : spctlOut is /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/OSC_V5.47_signed.pkg: accepted
2022-06-17 20:58:38 : DEBUG : onscreencontrol : source=Notarized Developer ID
2022-06-17 20:58:38 : DEBUG : onscreencontrol : override=security disabled
2022-06-17 20:58:38 : DEBUG : onscreencontrol : origin=Developer ID Installer: LG Electronics (5SKT5H4CPQ)
2022-06-17 20:58:38 : INFO  : onscreencontrol : Team ID: 5SKT5H4CPQ (expected: 5SKT5H4CPQ )
2022-06-17 20:58:38 : INFO  : onscreencontrol : Checking package version.
2022-06-17 20:58:39 : INFO  : onscreencontrol : Downloaded package com.LGSI.OnScreen-Control version 5.47
2022-06-17 20:58:39 : INFO  : onscreencontrol : Downloaded version of OnScreen Control is the same as installed.
2022-06-17 20:58:39 : DEBUG : onscreencontrol : DEBUG mode 1, not reopening anything
2022-06-17 20:58:39 : REQ   : onscreencontrol : No new version to install
2022-06-17 20:58:39 : REQ   : onscreencontrol : ################## End Installomator, exit code 0
2022-06-17 21:20:51 +02:00
46 changed files with 630 additions and 222 deletions

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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"

View File

@@ -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/&amp//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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View 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}"

View File

@@ -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')

View File

@@ -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')

View File

@@ -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')

View File

@@ -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')

View File

@@ -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')

View File

@@ -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}"

View File

@@ -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')

View File

@@ -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}"

View File

@@ -97,7 +97,7 @@ At some point, in 2018, Armin got frustrated at the number of scripts he was mai
So Armin made the version for Jamf Pro but universally for any MDM to adopt.
Søren looked at this, and wanted this approach to work in Mosyle and Addigy, and for these solutions we need Installomator to be locally installed on. the Mac, and then the MDM can call this script from their scripts features. For some time Søren had a version of Installomator that was supplied with a notarized pkg, so it could be deployed as part of DEP or however was needed.
Søren looked at this, and wanted this approach to work in Mosyle and Addigy, and for these solutions we need Installomator to be locally installed on the Mac, and then the MDM can call this script from their scripts features. For some time Søren had a version of Installomator that was supplied with a notarized pkg, so it could be deployed as part of DEP or however was needed.
This has now been merged into Installomator, and with contributions of Isaac and Adam, new features and labels have been added more frequently.

View File

@@ -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

View File

@@ -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"
;;

View 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"
;;

View 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
;;

View 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"
;;

View 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"
;;

View 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"
;;

View 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"
;;

View 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"
;;

View File

@@ -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"
;;

View File

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

View 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"
;;

View 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"
;;

View File

@@ -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"
;;

View 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"
;;

View File

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

View 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
;;

View File

@@ -1 +1 @@
10.0beta3
10.1beta

View File

@@ -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!"