15 Commits

Author SHA1 Message Date
Søren Theilgaard
45112e3f32 Create xcreds.sh
## Great solution for IdP Password Syncing by TwoCanoes!

XCreds works by keeping your local Mac password in sync with your Identity Provider password. If you use Azure or Google or another identity provider, XCreds will make sure the password is the same. XCreds runs in the background and checks if the cloud password has been changed. If it detects the password has changed, it prompts to log in to the cloud provider and updates the local password and the keychain password automatically.

```
% GitHub/Installomator/utils/assemble.sh xcreds DEBUG=0
2022-08-12 09:25:38 : WARN  : xcreds : setting variable from argument DEBUG=0
2022-08-12 09:25:38 : REQ   : xcreds : ################## Start Installomator v. 10.0beta, date 2022-08-12
2022-08-12 09:25:38 : INFO  : xcreds : ################## Version: 10.0beta
2022-08-12 09:25:38 : INFO  : xcreds : ################## Date: 2022-08-12
2022-08-12 09:25:38 : INFO  : xcreds : ################## xcreds
2022-08-12 09:25:38 : INFO  : xcreds : BLOCKING_PROCESS_ACTION=tell_user
2022-08-12 09:25:38 : INFO  : xcreds : NOTIFY=success
2022-08-12 09:25:38 : INFO  : xcreds : LOGGING=INFO
2022-08-12 09:25:38 : INFO  : xcreds : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-08-12 09:25:38 : INFO  : xcreds : Label type: pkg
2022-08-12 09:25:38 : INFO  : xcreds : archiveName: XCreds.pkg
2022-08-12 09:25:38 : INFO  : xcreds : no blocking processes defined, using XCreds as default
2022-08-12 09:25:38 : INFO  : xcreds : No version found using packageID com.twocanoes.pkg.secureremoteaccess
2022-08-12 09:25:38 : INFO  : xcreds : name: XCreds, appName: XCreds.app
2022-08-12 09:25:38 : WARN  : xcreds : No previous app found
2022-08-12 09:25:38 : WARN  : xcreds : could not find XCreds.app
2022-08-12 09:25:38 : INFO  : xcreds : appversion:
2022-08-12 09:25:38 : INFO  : xcreds : Latest version of XCreds is 1.0.0
2022-08-12 09:25:38 : REQ   : xcreds : Downloading https://github.com/twocanoes/xcreds/releases/download/v1.0.0/XCreds_1_0_0_Build-1272_Version.pkg to XCreds.pkg
2022-08-12 09:25:39 : REQ   : xcreds : no more blocking processes, continue with update
2022-08-12 09:25:39 : REQ   : xcreds : Installing XCreds
2022-08-12 09:25:39 : INFO  : xcreds : Verifying: XCreds.pkg
2022-08-12 09:25:39 : INFO  : xcreds : Team ID: UXP6YEHSPW (expected: UXP6YEHSPW )
2022-08-12 09:25:39 : INFO  : xcreds : Installing XCreds.pkg to /
2022-08-12 09:25:42 : INFO  : xcreds : Finishing...
2022-08-12 09:25:52 : INFO  : xcreds : found packageID com.twocanoes.pkg.secureremoteaccess installed, version 1.2
2022-08-12 09:25:52 : REQ   : xcreds : Installed XCreds, version 1.2
2022-08-12 09:25:52 : INFO  : xcreds : notifying
2022-08-12 09:25:52 : INFO  : xcreds : App not closed, so no reopen.
2022-08-12 09:25:52 : REQ   : xcreds : All done!
2022-08-12 09:25:52 : REQ   : xcreds : ################## End Installomator, exit code 0
```
2022-08-12 09:31:04 +02:00
Søren Theilgaard
c04c591a03 relatel label
Output from DEBUG mode and full installer (with force):
```
% Installomator/utils/assemble.sh relatel
2022-07-11 16:23:16 : REQ   : relatel : ################## Start Installomator v. 10.0beta, date 2022-07-11
2022-07-11 16:23:16 : INFO  : relatel : ################## Version: 10.0beta
2022-07-11 16:23:16 : INFO  : relatel : ################## Date: 2022-07-11
2022-07-11 16:23:16 : INFO  : relatel : ################## relatel
2022-07-11 16:23:16 : DEBUG : relatel : DEBUG mode 1 enabled.
2022-07-11 16:23:16 : INFO  : relatel : BLOCKING_PROCESS_ACTION=tell_user
2022-07-11 16:23:16 : INFO  : relatel : NOTIFY=success
2022-07-11 16:23:16 : INFO  : relatel : LOGGING=DEBUG
2022-07-11 16:23:16 : INFO  : relatel : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-07-11 16:23:16 : INFO  : relatel : Label type: dmg
2022-07-11 16:23:16 : INFO  : relatel : archiveName: Relatel.dmg
2022-07-11 16:23:16 : INFO  : relatel : no blocking processes defined, using Relatel as default
2022-07-11 16:23:16 : DEBUG : relatel : Changing directory to /Users/st/Documents/GitHub/Installomator/build
2022-07-11 16:23:16 : INFO  : relatel : App(s) found: /Applications/Relatel.app
2022-07-11 16:23:16 : INFO  : relatel : found app at /Applications/Relatel.app, version 1.3.1, on versionKey CFBundleShortVersionString
2022-07-11 16:23:16 : INFO  : relatel : appversion: 1.3.1
2022-07-11 16:23:16 : INFO  : relatel : Latest version of Relatel is 1.3.1
2022-07-11 16:23:16 : WARN  : relatel : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-07-11 16:23:16 : REQ   : relatel : Downloading https://cdn.rela.tel/www/public/junotron/Relatel.dmg to Relatel.dmg
2022-07-11 16:23:17 : DEBUG : relatel : File list: -rw-r--r--  1 aa  staff    83M Jul 11 16:23 Relatel.dmg
2022-07-11 16:23:17 : DEBUG : relatel : File type: Relatel.dmg: zlib compressed data
2022-07-11 16:23:17 : DEBUG : relatel : curl output was:
*   Trying 13.33.141.16:443...
* Connected to cdn.rela.tel (13.33.141.16) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [317 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [19 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [4960 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / AEAD-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=cdn.firmafon.dk
*  start date: Sep 29 00:00:00 2021 GMT
*  expire date: Oct 28 23:59:59 2022 GMT
*  subjectAltName: host "cdn.rela.tel" matched cert's "cdn.rela.tel"
*  issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x124810a00)
> GET /www/public/junotron/Relatel.dmg HTTP/2
> Host: cdn.rela.tel
> user-agent: curl/7.79.1
> accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
< HTTP/2 301
< content-length: 0
< date: Mon, 11 Jul 2022 14:13:48 GMT
< location: /www/public/junotron/Relatel-1.3.1.dmg
< server: AmazonS3
< x-cache: Hit from cloudfront
< via: 1.1 7e5377bfdf5e6ef7597f63d6648e4e9a.cloudfront.net (CloudFront)
< x-amz-cf-pop: CPH50-C2
< x-amz-cf-id: thNWMtxDW2IJefosMKa0ESJTenG4AC9I5aZrCy-sTD9YSiGFtVRqgg==
< age: 569
<
{ [0 bytes data]
* Connection #0 to host cdn.rela.tel left intact
* Issue another request to this URL: 'https://cdn.rela.tel/www/public/junotron/Relatel-1.3.1.dmg'
* Found bundle for host cdn.rela.tel: 0x600001f207b0 [can multiplex]
* Re-using existing connection! (#0) with host cdn.rela.tel
* Connected to cdn.rela.tel (13.33.141.16) port 443 (#0)
* Using Stream ID: 3 (easy handle 0x124810a00)
> GET /www/public/junotron/Relatel-1.3.1.dmg HTTP/2
> Host: cdn.rela.tel
> user-agent: curl/7.79.1
> accept: */*
>
< HTTP/2 200
< content-type: application/x-apple-diskimage
< content-length: 86919409
< date: Mon, 11 Jul 2022 14:13:48 GMT
< last-modified: Fri, 06 May 2022 12:35:41 GMT
< x-amz-version-id: efBkRS8bwIqXqI2Z6qnBgVxSZzwUHByN
< etag: "7d26b868f87f72b3fcee9788f1cd512d-6"
< server: AmazonS3
< x-cache: Hit from cloudfront
< via: 1.1 7e5377bfdf5e6ef7597f63d6648e4e9a.cloudfront.net (CloudFront)
< x-amz-cf-pop: CPH50-C2
< x-amz-cf-id: 4tPa-qwrw0EK3XG2vb6eQrC9cV8anQvW9yNcjKvgtWdXk_-3VjWkyA==
< age: 569
<
{ [2896 bytes data]
* Connection #0 to host cdn.rela.tel left intact

2022-07-11 16:23:17 : DEBUG : relatel : DEBUG mode 1, not checking for blocking processes
2022-07-11 16:23:17 : REQ   : relatel : Installing Relatel
2022-07-11 16:23:17 : INFO  : relatel : Mounting Relatel.dmg
2022-07-11 16:23:22 : DEBUG : relatel : Debugging enabled, dmgmount output was:
Checksumming Protective Master Boot Record (MBR : 0)…
Protective Master Boot Record (MBR :: verified CRC32 $B84BD009
Checksumming GPT Header (Primary GPT Header : 1)…
GPT Header (Primary GPT Header : 1): verified CRC32 $06438A51
Checksumming GPT Partition Data (Primary GPT Table : 2)…
GPT Partition Data (Primary GPT Tabl: verified CRC32 $1232986F
Checksumming  (Apple_Free : 3)…
(Apple_Free : 3): verified CRC32 $00000000
Checksumming disk image (Apple_HFS : 4)…
disk image (Apple_HFS : 4): verified CRC32 $D4C0AB37
Checksumming GPT Partition Data (Backup GPT Table : 5)…
GPT Partition Data (Backup GPT Table: verified CRC32 $1232986F
Checksumming GPT Header (Backup GPT Header : 6)…
GPT Header (Backup GPT Header : 6): verified CRC32 $A2E62118
verified CRC32 $B53E5AB9
/dev/disk6          	GUID_partition_scheme
/dev/disk6s1        	Apple_HFS                      	/Volumes/Relatel 1.3.1

2022-07-11 16:23:22 : INFO  : relatel : Mounted: /Volumes/Relatel 1.3.1
2022-07-11 16:23:22 : INFO  : relatel : Verifying: /Volumes/Relatel 1.3.1/Relatel.app
2022-07-11 16:23:22 : DEBUG : relatel : App size: 195M	/Volumes/Relatel 1.3.1/Relatel.app
2022-07-11 16:23:23 : DEBUG : relatel : Debugging enabled, App Verification output was:
/Volumes/Relatel 1.3.1 1/Relatel.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Firmafon ApS (B9358QF55B)

2022-07-11 16:23:23 : INFO  : relatel : Team ID matching: B9358QF55B (expected: B9358QF55B )
2022-07-11 16:23:23 : INFO  : relatel : Downloaded version of Relatel is 1.3.1 on versionKey CFBundleShortVersionString, same as installed.
2022-07-11 16:23:23 : DEBUG : relatel : Unmounting /Volumes/Relatel 1.3.1
2022-07-11 16:23:24 : DEBUG : relatel : Debugging enabled, Unmounting output was:
"disk6" ejected.
2022-07-11 16:23:24 : DEBUG : relatel : DEBUG mode 1, not reopening anything
2022-07-11 16:23:24 : REG   : relatel : No new version to install
2022-07-11 16:23:24 : REQ   : relatel : ################## End Installomator, exit code 0

% sudo Installomator/utils/assemble.sh relatel DEBUG=0 INSTALL=force
Password:
2022-07-11 16:23:56 : WARN  : relatel : setting variable from argument DEBUG=0
2022-07-11 16:23:56 : WARN  : relatel : setting variable from argument INSTALL=force
2022-07-11 16:23:56 : REQ   : relatel : ################## Start Installomator v. 10.0beta, date 2022-07-11
2022-07-11 16:23:56 : INFO  : relatel : ################## Version: 10.0beta
2022-07-11 16:23:56 : INFO  : relatel : ################## Date: 2022-07-11
2022-07-11 16:23:56 : INFO  : relatel : ################## relatel
2022-07-11 16:23:56 : INFO  : relatel : BLOCKING_PROCESS_ACTION=tell_user
2022-07-11 16:23:56 : INFO  : relatel : NOTIFY=success
2022-07-11 16:23:56 : INFO  : relatel : LOGGING=INFO
2022-07-11 16:23:56 : INFO  : relatel : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-07-11 16:23:56 : INFO  : relatel : Label type: dmg
2022-07-11 16:23:56 : INFO  : relatel : archiveName: Relatel.dmg
2022-07-11 16:23:56 : INFO  : relatel : no blocking processes defined, using Relatel as default
2022-07-11 16:23:56 : INFO  : relatel : App(s) found: /Applications/Relatel.app
2022-07-11 16:23:56 : INFO  : relatel : found app at /Applications/Relatel.app, version 1.3.1, on versionKey CFBundleShortVersionString
2022-07-11 16:23:56 : INFO  : relatel : appversion: 1.3.1
2022-07-11 16:23:56 : INFO  : relatel : Label is not of type “updateronly”, and it’s set to use force to install or ignoring app store apps, so not using updateTool.
2022-07-11 16:23:56 : INFO  : relatel : Latest version of Relatel is 1.3.1
2022-07-11 16:23:56 : INFO  : relatel : There is no newer version available.
2022-07-11 16:23:56 : REQ   : relatel : Downloading https://cdn.rela.tel/www/public/junotron/Relatel.dmg to Relatel.dmg
2022-07-11 16:23:57 : REQ   : relatel : no more blocking processes, continue with update
2022-07-11 16:23:57 : REQ   : relatel : Installing Relatel
2022-07-11 16:23:57 : INFO  : relatel : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.l86iLb4m/Relatel.dmg
2022-07-11 16:24:00 : INFO  : relatel : Mounted: /Volumes/Relatel 1.3.1
2022-07-11 16:24:00 : INFO  : relatel : Verifying: /Volumes/Relatel 1.3.1/Relatel.app
2022-07-11 16:24:01 : INFO  : relatel : Team ID matching: B9358QF55B (expected: B9358QF55B )
2022-07-11 16:24:01 : INFO  : relatel : Downloaded version of Relatel is 1.3.1 on versionKey CFBundleShortVersionString, same as installed.
2022-07-11 16:24:01 : INFO  : relatel : Using force to install anyway.
2022-07-11 16:24:01 : INFO  : relatel : App has LSMinimumSystemVersion: 10.11.0
2022-07-11 16:24:01 : WARN  : relatel : Removing existing /Applications/Relatel.app
2022-07-11 16:24:01 : INFO  : relatel : Copy /Volumes/Relatel 1.3.1/Relatel.app to /Applications
2022-07-11 16:24:02 : WARN  : relatel : Changing owner to aa
2022-07-11 16:24:02 : INFO  : relatel : Finishing...
2022-07-11 16:24:12 : INFO  : relatel : App(s) found: /Applications/Relatel.app
2022-07-11 16:24:12 : INFO  : relatel : found app at /Applications/Relatel.app, version 1.3.1, on versionKey CFBundleShortVersionString
2022-07-11 16:24:12 : REQ   : relatel : Installed Relatel, version 1.3.1
2022-07-11 16:24:12 : INFO  : relatel : notifying
2022-07-11 16:24:12 : INFO  : relatel : App not closed, so no reopen.
2022-07-11 16:24:12 : REQ   : relatel : All done!
2022-07-11 16:24:12 : REQ   : relatel : ################## End Installomator, exit code 0
```
2022-07-11 16:27:51 +02:00
Søren Theilgaard
7b4b1d12d1 WhatRoute label
A network utility:
```
Installomator/utils/assemble.sh whatroute
2022-05-25 13:46:54 : REQ   : whatroute : ################## Start Installomator v. 10.0beta, date 2022-05-25
2022-05-25 13:46:54 : INFO  : whatroute : ################## Version: 10.0beta
2022-05-25 13:46:54 : INFO  : whatroute : ################## Date: 2022-05-25
2022-05-25 13:46:54 : INFO  : whatroute : ################## whatroute
2022-05-25 13:46:54 : DEBUG : whatroute : DEBUG mode 1 enabled.
2022-05-25 13:46:58 : INFO  : whatroute : BLOCKING_PROCESS_ACTION=tell_user
2022-05-25 13:46:58 : INFO  : whatroute : NOTIFY=success
2022-05-25 13:46:58 : INFO  : whatroute : LOGGING=DEBUG
2022-05-25 13:46:58 : INFO  : whatroute : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-25 13:46:58 : INFO  : whatroute : Label type: zip
2022-05-25 13:46:58 : INFO  : whatroute : archiveName: WhatRoute.zip
2022-05-25 13:46:58 : INFO  : whatroute : no blocking processes defined, using WhatRoute as default
2022-05-25 13:46:58 : DEBUG : whatroute : Changing directory to /Users/st/Documents/GitHub/Installomator/build
2022-05-25 13:46:58 : INFO  : whatroute : App(s) found: /Applications/WhatRoute.app
2022-05-25 13:46:58 : INFO  : whatroute : found app at /Applications/WhatRoute.app, version 2.5.0, on versionKey CFBundleShortVersionString
2022-05-25 13:46:58 : INFO  : whatroute : appversion: 2.5.0
2022-05-25 13:46:58 : INFO  : whatroute : Latest version of WhatRoute is 2.5.0
2022-05-25 13:46:58 : WARN  : whatroute : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-05-25 13:46:58 : REQ   : whatroute : Downloading https://www.whatroute.net/software/whatroute-2.5.0.zip to WhatRoute.zip
2022-05-25 13:47:18 : DEBUG : whatroute : File list: -rw-r--r--  1 st  staff    38M May 25 13:47 WhatRoute.zip
2022-05-25 13:47:18 : DEBUG : whatroute : File type: WhatRoute.zip: Zip archive data, at least v1.0 to extract, compression method=store
2022-05-25 13:47:18 : DEBUG : whatroute : curl output was:
*   Trying 222.154.233.147:443...
* Connected to www.whatroute.net (222.154.233.147) 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):
} [322 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [25 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [4423 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: CN=bryanc.co.nz
*  start date: May 15 06:02:07 2022 GMT
*  expire date: Aug 13 06:02:06 2022 GMT
*  subjectAltName: host "www.whatroute.net" matched cert's "www.whatroute.net"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
> GET /software/whatroute-2.5.0.zip HTTP/1.1
> Host: www.whatroute.net
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Wed, 25 May 2022 11:46:59 GMT
< Server: Apache
< Last-Modified: Thu, 31 Mar 2022 01:31:34 GMT
< ETag: "2586bfd-5db799f55fabc"
< Accept-Ranges: bytes
< Content-Length: 39349245
< Content-Type: application/zip
<
{ [7964 bytes data]
* Connection #0 to host www.whatroute.net left intact

2022-05-25 13:47:18 : DEBUG : whatroute : DEBUG mode 1, not checking for blocking processes
2022-05-25 13:47:18 : REQ   : whatroute : Installing WhatRoute
2022-05-25 13:47:18 : INFO  : whatroute : Unzipping WhatRoute.zip
2022-05-25 13:47:19 : INFO  : whatroute : Verifying: /Users/st/Documents/GitHub/Installomator/build/WhatRoute.app
2022-05-25 13:47:19 : DEBUG : whatroute : App size:  60M	/Users/st/Documents/GitHub/Installomator/build/WhatRoute.app
2022-05-25 13:47:19 : DEBUG : whatroute : Debugging enabled, App Verification output was:
/Users/st/Documents/GitHub/Installomator/build/WhatRoute.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Bryan Christianson (H5879E8LML)

2022-05-25 13:47:20 : INFO  : whatroute : Team ID matching: H5879E8LML (expected: H5879E8LML )
2022-05-25 13:47:20 : INFO  : whatroute : Downloaded version of WhatRoute is 2.5.0 on versionKey CFBundleShortVersionString, same as installed.
2022-05-25 13:47:20 : DEBUG : whatroute : DEBUG mode 1, not reopening anything
2022-05-25 13:47:20 : REG   : whatroute : No new version to install
2022-05-25 13:47:20 : REQ   : whatroute : ################## End Installomator, exit code 0
```
2022-05-25 14:03:51 +02:00
Armin Briegel
2a236e9b2c fixed stray whitespace at the end of camtasia2019.sh, closes #547 2022-05-19 10:23:47 +02:00
Armin Briegel
a22e656146 Update README.md 2022-05-18 17:27:34 +02:00
Armin Briegel
dd98c13e40 Many new links and clarifications 2022-05-18 17:21:35 +02:00
Armin Briegel
89c4d4fa5c Update CONTRIBUTING.md 2022-05-18 17:09:52 +02:00
Armin Briegel
9b229085bd Merge branch 'dev' 2022-05-18 10:29:42 +02:00
Armin Briegel
7e93eb6471 updated version.sh 2022-05-18 10:29:13 +02:00
Armin Briegel
b56276612a Merge branch 'main' into dev 2022-05-16 20:15:55 +02:00
Armin Briegel
5cf34c8ed8 Merge pull request #512 from FletcherS7/dev
New Label: Egnyte WebEdit
2022-05-16 16:02:18 +02:00
Armin Briegel
d580ace737 Merge pull request #516 from DavidTaylor19/Add-Label-Shottr
Add label: Shottr
2022-05-13 09:25:30 +02:00
Armin Briegel
ad5ad5f408 Merge pull request #394 from willpolley/dev
Added label propresenter7
2022-05-12 15:47:22 +02:00
Armin Briegel
69fbc31078 Merge pull request #492 from lart2150/bugfix/ringcentralapp
updates for ringcentral app
2022-05-12 15:24:13 +02:00
Armin Briegel
cd5a4b2b5e Merge pull request #450 from bbenkle/dev
DBeaverCE
2022-05-12 10:24:17 +02:00
9 changed files with 48 additions and 20 deletions

View File

@@ -1,33 +1,35 @@
# Contributing to Installomator
__Please note, that if you are contributing to this project with new labels or other suggestions in PRs, please put your changes in the files below `fragments`-folder. DO NOT edit the full `Installomator.sh` script. The full script is now a build of the fragments, and will be overwritten.__
__Please note, that if you are contributing to this project with new labels or other suggestions in PRs, please put your changes in the files in the `fragments` sub-folder. DO NOT edit the full `Installomator.sh` script. The full script is generated from the fragments, and will be overwritten. More details on [how the script is assembled from the fragments here](https://github.com/Installomator/Installomator/tree/main/utils#how-to-assemble-installomatorsh).__
We try to keep the script as short as possible, and with more than 300 labels, we can save 300 lines in the script, if we do not have credit lines on each of these. So we are thankful for your contribution, but we will be removing these lines in the coming releases.
We try to keep the script as short as possible, and with more than 400 labels, we can save 400 lines in the script, if we do not have credit lines on each of these. So we are thankful for your contribution, but we will be removing these lines in the coming releases.
## Branches
The branch list is as follows:
- `release`: this branch will have the latest released version
- `main`: (default) this branch will be the latest release plus new and updated app labels, and critical bug fixes
- `dev`: this will contain new and updated app labels, as well as any other code changes
there will be other branches for new features and testing
- `main`: (default) this branch will be the current build we are working on. It includes new and updated app labels, and critical bug fixes
- `dev`: this will contain new and updated app labels, as well as other code changes that have the risk of significantly changing or breaking behavior
there will be other branches for new features and testing.
This should allow the contributing team to release minor updates for new and updated app labels while also work on new features for the next major release.
With all the new branches, your local repo may get confused. If you dont have local changes, it is easiest to delete your local repo and re-clone it. If you have local changes you want to preserve, then you should commit those to a local branch, pull the latest changes `git pull --all`, then delete the old master branch: `git branch -d master`.
Make sure you branch off of main for new and updated labels and off of `dev` for other code changes. Thank you for contributing!
Please make sure you branch off of main for your PRs.
__Thank you for contributing!__
## Labels
If you need a new label for a piece of software, please take a look at the tutorials in the Wiki, if those can be helpful for starting out on the creation of the label.
If you need a new label for a piece of software, please take a look [at the tutorials in the Wiki](https://github.com/Installomator/Installomator/wiki#tutorials), those can be helpful for starting out on the creation of the label.
We expect you to try out finding the __version__ of the software online, so that `appNewVersion` can be filled in the label. It helps a lot when the software needs update, and greatly improve user experience.
Please document what you found out about the __version__ of the software if it's not included. We will not accept a new label if this is not documented, we will ask about this if it was not included. This is very important for the quality and reliability of Installomator.
When creating a new label, please file a pull request (PR). And feel free to ask questions or make your comments about what else is needed, if we should take a look at the label, or help out in finding the version or isolating URLs or anything else.
When creating a new label, please file a pull request (PR). And feel free to ask questions or make your comments about what else is needed, if we should take a look at the label, or help out in finding the version or isolating URLs or anything else. You can find [a tutorial on how to create a PR here](https://github.com/Installomator/Installomator/wiki/GitHub-howto-create-PRs).
Please include the log of installing this label in the description, like this:
```
@@ -39,11 +41,13 @@ Please include the log of installing this label in the description, like this:
Please have one label per PR, so we can separate these. Also if you change/fix a label.
Thank you very much for your contribution!
__Thank you very much for your contribution!__
## Issues
Do not create an issue just when you have a questions, but do file an issue or pull request (PR) for bugs or wrong behavior. Include the full log and include the version of Installomator you're running.
Do not create an issue just when you have a questions, but do file an issue or pull request (PR) for bugs or wrong behavior. Include the full log and include the version of Installomator you're running. When you create a PR to follow-up and solve an issue make sure to [mention the issue using the `#xxx` syntax in a commit message or comment to link the issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue).
Join [the MacAdmins Slack](https://macadmins.org) and find us in the `#installomator` channel for questions, support and discussions.
When in doubt, use the MacAdmins.org Slack as described in [README.md](https://github.com/Installomator/Installomator/)

View File

@@ -302,8 +302,8 @@ if [[ $(/usr/bin/arch) == "arm64" ]]; then
rosetta2=no
fi
fi
VERSION="9.2"
VERSIONDATE="2022-05-16"
VERSION="10.0beta"
VERSIONDATE="2022-05-19"
# MARK: Functions
@@ -1859,7 +1859,7 @@ camtasia2019)
appNewVersion=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15" -fs "https://support.techsmith.com/hc/en-us/articles/360004908652-Desktop-Product-Download-Links" | grep "Camtasia (Mac) 2019" | sed -e 's/.*Camtasia (Mac) //' -e 's/<\/td>.*//')
expectedTeamID="7TQL462TU8"
;;
camtasia2020)
camtasia2020)
name="Camtasia 2020"
type="dmg"
downloadURL=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15" -fs "https://support.techsmith.com/hc/en-us/articles/360004908652-Desktop-Product-Download-Links" | grep -A 3 "Camtasia (Mac) 2020" | sed 's/.*href="//' | sed 's/".*//' | grep .dmg)

View File

@@ -68,6 +68,7 @@ calibre
camostudio
camtasia
camtasia2019
camtasia2020
camtasia2021
canva
chatwork

View File

@@ -5,4 +5,3 @@ camtasia2019)
appNewVersion=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15" -fs "https://support.techsmith.com/hc/en-us/articles/360004908652-Desktop-Product-Download-Links" | grep "Camtasia (Mac) 2019" | sed -e 's/.*Camtasia (Mac) //' -e 's/<\/td>.*//')
expectedTeamID="7TQL462TU8"
;;

View File

@@ -0,0 +1,7 @@
relatel)
name="Relatel"
type="dmg"
downloadURL="https://cdn.rela.tel/www/public/junotron/Relatel.dmg"
appNewVersion="$(curl -fs "https://cdn.firmafon.dk/www/public/junotron/latest-mac.yml" | grep -i "version" | cut -w -f2)"
expectedTeamID="B9358QF55B"
;;

View File

@@ -0,0 +1,7 @@
whatroute)
name="WhatRoute"
type="zip"
downloadURL="$(curl -fs https://www.whatroute.net/whatroute2appcast.xml | xpath '(//rss/channel/item/enclosure/@url)[1]' 2>/dev/null | cut -d '"' -f2)"
appNewVersion="$(curl -fs https://www.whatroute.net/whatroute2appcast.xml | xpath '(//rss/channel/item/enclosure/@sparkle:shortVersionString)[1]' 2>/dev/null | cut -d '"' -f2)"
expectedTeamID="H5879E8LML"
;;

View File

@@ -0,0 +1,8 @@
xcreds)
name="XCreds"
type="pkg"
packageID="com.twocanoes.pkg.secureremoteaccess"
downloadURL="$(downloadURLFromGit twocanoes xcreds)"
appNewVersion="$(versionFromGit twocanoes xcreds)"
expectedTeamID="UXP6YEHSPW"
;;

View File

@@ -1 +1 @@
9.2
10.0beta

View File

@@ -1,6 +1,6 @@
# How to assemble Installomator.sh
Since the Installomator.sh script has grown to over 3000 lines, its management on git has become very unwieldy. The single file with all the logic and the data required to download and install the applications creates constant merge conflicts which add to the workload of the repo admins, especially when part of the team is working on the logic of the script while we still get PRs to add labels.
Since the Installomator.sh script has grown to over 5000 lines, its management on git has become very unwieldy. The single file with all the logic and the data required to download and install the applications creates constant merge conflicts which add to the workload of the repo admins, especially when part of the team is working on the logic of the script while we still get PRs to add labels.
Because of that we have split the main script into multiple files which are easier to manage. Having multiple files results in less merge conflicts.
@@ -53,7 +53,7 @@ Once you are certain that your new custom label works, you can use the code from
The `Installomator.sh` script at the root of the repo does not really get involved in your building and testing. Similarly, if you want to apply, test, and contribute changes to the script's logic, you should modify the fragment file in question and test using the assemble script.
Pull requests against the `Installomator.sh` script in the root of the repo will be rejected. (Excepting the backlog of existing PRs.)
Pull requests against the `Installomator.sh` script in the root of the repo will be rejected.
## How do I contribute new or modified labels back to the Installomator project?
@@ -70,11 +70,13 @@ If you have multiple labels (or other changes) you want to contribute, please cr
Once your Pull Request is merged into the main repo, you can pull the change to your local repo, push it to your fork, and delete the branch, because it should be fully merged.
When you have multiple labels or changes, please create a separate issue for each label or change, unless they are closely related
### When you are not familiar with git and GitHub
Create an Issue in the Installomator repo and include the contents of your custom label file.
We have a tutorial on [How to create Pull Requests in GitHub](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue).
If you have multiple labels, please create a separate issue for each label.
## Fragments
@@ -109,7 +111,7 @@ All the contents of the label files in `labels` (and any custom label locations
Finally, the `main.sh` fragment contains most of the main logic.
The assemble script does not check _any_ of the files for syntax or completeness. You are responsible that everything fits together properly. (Pay special attention to remember the closing semi-colons `;;` in the label files.)
The assemble script does not check _any_ of the files for syntax or completeness. You are responsible that everything fits together properly. (Pay special attention to remember the closing semi-colons `;;` and a final line break in the label files.)
## assemble.sh Usage