From 22170a89ae5411030b3c664d20921de299ab91a6 Mon Sep 17 00:00:00 2001 From: Adam Codega Date: Mon, 12 Sep 2022 12:37:11 -0400 Subject: [PATCH 1/4] Swap Adobe URL parsing filter The filters for ARM and Intel were swapped by accident, this correctly returns the ARM URL for ARM and Intel URL for Intel. --- fragments/labels/adobecreativeclouddesktop.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fragments/labels/adobecreativeclouddesktop.sh b/fragments/labels/adobecreativeclouddesktop.sh index 95582db..54eabdb 100644 --- a/fragments/labels/adobecreativeclouddesktop.sh +++ b/fragments/labels/adobecreativeclouddesktop.sh @@ -4,9 +4,9 @@ adobecreativeclouddesktop) type="dmg" adobeurl="https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" if [[ $(arch) == "arm64" ]]; then - downloadURL=$(curl -fs "$adobeurl" | xmllint -html -xpath "string(//a[contains(@href,'osx10')][contains(text(),'Download')]/@href)" - 2> /dev/null) - elif [[ $(arch) == "i386" ]]; then downloadURL=$(curl -fs "$adobeurl" | xmllint -html -xpath "string(//a[contains(@href,'macarm64')][contains(text(),'Download')]/@href)" - 2> /dev/null) + elif [[ $(arch) == "i386" ]]; then + downloadURL=$(curl -fs "$adobeurl" | xmllint -html -xpath "string(//a[contains(@href,'osx10')][contains(text(),'Download')]/@href)" - 2> /dev/null) fi #downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o "https*.*dmg" | head -1) appNewVersion=$(curl -fs "https://helpx.adobe.com/creative-cloud/release-note/cc-release-notes.html" | grep "mandatory" | head -1 | grep -o "Version *.* released" | cut -d " " -f2) From cd2637d30f417bf9043310c1619465042e47a3c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Tue, 13 Sep 2022 09:05:04 +0200 Subject: [PATCH 2/4] =?UTF-8?q?Verify=20for=20=E2=80=9CAdobe=20Installer?= =?UTF-8?q?=E2=80=9D=20before=20running?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also added another option for getting current version that we could consider using. Removed some old stuff already commented out. --- fragments/labels/adobecreativeclouddesktop.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/fragments/labels/adobecreativeclouddesktop.sh b/fragments/labels/adobecreativeclouddesktop.sh index 54eabdb..c83da57 100644 --- a/fragments/labels/adobecreativeclouddesktop.sh +++ b/fragments/labels/adobecreativeclouddesktop.sh @@ -1,15 +1,19 @@ adobecreativeclouddesktop) name="Adobe Creative Cloud" - #appName="Install.app" type="dmg" + if pgrep -q "Adobe Installer"; then + printlog "Adobe Installer is running, not a good time to update." WARN + printlog "################## End $APPLICATION \n\n" INFO + exit 75 + fi adobeurl="https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" if [[ $(arch) == "arm64" ]]; then downloadURL=$(curl -fs "$adobeurl" | xmllint -html -xpath "string(//a[contains(@href,'macarm64')][contains(text(),'Download')]/@href)" - 2> /dev/null) elif [[ $(arch) == "i386" ]]; then downloadURL=$(curl -fs "$adobeurl" | xmllint -html -xpath "string(//a[contains(@href,'osx10')][contains(text(),'Download')]/@href)" - 2> /dev/null) fi - #downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o "https*.*dmg" | head -1) appNewVersion=$(curl -fs "https://helpx.adobe.com/creative-cloud/release-note/cc-release-notes.html" | grep "mandatory" | head -1 | grep -o "Version *.* released" | cut -d " " -f2) + #appNewVersion=$(echo "$downloadURL" | grep -o '[^x]*$' | cut -d '.' -f 1 | sed 's/_/\./g') installerTool="Install.app" CLIInstaller="Install.app/Contents/MacOS/Install" CLIArguments=(--mode=silent) From d404e93365b9c936d328ea394b93bfd23276e6d4 Mon Sep 17 00:00:00 2001 From: Theile Date: Fri, 30 Sep 2022 09:22:29 +0200 Subject: [PATCH 3/4] adobeacrobatprodc, adobereaderdc --- fragments/labels/adobeacrobatprodc.sh | 8 ++++++ fragments/labels/adobereaderdc-install.sh | 27 +++++++++++++++++++ fragments/labels/adobereaderdc-update.sh | 32 +++++++++++++++++++++-- 3 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 fragments/labels/adobeacrobatprodc.sh create mode 100644 fragments/labels/adobereaderdc-install.sh diff --git a/fragments/labels/adobeacrobatprodc.sh b/fragments/labels/adobeacrobatprodc.sh new file mode 100644 index 0000000..308648f --- /dev/null +++ b/fragments/labels/adobeacrobatprodc.sh @@ -0,0 +1,8 @@ +adobeacrobatprodc) + name="Adobe Acrobat Pro DC" + type="pkgInDmg" + downloadURL="https://trials.adobe.com/AdobeProducts/APRO/Acrobat_HelpX/osx10/Acrobat_DC_Web_WWMUI.dmg" + expectedTeamID="JQ525L2MZD" + blockingProcesses=( "Acrobat Pro DC" ) + Company="Adobe" + ;; diff --git a/fragments/labels/adobereaderdc-install.sh b/fragments/labels/adobereaderdc-install.sh new file mode 100644 index 0000000..060e3cc --- /dev/null +++ b/fragments/labels/adobereaderdc-install.sh @@ -0,0 +1,27 @@ +adobereaderdc-install) + name="Adobe Acrobat Reader DC" + type="pkgInDmg" + printlog "Changing IFS for Adobe Reader" INFO + SAVEIFS=$IFS + IFS=$'\n' + versions=( $( curl -s https://www.adobe.com/devnet-docs/acrobatetk/tools/ReleaseNotesDC/index.html | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+"| head -n 30) ) + local version + for version in $versions; do + version="${version//.}" + printlog "trying version: $version" INFO + local httpstatus=$(curl -X HEAD -s "https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/${version}/AcroRdrDC_${version}_MUI.dmg" --write-out "%{http_code}") + printlog "HTTP status for Adobe Reader full installer URL https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/${version}/AcroRdrDC_${version}_MUI.dmg is $httpstatus" DEBUG + if [[ "${httpstatus}" == "200" ]]; then + downloadURL="https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/${version}/AcroRdrDC_${version}_MUI.dmg" + unset httpstatus + break + fi + done + unset version + IFS=$SAVEIFS + appNewVersion=$i + expectedTeamID="JQ525L2MZD" + blockingProcesses=( "AdobeReader" ) + Company="Adobe" + PatchName="AcrobatReader" + ;; diff --git a/fragments/labels/adobereaderdc-update.sh b/fragments/labels/adobereaderdc-update.sh index a409cf5..1637402 100644 --- a/fragments/labels/adobereaderdc-update.sh +++ b/fragments/labels/adobereaderdc-update.sh @@ -1,9 +1,37 @@ adobereaderdc-update) name="Adobe Acrobat Reader DC" type="pkgInDmg" - downloadURL=$(adobecurrent=`curl --fail --silent https://armmf.adobe.com/arm-manifests/mac/AcrobatDC/reader/current_version.txt | tr -d '.'` && echo https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/"$adobecurrent"/AcroRdrDC_"$adobecurrent"_MUI.dmg) + if [[ -d "/Applications/Adobe Acrobat Reader DC.app" ]]; then + mkdir -p "/Library/Application Support/Adobe/Acrobat/11.0" + defaults write "/Library/Application Support/Adobe/Acrobat/11.0/com.adobe.Acrobat.InstallerOverrides.plist" ReaderAppPath "/Applications/Adobe Acrobat Reader DC.app" + if ! [[ `defaults read "/Applications/Adobe Acrobat Reader DC.app/Contents/Resources/AcroLocale.plist"` ]]; then + printlog "Missing locale data, this will cause the updater to fail. Deleting Adobe Acrobat Reader DC.app and installing fresh." + rm -Rf "/Applications/Adobe Acrobat Reader DC.app" + $0 $1 $2 $3 adobereaderdc-install $5 $6 $7 $8 $9 ${10} ${11} + fi + fi + adobecurrent=$(curl -sL https://armmf.adobe.com/arm-manifests/mac/AcrobatDC/reader/current_version.txt | tr -d '.') + if [[ "${adobecurrent}" != <-> ]]; then + printlog "Got an invalid response for the Adobe Reader Current Version: ${adobecurrent}" ERROR + printlog "################## End $APPLICATION \n\n" INFO + exit 50 + fi + downloadURL=$(echo https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/"$adobecurrent"/AcroRdrDCUpd"$adobecurrent"_MUI.dmg) + reader_preinstall() { + if pgrep -a "AdobeReader" >/dev/null 2>&1; then + printlog "AdobeReader is still running, forcefully killing." WARN + killall AdobeReader + fi + } + preinstall="reader_preinstall" + updateTool="/usr/local/bin/RemoteUpdateManager" + updateToolArguments=( --productVersions=RDR ) appNewVersion=$(curl -s https://armmf.adobe.com/arm-manifests/mac/AcrobatDC/reader/current_version.txt) - #appNewVersion=$(curl -s -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15)" https://get.adobe.com/reader/ | grep ">Version" | sed -E 's/.*Version 20([0-9.]*)<.*/\1/g') # credit: Søren Theilgaard (@theilgaard) + updateToolLog="/Users/$currentUser/Library/Logs/RemoteUpdateManager.log" + updateToolLogDateFormat="%m/%d/%y %H:%M:%S" expectedTeamID="JQ525L2MZD" blockingProcesses=( "AdobeReader" ) + Company=Adobe + PatchName=AcrobatReader + PatchSkip="YES" ;; From 3f41926cf92e552ac6ebeed2109a4e91835800d9 Mon Sep 17 00:00:00 2001 From: Theile Date: Fri, 30 Sep 2022 10:14:13 +0200 Subject: [PATCH 4/4] adobecreativeclouddesktop and adobereaderdc-update Fixing #694 and fixing #687 --- fragments/labels/adobecreativeclouddesktop.sh | 16 +++++++++------- fragments/labels/adobereaderdc-update.sh | 13 ++++++++++--- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/fragments/labels/adobecreativeclouddesktop.sh b/fragments/labels/adobecreativeclouddesktop.sh index c83da57..e12b911 100644 --- a/fragments/labels/adobecreativeclouddesktop.sh +++ b/fragments/labels/adobecreativeclouddesktop.sh @@ -1,22 +1,24 @@ adobecreativeclouddesktop) name="Adobe Creative Cloud" + appName="Install.app" type="dmg" if pgrep -q "Adobe Installer"; then printlog "Adobe Installer is running, not a good time to update." WARN printlog "################## End $APPLICATION \n\n" INFO exit 75 fi - adobeurl="https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" - if [[ $(arch) == "arm64" ]]; then - downloadURL=$(curl -fs "$adobeurl" | xmllint -html -xpath "string(//a[contains(@href,'macarm64')][contains(text(),'Download')]/@href)" - 2> /dev/null) - elif [[ $(arch) == "i386" ]]; then - downloadURL=$(curl -fs "$adobeurl" | xmllint -html -xpath "string(//a[contains(@href,'osx10')][contains(text(),'Download')]/@href)" - 2> /dev/null) + if [[ "$(arch)" == "arm64" ]]; then + downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o 'https.*macarm64.*dmg' | head -1 | cut -d '"' -f1) + else + downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o 'https.*osx10.*dmg' | head -1 | cut -d '"' -f1) fi - appNewVersion=$(curl -fs "https://helpx.adobe.com/creative-cloud/release-note/cc-release-notes.html" | grep "mandatory" | head -1 | grep -o "Version *.* released" | cut -d " " -f2) - #appNewVersion=$(echo "$downloadURL" | grep -o '[^x]*$' | cut -d '.' -f 1 | sed 's/_/\./g') + #appNewVersion=$(curl -fs "https://helpx.adobe.com/creative-cloud/release-note/cc-release-notes.html" | grep "mandatory" | head -1 | grep -o "Version *.* released" | cut -d " " -f2) + appNewVersion=$(echo $downloadURL | grep -o '[^x]*$' | cut -d '.' -f 1 | sed 's/_/\./g') + targetDir="/Applications/Utilities/Adobe Creative Cloud/ACC/" installerTool="Install.app" CLIInstaller="Install.app/Contents/MacOS/Install" CLIArguments=(--mode=silent) expectedTeamID="JQ525L2MZD" + blockingProcesses=( "Creative Cloud" ) Company="Adobe" ;; diff --git a/fragments/labels/adobereaderdc-update.sh b/fragments/labels/adobereaderdc-update.sh index 1637402..7a81c57 100644 --- a/fragments/labels/adobereaderdc-update.sh +++ b/fragments/labels/adobereaderdc-update.sh @@ -2,12 +2,19 @@ adobereaderdc-update) name="Adobe Acrobat Reader DC" type="pkgInDmg" if [[ -d "/Applications/Adobe Acrobat Reader DC.app" ]]; then + printlog "Found /Applications/Adobe Acrobat Reader DC.app" mkdir -p "/Library/Application Support/Adobe/Acrobat/11.0" defaults write "/Library/Application Support/Adobe/Acrobat/11.0/com.adobe.Acrobat.InstallerOverrides.plist" ReaderAppPath "/Applications/Adobe Acrobat Reader DC.app" - if ! [[ `defaults read "/Applications/Adobe Acrobat Reader DC.app/Contents/Resources/AcroLocale.plist"` ]]; then - printlog "Missing locale data, this will cause the updater to fail. Deleting Adobe Acrobat Reader DC.app and installing fresh." + if ! defaults read "/Applications/Adobe Acrobat Reader DC.app/Contents/Resources/AcroLocale.plist" ; then + printlog "Missing locale data, this will cause the updater to fail. Deleting Adobe Acrobat Reader DC.app and installing fresh." WARN rm -Rf "/Applications/Adobe Acrobat Reader DC.app" - $0 $1 $2 $3 adobereaderdc-install $5 $6 $7 $8 $9 ${10} ${11} + if [[ $1 == "/" ]]; then + printlog "Running through Jamf: $0." INFO + $0 $1 $2 $3 adobereaderdc-install ${5} ${6} ${7} ${8} ${9} ${10} ${11} + else + printlog "Installomator running locally: $0." INFO + $0 adobereaderdc-install ${2} ${3} ${4} ${5} ${6} ${7} ${8} ${9} ${10} ${11} + fi fi fi adobecurrent=$(curl -sL https://armmf.adobe.com/arm-manifests/mac/AcrobatDC/reader/current_version.txt | tr -d '.')