58 Commits

Author SHA1 Message Date
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
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
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
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
43 changed files with 511 additions and 218 deletions

View File

@@ -1,3 +1,30 @@
## 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 ## v10beta3
- option to add item to dock if dockutil is installed (#701 requires dockutil https://github.com/kcrawford/dockutil ) - option to add item to dock if dockutil is installed (#701 requires dockutil https://github.com/kcrawford/dockutil )

View File

@@ -322,8 +322,8 @@ if [[ $(/usr/bin/arch) == "arm64" ]]; then
rosetta2=no rosetta2=no
fi fi
fi fi
VERSION="10.0beta3" VERSION="10.0"
VERSIONDATE="2022-10-03" VERSIONDATE="2022-11-18"
# MARK: Functions # MARK: Functions
@@ -1345,7 +1345,7 @@ updateDialog() {
echo "progress: $progress" >> $cmd_file echo "progress: $progress" >> $cmd_file
fi fi
if [[ $message != "" ]]; then if [[ $message != "" ]]; then
echo "progresstext: $name - $message" >> $cmd_file echo "progresstext: $message" >> $cmd_file
fi fi
else else
# list item has a value, so we update the progress and text in the list # list item has a value, so we update the progress and text in the list
@@ -3030,7 +3030,9 @@ googleadseditor)
name="Google Ads Editor" name="Google Ads Editor"
type="dmg" type="dmg"
downloadURL="https://dl.google.com/adwords_editor/google_ads_editor.dmg" downloadURL="https://dl.google.com/adwords_editor/google_ads_editor.dmg"
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" expectedTeamID="EQHXZ8M8AV"
;; ;;
googlechrome) googlechrome)
@@ -3261,6 +3263,14 @@ ibarcoder)
appNewVersion="$(curl -fs "https://cristallight.com/iBarcoder/" | grep -i version: | head -1 | awk '{print $2}')" appNewVersion="$(curl -fs "https://cristallight.com/iBarcoder/" | grep -i version: | head -1 | awk '{print $2}')"
expectedTeamID="JAXVB9AH9M" expectedTeamID="JAXVB9AH9M"
;; ;;
ibmnotifier)
name="IBM Notifier"
type="zip"
downloadURL="$(downloadURLFromGit IBM mac-ibm-notifications)"
#appNewVersion="$(versionFromGit IBM mac-ibm-notifications)"
appNewVersion="$(curl -sLI "https://github.com/IBM/mac-ibm-notifications/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | cut -d "-" -f2 | sed 's/[^0-9\.]//g')"
expectedTeamID="PETKK2G752"
;;
icons) icons)
name="Icons" name="Icons"
type="zip" type="zip"
@@ -3354,6 +3364,15 @@ ipswupdater)
appNewVersion=$(getJSONValue "$ipswupdaterVersions" "[0].version") appNewVersion=$(getJSONValue "$ipswupdaterVersions" "[0].version")
expectedTeamID="YRW6NUGA63" expectedTeamID="YRW6NUGA63"
;; ;;
ipvisionconnect)
name="ipvision Connect"
type="dmg"
# Description: A softphone client from ipvision.dk
downloadStore="https://my.ipvision.dk/connect/"
downloadURL="${downloadStore}$(curl -fs "https://my.ipvision.dk/connect/" | grep osx | sort | tail -1 | cut -d '"' -f2)"
appNewVersion="$(curl -fs "${downloadStore}" | grep osx | sort | tail -1 | sed -E 's/.*ipvision_connect_([0-9_]*)_osx.*/\1/' | tr "_" ".")"
expectedTeamID="5RLWBLKGL2"
;;
istatmenus) istatmenus)
# credit: AP Orlebeke (@apizz) # credit: AP Orlebeke (@apizz)
name="iStat Menus" name="iStat Menus"
@@ -3733,6 +3752,17 @@ logitechoptions)
pkgName=LogiMgr.pkg pkgName=LogiMgr.pkg
expectedTeamID="QED4VVPZWA" expectedTeamID="QED4VVPZWA"
;; ;;
logitechoptionsplus)
name="Logi Options+"
archiveName="logioptionsplus_installer.zip"
appName="logioptionsplus_installer.app"
type="zip"
downloadURL="https://download01.logi.com/web/ftp/pub/techsupport/optionsplus/logioptionsplus_installer.zip"
appNewVersion=$(curl -fs "https://support.logi.com/api/v2/help_center/en-us/articles.json?label_names=webcontent=productdownload,webos=mac-macos-x-11.0" | tr "," "\n" | grep -A 10 "macOS" | grep -B 5 -ie "https.*/.*/optionsplus/.*\.zip" | grep "Software Version" | sed 's/\\u[0-9a-z][0-9a-z][0-9a-z][0-9a-z]//g' | grep -ioe "Software Version.*[0-9.]*" | tr "/" "\n" | grep -oe "[0-9.]*" | head -1)
CLIInstaller="logioptionsplus_installer.app/Contents/MacOS/logioptionsplus_installer"
CLIArguments=(--quiet)
expectedTeamID="QED4VVPZWA"
;;
logseq) logseq)
name="Logseq" name="Logseq"
type="dmg" type="dmg"
@@ -3765,6 +3795,14 @@ lowprofile)
appNewVersion="$(versionFromGit ninxsoft LowProfile)" appNewVersion="$(versionFromGit ninxsoft LowProfile)"
expectedTeamID="7K3HVCLV7Z" expectedTeamID="7K3HVCLV7Z"
;; ;;
lucidlink)
name="Lucid"
# https://www.lucidlink.com/download
type="pkg"
downloadURL="https://www.lucidlink.com/download/latest/osx/stable/"
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | awk '{print $2}' | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g' )
expectedTeamID="Y4KMJPU2B4"
;;
lucifer) lucifer)
# credit: Drew Diver (@grumpydrew on MacAdmins Slack) # credit: Drew Diver (@grumpydrew on MacAdmins Slack)
name="Lucifer" name="Lucifer"
@@ -3836,6 +3874,13 @@ macports)
appCustomVersion(){ if [ -x /opt/local/bin/port ]; then /opt/local/bin/port version | awk '{print $2}'; else "0"; fi } appCustomVersion(){ if [ -x /opt/local/bin/port ]; then /opt/local/bin/port version | awk '{print $2}'; else "0"; fi }
expectedTeamID="QTA3A3B7F3" expectedTeamID="QTA3A3B7F3"
;; ;;
mactex)
name="MacTeX"
appName="TeX Live Utility.app"
type="pkg"
downloadURL="https://mirror.ctan.org/systems/mac/mactex/MacTeX.pkg"
expectedTeamID="RBGCY5RJWM"
;;
malwarebytes) malwarebytes)
name="Malwarebytes" name="Malwarebytes"
type="pkg" type="pkg"
@@ -4520,6 +4565,15 @@ onlyofficedesktop)
appNewVersion=$(versionFromGit ONLYOFFICE DesktopEditors) appNewVersion=$(versionFromGit ONLYOFFICE DesktopEditors)
expectedTeamID="2WH24U26GJ" expectedTeamID="2WH24U26GJ"
;; ;;
onscreencontrol)
name="OnScreen Control"
type="pkgInZip"
packageID="com.LGSI.OnScreen-Control"
releaseURL="https://www.lg.com/de/support/software-select-category-result?csSalesCode=34WK95U-W.AEU"
appNewVersion=$(curl -sf $releaseURL | grep -m 1 "Mac_OSC_" | sed -E 's/.*OSC_([0-9.]*).zip.*/\1/g')
downloadURL=$(curl -sf $releaseURL | grep -m 1 "Mac_OSC_" | sed "s|.*href=\"\(.*\)\" title.*|\\1|")
expectedTeamID="5SKT5H4CPQ"
;;
openvpnconnect) openvpnconnect)
# credit: Erik Stam (@erikstam) # credit: Erik Stam (@erikstam)
name="OpenVPN" name="OpenVPN"
@@ -4532,6 +4586,11 @@ openvpnconnectv3)
# credit: @lotnix # credit: @lotnix
name="OpenVPN Connect" name="OpenVPN Connect"
type="pkgInDmg" type="pkgInDmg"
if [[ $(arch) == "arm64" ]]; then
pkgName="/OpenVPN_Connect_[0-9_()]*_arm64_Installer_signed.pkg"
elif [[ $(arch) == "i386" ]]; then
pkgName="OpenVPN_Connect_[0-9_()]*_x86_64_Installer_signed.pkg"
fi
downloadURL="https://openvpn.net/downloads/openvpn-connect-v3-macos.dmg" downloadURL="https://openvpn.net/downloads/openvpn-connect-v3-macos.dmg"
expectedTeamID="ACV7L3WCD8" expectedTeamID="ACV7L3WCD8"
;; ;;
@@ -4711,6 +4770,12 @@ proctortrack)
downloadURL="https://storage.googleapis.com/verificientstatic/ProctortrackApp/Production/Proctortrack.zip" downloadURL="https://storage.googleapis.com/verificientstatic/ProctortrackApp/Production/Proctortrack.zip"
expectedTeamID="SNHZD6TJE6" expectedTeamID="SNHZD6TJE6"
;; ;;
projectplace)
name="Projectplace"
type="dmg"
downloadURL="https://service.projectplace.com/client_apps/desktop/Projectplace-for-mac.dmg"
expectedTeamID="8333HW99E8"
;;
promiseutility|\ promiseutility|\
promiseutilityr) promiseutilityr)
name="Promise Utility" name="Promise Utility"
@@ -5231,6 +5296,24 @@ strongsync)
versionKey="CFBundleVersion" versionKey="CFBundleVersion"
expectedTeamID="CH86M498V4" expectedTeamID="CH86M498V4"
;; ;;
subethaedit)
name="SubEthaEdit"
# Home: https://github.com/subethaedit/SubEthaEdit
# Description: General purpose plain text editor for macOS. Widely known for its live collaboration feature.
type="zip"
downloadURL="$(downloadURLFromGit subethaedit SubEthaEdit)"
appNewVersion="$(versionFromGit subethaedit SubEthaEdit)"
expectedTeamID="S76GCAG929"
;;
sublimemerge)
# Home: https://www.sublimemerge.com
# Description: Git Client, done Sublime. Line-by-line Staging. Commit Editing. Unmatched Performance.
name="Sublime Merge"
type="zip"
downloadURL="$(curl -fs "https://www.sublimemerge.com/download_thanks?target=mac#direct-downloads" | grep -io "https://download.*_mac.zip" | head -1)"
appNewVersion=$(curl -fs https://www.sublimemerge.com/download | grep -i -A 4 "id.*changelog" | grep -io "Build [0-9]*")
expectedTeamID="Z6D26JE4Y4"
;;
sublimetext) sublimetext)
# credit: Søren Theilgaard (@theilgaard) # credit: Søren Theilgaard (@theilgaard)
name="Sublime Text" name="Sublime Text"
@@ -5528,6 +5611,7 @@ tunnelblick)
name="Tunnelblick" name="Tunnelblick"
type="dmg" type="dmg"
downloadURL=$(downloadURLFromGit TunnelBlick Tunnelblick ) downloadURL=$(downloadURLFromGit TunnelBlick Tunnelblick )
appNewVersion=$(curl -sf https://github.com/Tunnelblick/Tunnelblick/releases | grep -m 1 "/Tunnelblick/Tunnelblick/releases/tag/" | sed -r 's/.*Tunnelblick ([^<]+).*/\1/')
expectedTeamID="Z2SG5H3HC8" expectedTeamID="Z2SG5H3HC8"
;; ;;
typinator) typinator)
@@ -5604,6 +5688,14 @@ vanilla)
downloadURL="https://macrelease.matthewpalmer.net/Vanilla.dmg" downloadURL="https://macrelease.matthewpalmer.net/Vanilla.dmg"
expectedTeamID="Z4JV2M65MH" expectedTeamID="Z4JV2M65MH"
;; ;;
venturablocker)
name="venturablocker"
type="pkg"
packageID="dk.envo-it.venturablocker"
downloadURL=$(downloadURLFromGit Theile venturablocker )
appNewVersion=$(versionFromGit Theile venturablocker )
expectedTeamID="FXW6QXBFW5"
;;
veracrypt) veracrypt)
name="VeraCrypt" name="VeraCrypt"
type="pkgInDmg" type="pkgInDmg"
@@ -5673,6 +5765,13 @@ vscodium)
expectedTeamID="C7S3ZQ2B8V" expectedTeamID="C7S3ZQ2B8V"
blockingProcesses=( Electron ) blockingProcesses=( Electron )
;; ;;
vysor)
name="Vysor"
type="zip"
downloadURL="$(downloadURLFromGit koush vysor.io)"
appNewVersion="$(versionFromGit koush vysor.io)"
expectedTeamID="XT4C9EJNUG"
;;
wacomdrivers) wacomdrivers)
name="Wacom Desktop Center" name="Wacom Desktop Center"
type="pkgInDmg" type="pkgInDmg"

View File

@@ -198,6 +198,7 @@ hpeasystart
hype hype
hyper hyper
ibarcoder ibarcoder
ibmnotifier
icons icons
idrive idrive
idrivethin idrivethin
@@ -211,6 +212,7 @@ installomator
installomator_theile installomator_theile
intellijideace intellijideace
ipswupdater ipswupdater
ipvisionconnect
istatmenus istatmenus
iterm2 iterm2
itsycal itsycal
@@ -251,9 +253,11 @@ libreoffice
linear linear
logioptions logioptions
logitechoptions logitechoptions
logitechoptionsplus
logseq logseq
loom loom
lowprofile lowprofile
lucidlink
lucifer lucifer
lulu lulu
macadminspython macadminspython
@@ -261,6 +265,7 @@ maccyapp
macfuse macfuse
macoslaps macoslaps
macports macports
mactex
malwarebytes malwarebytes
marathon marathon
marathon2 marathon2
@@ -331,6 +336,7 @@ omniplan4
omnipresence omnipresence
onionshare onionshare
onlyofficedesktop onlyofficedesktop
onscreencontrol
openvpnconnect openvpnconnect
openvpnconnectv3 openvpnconnectv3
opera opera
@@ -356,6 +362,7 @@ prism9
pritunl pritunl
privileges privileges
proctortrack proctortrack
projectplace
promiseutility promiseutility
promiseutilityr promiseutilityr
propresenter7 propresenter7
@@ -429,6 +436,8 @@ sqlprostudio
steelseriesengine steelseriesengine
strongdm strongdm
strongsync strongsync
subethaedit
sublimemerge
sublimetext sublimetext
superhuman superhuman
supportapp supportapp
@@ -476,6 +485,7 @@ unnaturalscrollwheels
utm utm
vagrant vagrant
vanilla vanilla
venturablocker
veracrypt veracrypt
vimac vimac
virtualbox virtualbox
@@ -485,6 +495,7 @@ vivaldi
vlc vlc
vmwarehorizonclient vmwarehorizonclient
vscodium vscodium
vysor
wacomdrivers wacomdrivers
wallyezflash wallyezflash
webex webex

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -31,6 +31,7 @@ installomatorOptions="BLOCKING_PROCESS_ACTION=ignore NOTIFY=silent" # Separated
# Fill the variable "item" above with a label. # Fill the variable "item" above with a label.
# Script will run this label through Installomator. # Script will run this label through Installomator.
###################################################################### ######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix. # v. 9.2.1 : Better logging handling and installomatorOptions fix.
###################################################################### ######################################################################
@@ -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 )" exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed." echo "${item} succesfully installed."
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )" selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
echo "$warnOutput" echo "$selectedOutput"
else else
echo "ERROR installing ${item}. Exit code ${exitStatus}" echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$cmdOutput" 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. # Fill the variable "item" above with a label.
# Script will run this label through Installomator. # Script will run this label through Installomator.
###################################################################### ######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix. # v. 9.2.1 : Better logging handling and installomatorOptions fix.
###################################################################### ######################################################################
@@ -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 )" exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed." echo "${item} succesfully installed."
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )" selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
echo "$warnOutput" echo "$selectedOutput"
else else
echo "ERROR installing ${item}. Exit code ${exitStatus}" echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$cmdOutput" 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. # Fill the variable "item" above with a label.
# Script will run this label through Installomator. # Script will run this label through Installomator.
###################################################################### ######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix. # v. 9.2.1 : Better logging handling and installomatorOptions fix.
###################################################################### ######################################################################
@@ -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 )" exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed." echo "${item} succesfully installed."
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "warn" || true )" selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
echo "$warnOutput" echo "$selectedOutput"
else else
echo "ERROR installing ${item}. Exit code ${exitStatus}" echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$cmdOutput" 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 # 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.5 : 2022-09-21 : change of GitHub download
# v. 9.4 : 2022-09-14 : downloadURL can fall back on GitHub API # v. 9.4 : 2022-09-14 : downloadURL can fall back on GitHub API
# v. 9.3 : 2022-08-29 : installomatorOptions in quotes and ignore blocking processes. Improved installation with looping if it fails, so it can try again. Improved GitHub handling. ws1 support. # v. 9.3 : 2022-08-29 : installomatorOptions in quotes and ignore blocking processes. Improved installation with looping if it fails, so it can try again. Improved GitHub handling. ws1 support.
@@ -207,11 +208,11 @@ gitusername="Installomator"
gitreponame="Installomator" gitreponame="Installomator"
#printlog "$gitusername $gitreponame" #printlog "$gitusername $gitreponame"
filetype="pkg" 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=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "Trying GitHub API for download URL." printlog "GitHub API failed, trying failover."
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }") #downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi fi
#printlog "$downloadURL" #printlog "$downloadURL"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g') appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -2,6 +2,8 @@ googleadseditor)
name="Google Ads Editor" name="Google Ads Editor"
type="dmg" type="dmg"
downloadURL="https://dl.google.com/adwords_editor/google_ads_editor.dmg" downloadURL="https://dl.google.com/adwords_editor/google_ads_editor.dmg"
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" 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 @@
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 # credit: @lotnix
name="OpenVPN Connect" name="OpenVPN Connect"
type="pkgInDmg" type="pkgInDmg"
if [[ $(arch) == "arm64" ]]; then
pkgName="/OpenVPN_Connect_[0-9_()]*_arm64_Installer_signed.pkg"
elif [[ $(arch) == "i386" ]]; then
pkgName="OpenVPN_Connect_[0-9_()]*_x86_64_Installer_signed.pkg"
fi
downloadURL="https://openvpn.net/downloads/openvpn-connect-v3-macos.dmg" downloadURL="https://openvpn.net/downloads/openvpn-connect-v3-macos.dmg"
expectedTeamID="ACV7L3WCD8" expectedTeamID="ACV7L3WCD8"
;; ;;

View File

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

View File

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

@@ -1 +1 @@
10.0beta3 10.0

View File

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