mirror of
https://github.com/mtan93/Installomator.git
synced 2026-03-15 13:20:58 +00:00
Merge branch 'dev' into Handling-of-App-Store-apps
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
8
fragments/disabled/parallels.sh
Normal file
8
fragments/disabled/parallels.sh
Normal 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"
|
||||
;;
|
||||
7
fragments/labels/authydesktop.sh
Normal file
7
fragments/labels/authydesktop.sh
Normal 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"
|
||||
;;
|
||||
@@ -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"
|
||||
;;
|
||||
|
||||
@@ -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"
|
||||
|
||||
8
fragments/labels/montereyblocker.sh
Normal file
8
fragments/labels/montereyblocker.sh
Normal 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"
|
||||
;;
|
||||
8
fragments/labels/rodeconnect.sh
Normal file
8
fragments/labels/rodeconnect.sh
Normal 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"
|
||||
;;
|
||||
@@ -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"
|
||||
;;
|
||||
|
||||
7
fragments/labels/zeplin.sh
Normal file
7
fragments/labels/zeplin.sh
Normal 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"
|
||||
;;
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user