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.
- 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.)
- Added bunch of new labels
- 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.
- 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. Look at the tutorials in our wiki.
- Mosyle changed their app name from Business to Self-Service
## v0.6 - 2021-07-14

View File

@@ -30,6 +30,7 @@ asana
atext
atom
audacity
authydesktop
autodmg
autopkgr
aviatrix
@@ -237,6 +238,7 @@ ringcentralmeetings
ringcentralphone
rocket
rocketchat
rodeconnect
royaltsx
rstudio
santa
@@ -314,6 +316,7 @@ xink
xquartz
yubikeymanagerqt
zappy
zeplin
zohoworkdrive
zoom
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)
name="Figma"
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"
;;

View File

@@ -2,6 +2,7 @@ microsoftofficebusinesspro)
name="MicrosoftOfficeBusinessPro"
type="pkg"
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"
# using MS PowerPoint as the 'stand-in' for the entire suite
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"
type="dmg"
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"
;;

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>
# 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
mkdir $tmpDir
@@ -65,25 +65,26 @@ appInvestigation() {
fi
}
echo "downloadOut:\n${downloadOut}"
#echo "downloadOut:\n${downloadOut}"
archiveTempName=$( echo "${downloadOut}" | head -1 )
echo "archiveTempName: $archiveTempName"
archivePath=$( echo "${downloadOut}" | tail -1 )
echo "archivePath: $archivePath"
try1archiveName=${archiveTempName##*/}
try2archiveName=${archivePath##*/}
fileName_re='^([a-zA-Z0-9\_.-]*)\.(dmg|pkg|zip|tbz)$'
try1archiveName=${${archiveTempName##*/}%%\?*}
try2archiveName=${${archivePath##*/}%%\?*}
fileName_re='^([a-zA-Z0-9\_.%-]*)\.(dmg|pkg|zip|tbz)$'
if [[ "${try1archiveName}" =~ $fileName_re ]]; then
archiveName=${try1archiveName}
elif [[ "${try2archiveName}" =~ $fileName_re ]]; then
archiveName=${try2archiveName}
else
echo "Could not determine archiveName from “$try1archiveName” and “$try2archiveName"
#echo "Extensions $archiveTempName:t:e $archivePath:t:e"
exit
fi
echo "archiveName: $archiveName"
echo "Calculated archiveName: $archiveName"
mv $archiveTempName $archiveName
name=${archiveName%.*}
echo "name: $name"

View File

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