From 1de3838a9b1dff13f0dab4f84eb19313670f3e48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Wed, 18 May 2022 15:02:32 +0200 Subject: [PATCH] GitHub without API calls MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I have tested two labels, the first has an `archiveName`, the second does not: ``` ➜ Installomator/utils/assemble.sh marathoninfinity DEBUG=0 2022-05-18 14:58:34 : WARN : marathoninfinity : setting variable from argument DEBUG=0 2022-05-18 14:58:34 : REQ : marathoninfinity : ################## Start Installomator v. 9.2beta, date 2022-05-18 2022-05-18 14:58:34 : INFO : marathoninfinity : ################## Version: 9.2beta 2022-05-18 14:58:34 : INFO : marathoninfinity : ################## Date: 2022-05-18 2022-05-18 14:58:34 : INFO : marathoninfinity : ################## marathoninfinity 2022-05-18 14:58:34 : INFO : marathoninfinity : BLOCKING_PROCESS_ACTION=tell_user 2022-05-18 14:58:34 : INFO : marathoninfinity : NOTIFY=success 2022-05-18 14:58:34 : INFO : marathoninfinity : LOGGING=INFO 2022-05-18 14:58:34 : INFO : marathoninfinity : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns 2022-05-18 14:58:34 : INFO : marathoninfinity : Label type: dmg 2022-05-18 14:58:34 : INFO : marathoninfinity : archiveName: MarathonInfinity-[0-9.]*-Mac.dmg 2022-05-18 14:58:34 : INFO : marathoninfinity : no blocking processes defined, using Marathon Infinity as default 2022-05-18 14:58:34 : INFO : marathoninfinity : App(s) found: /Applications/Marathon Infinity.app 2022-05-18 14:58:34 : INFO : marathoninfinity : found app at /Applications/Marathon Infinity.app, version 1.4, on versionKey CFBundleShortVersionString 2022-05-18 14:58:34 : INFO : marathoninfinity : appversion: 1.4 2022-05-18 14:58:34 : INFO : marathoninfinity : Latest version of Marathon Infinity is 20220115 2022-05-18 14:58:34 : REQ : marathoninfinity : Downloading https://github.com/Aleph-One-Marathon/alephone/releases/download/release-20220115/MarathonInfinity-20220115-Mac.dmg to MarathonInfinity-[0-9.]*-Mac.dmg 2022-05-18 14:58:35 : REQ : marathoninfinity : no more blocking processes, continue with update 2022-05-18 14:58:35 : REQ : marathoninfinity : Installing Marathon Infinity 2022-05-18 14:58:35 : INFO : marathoninfinity : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.uxoEpUyC/MarathonInfinity-[0-9.]*-Mac.dmg 2022-05-18 14:58:39 : INFO : marathoninfinity : Mounted: /Volumes/Marathon Infinity 2022-05-18 14:58:39 : INFO : marathoninfinity : Verifying: /Volumes/Marathon Infinity/Marathon Infinity.app 2022-05-18 14:58:43 : INFO : marathoninfinity : Team ID matching: E8K89CXZE7 (expected: E8K89CXZE7 ) 2022-05-18 14:58:43 : INFO : marathoninfinity : Downloaded version of Marathon Infinity is 1.5 on versionKey CFBundleShortVersionString (replacing version 1.4). 2022-05-18 14:58:43 : INFO : marathoninfinity : App has LSMinimumSystemVersion: 10.11.0 2022-05-18 14:58:43 : WARN : marathoninfinity : Removing existing /Applications/Marathon Infinity.app 2022-05-18 14:58:43 : INFO : marathoninfinity : Copy /Volumes/Marathon Infinity/Marathon Infinity.app to /Applications 2022-05-18 14:58:44 : WARN : marathoninfinity : Changing owner to st 2022-05-18 14:58:44 : INFO : marathoninfinity : Finishing... 2022-05-18 14:58:54 : INFO : marathoninfinity : App(s) found: /Applications/Marathon Infinity.app 2022-05-18 14:58:54 : INFO : marathoninfinity : found app at /Applications/Marathon Infinity.app, version 1.5, on versionKey CFBundleShortVersionString 2022-05-18 14:58:54 : REQ : marathoninfinity : Installed Marathon Infinity, version 1.5 2022-05-18 14:58:54 : INFO : marathoninfinity : notifying 2022-05-18 14:58:55 : INFO : marathoninfinity : App not closed, so no reopen. 2022-05-18 14:58:55 : REQ : marathoninfinity : All done! 2022-05-18 14:58:55 : REQ : marathoninfinity : ################## End Installomator, exit code 0 ➜ Installomator/utils/assemble.sh installomator DEBUG=0 INSTALL=force 2022-05-18 14:59:41 : WARN : installomator : setting variable from argument DEBUG=0 2022-05-18 14:59:41 : WARN : installomator : setting variable from argument INSTALL=force 2022-05-18 14:59:41 : REQ : installomator : ################## Start Installomator v. 9.2beta, date 2022-05-18 2022-05-18 14:59:41 : INFO : installomator : ################## Version: 9.2beta 2022-05-18 14:59:41 : INFO : installomator : ################## Date: 2022-05-18 2022-05-18 14:59:41 : INFO : installomator : ################## installomator 2022-05-18 14:59:42 : INFO : installomator : BLOCKING_PROCESS_ACTION=tell_user 2022-05-18 14:59:42 : INFO : installomator : NOTIFY=success 2022-05-18 14:59:42 : INFO : installomator : LOGGING=INFO 2022-05-18 14:59:42 : INFO : installomator : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns 2022-05-18 14:59:42 : INFO : installomator : Label type: pkg 2022-05-18 14:59:42 : INFO : installomator : archiveName: Installomator.pkg 2022-05-18 14:59:42 : INFO : installomator : found packageID com.scriptingosx.Installomator installed, version 9.2 2022-05-18 14:59:42 : INFO : installomator : appversion: 9.2 2022-05-18 14:59:42 : INFO : installomator : 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-05-18 14:59:42 : INFO : installomator : Latest version of Installomator is 9.2 2022-05-18 14:59:42 : INFO : installomator : There is no newer version available. 2022-05-18 14:59:42 : REQ : installomator : Downloading https://github.com/Installomator/Installomator/releases/download/v9.2/Installomator-9.2.pkg to Installomator.pkg 2022-05-18 14:59:43 : REQ : installomator : Installing Installomator 2022-05-18 14:59:43 : INFO : installomator : Verifying: Installomator.pkg 2022-05-18 14:59:43 : INFO : installomator : Team ID: JME5BW3F3R (expected: JME5BW3F3R ) 2022-05-18 14:59:43 : INFO : installomator : Checking package version. 2022-05-18 14:59:43 : INFO : installomator : Downloaded package com.scriptingosx.Installomator version 9.2 2022-05-18 14:59:43 : INFO : installomator : Downloaded version of Installomator is the same as installed. 2022-05-18 14:59:43 : INFO : installomator : Using force to install anyway. 2022-05-18 14:59:43 : INFO : installomator : Installing Installomator.pkg to / 2022-05-18 14:59:46 : INFO : installomator : Finishing... 2022-05-18 14:59:56 : INFO : installomator : found packageID com.scriptingosx.Installomator installed, version 9.2 2022-05-18 14:59:56 : REQ : installomator : Installed Installomator, version 9.2 2022-05-18 14:59:56 : INFO : installomator : notifying 2022-05-18 14:59:57 : INFO : installomator : App not closed, so no reopen. 2022-05-18 14:59:57 : REQ : installomator : All done! 2022-05-18 14:59:57 : REQ : installomator : ################## End Installomator, exit code 0 ``` The version comparison in marathininfinity will be updated shortly. --- fragments/functions.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/fragments/functions.sh b/fragments/functions.sh index 9e9e977..5aac377 100644 --- a/fragments/functions.sh +++ b/fragments/functions.sh @@ -156,11 +156,11 @@ downloadURLFromGit() { # $1 git user name, $2 git repo name fi if [ -n "$archiveName" ]; then - downloadURL=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" \ - | awk -F '"' "/browser_download_url/ && /$archiveName\"/ { print \$4; exit }") + #downloadURL=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$archiveName\"/ { print \$4; exit }") + downloadURL=https://github.com$(curl -sL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -o "\/$gitusername\/$gitreponame.*$archiveName.*") else - downloadURL=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" \ - | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }") + #downloadURL=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }") + downloadURL=https://github.com$(curl -sL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -o "\/$gitusername\/$gitreponame.*\.$filetype") fi if [ -z "$downloadURL" ]; then cleanupAndExit 9 "could not retrieve download URL for $gitusername/$gitreponame" ERROR @@ -176,7 +176,8 @@ versionFromGit() { gitusername=${1?:"no git user name"} gitreponame=${2?:"no git repo name"} - appNewVersion=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | grep tag_name | cut -d '"' -f 4 | sed 's/[^0-9\.]//g') + #appNewVersion=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | grep tag_name | cut -d '"' -f 4 | 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') if [ -z "$appNewVersion" ]; then printlog "could not retrieve version number for $gitusername/$gitreponame" WARN appNewVersion=""