Merge branch 'dev' into Handling-of-App-Store-apps

This commit is contained in:
Søren Theilgaard
2021-09-17 22:44:05 +02:00
committed by GitHub
12 changed files with 58 additions and 11 deletions

View File

@@ -3,8 +3,8 @@
- script is now assembled from fragments. This helps avoid merging conflicts on git and allows the core team to work on the script logic while also accepting new labels. See the "Assemble Script ReadMe" for details. - script is now assembled from fragments. This helps avoid merging conflicts on git and allows the core team to work on the script logic while also accepting new labels. See the "Assemble Script ReadMe" for details.
- We now detect App Store installed apps, and we do not replace them automatically. An example is Slack that will loose all settings if it is suddenly changed from App Store version to the "web" version (they differ in the handling of settings files). If `INSTALL=force` then we will replace the App Store app. We log all this. - We now detect App Store installed apps, and we do not replace them automatically. An example is Slack that will loose all settings if it is suddenly changed from App Store version to the "web" version (they differ in the handling of settings files). If `INSTALL=force` then we will replace the App Store app. We log all this.
- Change in finding installed apps. We now look in /Applications and /Applications/Utilities first. If not found there, we use spotligt to find it. (We discovered a problem when a user has Parallels Windows installed with Microsoft Edge in it. Then Installomator wanted to update the app all the time, becaus spotligt found that Windows version of the app that Parallels created.) - Change in finding installed apps. We now look in /Applications and /Applications/Utilities first. If not found there, we use spotligt to find it. (We discovered a problem when a user has Parallels Windows installed with Microsoft Edge in it. Then Installomator wanted to update the app all the time, becaus spotligt found that Windows version of the app that Parallels created.)
- Added bunch of new labels - Added bunch of new labels, and improved others.
- Renamed `buildCaseStatement.sh` to `buildLabel.sh` and improved it a lot. It is a great start when figuring out how to create a new label for an app, or a piece of software. - Renamed `buildCaseStatement.sh` to `buildLabel.sh` and improved it a lot. It is a great start when figuring out how to create a new label for an app, or a piece of software. Look at the tutorials in our wiki.
- Mosyle changed their app name from Business to Self-Service - Mosyle changed their app name from Business to Self-Service
## v0.6 - 2021-07-14 ## v0.6 - 2021-07-14

View File

@@ -30,6 +30,7 @@ asana
atext atext
atom atom
audacity audacity
authydesktop
autodmg autodmg
autopkgr autopkgr
aviatrix aviatrix
@@ -237,6 +238,7 @@ ringcentralmeetings
ringcentralphone ringcentralphone
rocket rocket
rocketchat rocketchat
rodeconnect
royaltsx royaltsx
rstudio rstudio
santa santa
@@ -314,6 +316,7 @@ xink
xquartz xquartz
yubikeymanagerqt yubikeymanagerqt
zappy zappy
zeplin
zohoworkdrive zohoworkdrive
zoom zoom
zoomclient zoomclient

View File

@@ -0,0 +1,8 @@
parallels)
# This downloads an installer app, so not really useful here
name="Parallels Desktop"
type="dmg"
downloadURL="https://parallels.com/directdownload/pd15/"
appNewVersion=$(curl -fsIL "${downloadURL}" | grep -i ^location | tail -1 | cut -d "/" -f6)
expectedTeamID="4C6364ACXT"
;;

View File

@@ -0,0 +1,7 @@
authydesktop)
name="Authy Desktop"
type="dmg"
downloadURL="https://electron.authy.com/download?channel=stable&arch=x64&platform=darwin&version=latest&product=authy"
appNewVersion="$(curl -sfL --output /dev/null -r 0-0 "${downloadURL}" --remote-header-name --remote-name -w "%{url_effective}\n" | grep -o -E '([a-zA-Z0-9\_.%-]*)\.(dmg|pkg|zip|tbz)$' | sed -E 's/.*-([0-9.]*)\.dmg/\1/g')"
expectedTeamID="9EVH78F4V4"
;;

View File

@@ -1,6 +1,10 @@
figma) figma)
name="Figma" name="Figma"
type="zip" type="zip"
downloadURL="https://desktop.figma.com/mac/Figma.zip" if [[ $(arch) == "arm64" ]]; then
downloadURL="https://desktop.figma.com/mac-arm/Figma.zip"
elif [[ $(arch) == "i386" ]]; then
downloadURL="https://desktop.figma.com/mac/Figma.zip"
fi
expectedTeamID="T8RA8NE3B7" expectedTeamID="T8RA8NE3B7"
;; ;;

View File

@@ -2,6 +2,7 @@ microsoftofficebusinesspro)
name="MicrosoftOfficeBusinessPro" name="MicrosoftOfficeBusinessPro"
type="pkg" type="pkg"
downloadURL="https://go.microsoft.com/fwlink/?linkid=2009112" downloadURL="https://go.microsoft.com/fwlink/?linkid=2009112"
appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_.*pkg" | cut -d "_" -f 3)
expectedTeamID="UBF8T346G9" expectedTeamID="UBF8T346G9"
# using MS PowerPoint as the 'stand-in' for the entire suite # using MS PowerPoint as the 'stand-in' for the entire suite
appName="Microsoft PowerPoint.app" appName="Microsoft PowerPoint.app"

View File

@@ -0,0 +1,8 @@
montereyblocker)
name="montereyblocker"
type="pkg"
packageID="dk.envo-it.montereyblocker"
downloadURL=$(downloadURLFromGit Theile montereyblocker )
appNewVersion=$(versionFromGit Theile montereyblocker )
expectedTeamID="FXW6QXBFW5"
;;

View File

@@ -0,0 +1,8 @@
rodeconnect)
name="RODE Connect"
type="pkgInZip"
#packageID="com.rodeconnect.installer" #Versioned wrong as 0 in 1.1.0 pkg
downloadURL="https://cdn1.rode.com/rodeconnect_installer_mac.zip"
appNewVersion="$(curl -fs https://rode.com/software/rode-connect | grep -i -o ">Current version .*<" | cut -d " " -f4)"
expectedTeamID="Z9T72PWTJA"
;;

View File

@@ -2,6 +2,6 @@ slack)
name="Slack" name="Slack"
type="dmg" type="dmg"
downloadURL="https://slack.com/ssb/download-osx-universal" # Universal downloadURL="https://slack.com/ssb/download-osx-universal" # Universal
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | awk '{print $2}' | tr -d '\r\n' | sed -E 's/.*macos\/([0-9.]*)\/.*/\1/g' ) appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | cut -d "/" -f6 )
expectedTeamID="BQR82RBBHL" expectedTeamID="BQR82RBBHL"
;; ;;

View File

@@ -0,0 +1,7 @@
zeplin)
name="Zeplin"
type="zip"
downloadURL="https://zpl.io/download-mac"
appNewVersion="$(curl -fs "https://api.appcenter.ms/v0.1/public/sparkle/apps/8926efff-e734-b6d3-03d0-9f41d90c34fc" | xpath '(//rss/channel/item/enclosure/@sparkle:shortVersionString)[1]' 2>/dev/null | cut -d '"' -f 2)"
expectedTeamID="8U3Y4X5WDQ"
;;

View File

@@ -11,7 +11,7 @@ downloadURL=${1?:"need to provide a download URL."}
# ./buildLabel.sh <URL to download software> # ./buildLabel.sh <URL to download software>
# Use working directory as download folder # Use working directory as download folder
tmpDir=$(date "+%Y-%m-%d-%H-%M-%S") tmpDir="$(pwd)/$(date "+%Y-%m-%d-%H-%M-%S")"
# Create a n almost unique folder name # Create a n almost unique folder name
mkdir $tmpDir mkdir $tmpDir
@@ -65,25 +65,26 @@ appInvestigation() {
fi fi
} }
echo "downloadOut:\n${downloadOut}" #echo "downloadOut:\n${downloadOut}"
archiveTempName=$( echo "${downloadOut}" | head -1 ) archiveTempName=$( echo "${downloadOut}" | head -1 )
echo "archiveTempName: $archiveTempName" echo "archiveTempName: $archiveTempName"
archivePath=$( echo "${downloadOut}" | tail -1 ) archivePath=$( echo "${downloadOut}" | tail -1 )
echo "archivePath: $archivePath" echo "archivePath: $archivePath"
try1archiveName=${archiveTempName##*/} try1archiveName=${${archiveTempName##*/}%%\?*}
try2archiveName=${archivePath##*/} try2archiveName=${${archivePath##*/}%%\?*}
fileName_re='^([a-zA-Z0-9\_.-]*)\.(dmg|pkg|zip|tbz)$' fileName_re='^([a-zA-Z0-9\_.%-]*)\.(dmg|pkg|zip|tbz)$'
if [[ "${try1archiveName}" =~ $fileName_re ]]; then if [[ "${try1archiveName}" =~ $fileName_re ]]; then
archiveName=${try1archiveName} archiveName=${try1archiveName}
elif [[ "${try2archiveName}" =~ $fileName_re ]]; then elif [[ "${try2archiveName}" =~ $fileName_re ]]; then
archiveName=${try2archiveName} archiveName=${try2archiveName}
else else
echo "Could not determine archiveName from “$try1archiveName” and “$try2archiveName" echo "Could not determine archiveName from “$try1archiveName” and “$try2archiveName"
#echo "Extensions $archiveTempName:t:e $archivePath:t:e"
exit exit
fi fi
echo "archiveName: $archiveName" echo "Calculated archiveName: $archiveName"
mv $archiveTempName $archiveName mv $archiveTempName $archiveName
name=${archiveName%.*} name=${archiveName%.*}
echo "name: $name" echo "name: $name"

View File

@@ -171,7 +171,7 @@ for label in $allLabels; do
else else
URLextension=$( echo "${URLfilename}" | tail -1 | sed -E 's/.*\.([a-zA-Z]*)\s*/\1/g' | tr -d '\r\n' ) URLextension=$( echo "${URLfilename}" | tail -1 | sed -E 's/.*\.([a-zA-Z]*)\s*/\1/g' | tr -d '\r\n' )
fi fi
URLextension=${URLextension:l} URLextension=${${URLextension:l}%%\?*}
if [[ "${URLextension}" == "${expectedExtension}" ]]; then if [[ "${URLextension}" == "${expectedExtension}" ]]; then
echo "${GREEN}OK: download extension MATCH on ${URLextension}${NC}" echo "${GREEN}OK: download extension MATCH on ${URLextension}${NC}"
else else