From 0dc9a3a83421ae8d98980800086e13b46f959fd5 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Fri, 7 Jun 2024 14:56:54 +0200 Subject: [PATCH] align local build scripts --- dist/linux/appimage/build.sh | 36 ++++++++++++++++++------------------ dist/mac/dmg/build.sh | 15 ++++++++++----- dist/win/build.ps1 | 23 ++++++++++++----------- 3 files changed, 40 insertions(+), 34 deletions(-) diff --git a/dist/linux/appimage/build.sh b/dist/linux/appimage/build.sh index 091e66c00..d939e9434 100755 --- a/dist/linux/appimage/build.sh +++ b/dist/linux/appimage/build.sh @@ -12,9 +12,9 @@ command -v unzip >/dev/null 2>&1 || { echo >&2 "unzip not found."; exit 1; } VERSION=$(mvn -f ../../../pom.xml help:evaluate -Dexpression=project.version -q -DforceStdout) SEMVER_STR=${VERSION} -MACHINE_TYPE=$(uname -m) +CPU_ARCH=$(uname -p) -if [[ ! "${MACHINE_TYPE}" =~ x86_64|aarch64 ]]; then echo "Platform ${MACHINE_TYPE} not supported"; exit 1; fi +if [[ ! "${CPU_ARCH}" =~ x86_64|aarch64 ]]; then echo "Platform ${CPU_ARCH} not supported"; exit 1; fi mvn -f ../../../pom.xml versions:set -DnewVersion=${SEMVER_STR} @@ -23,20 +23,20 @@ mvn -B -f ../../../pom.xml clean package -Plinux -DskipTests cp ../../../LICENSE.txt ../../../target cp ../../../target/cryptomator-*.jar ../../../target/mods - -# download javaFX jmods -OPENJFX_URL='https://download2.gluonhq.com/openjfx/21.0.1/openjfx-21.0.1_linux-x64_bin-jmods.zip' -OPENJFX_SHA='7baed11ca56d5fee85995fa6612d4299f1e8b7337287228f7f12fd50407c56f8' -OPENJFX_URL_aarch64='https://download2.gluonhq.com/openjfx/21.0.1/openjfx-21.0.1_linux-aarch64_bin-jmods.zip' -OPENJFX_SHA_aarch64='871e7b9d7af16aef2e55c1b7830d0e0b2503b13dd8641374ba7e55ecb81d2ef9' - -if [[ "${MACHINE_TYPE}" = "aarch64" ]]; then - OPENJFX_URL="${OPENJFX_URL_aarch64}"; - OPENJFX_SHA="${OPENJFX_SHA_aarch64}"; +JAVAFX_VERSION=21.0.1 +JAVAFX_ARCH="x64" +JAVAFX_JMODS_SHA256='7baed11ca56d5fee85995fa6612d4299f1e8b7337287228f7f12fd50407c56f8' +if [ "${CPU_ARCH}" = "aarch64" ]; then + JAVAFX_ARCH="aarch64" + JAVAFX_JMODS_SHA256='871e7b9d7af16aef2e55c1b7830d0e0b2503b13dd8641374ba7e55ecb81d2ef9' fi -curl -L ${OPENJFX_URL} -o openjfx-jmods.zip -echo "${OPENJFX_SHA} openjfx-jmods.zip" | shasum -a256 --check +# download javaFX jmods +JAVAFX_JMODS_URL="https://download2.gluonhq.com/openjfx/${JAVAFX_VERSION}/openjfx-21.0.1_linux-${JAVAFX_ARCH}_bin-jmods.zip" + + +curl -L ${JAVAFX_JMODS_URL} -o openjfx-jmods.zip +echo "${JAVAFX_JMODS_SHA256} openjfx-jmods.zip" | shasum -a256 --check mkdir -p openjfx-jmods unzip -o -j openjfx-jmods.zip \*/javafx.base.jmod \*/javafx.controls.jmod \*/javafx.fxml.jmod \*/javafx.graphics.jmod -d openjfx-jmods JMOD_VERSION=$(jmod describe ./openjfx-jmods/javafx.base.jmod | head -1) @@ -114,17 +114,17 @@ ln -s usr/share/applications/org.cryptomator.Cryptomator.desktop Cryptomator.App ln -s bin/cryptomator.sh Cryptomator.AppDir/AppRun # load AppImageTool -curl -L https://github.com/AppImage/AppImageKit/releases/download/13/appimagetool-${MACHINE_TYPE}.AppImage -o /tmp/appimagetool.AppImage +curl -L https://github.com/AppImage/AppImageKit/releases/download/13/appimagetool-${CPU_ARCH}.AppImage -o /tmp/appimagetool.AppImage chmod +x /tmp/appimagetool.AppImage # create AppImage /tmp/appimagetool.AppImage \ Cryptomator.AppDir \ - cryptomator-${SEMVER_STR}-${MACHINE_TYPE}.AppImage \ - -u 'gh-releases-zsync|cryptomator|cryptomator|latest|cryptomator-*-${MACHINE_TYPE}.AppImage.zsync' + cryptomator-${SEMVER_STR}-${CPU_ARCH}.AppImage \ + -u 'gh-releases-zsync|cryptomator|cryptomator|latest|cryptomator-*-${CPU_ARCH}.AppImage.zsync' echo "" -echo "Done. AppImage successfully created: cryptomator-${SEMVER_STR}-${MACHINE_TYPE}.AppImage" +echo "Done. AppImage successfully created: cryptomator-${SEMVER_STR}-${CPU_ARCH}.AppImage" echo "" echo >&2 "To clean up, run: rm -rf Cryptomator.AppDir appdir runtime squashfs-root openjfx-jmods; rm /tmp/appimagetool.AppImage openjfx-jmods.zip" echo "" diff --git a/dist/mac/dmg/build.sh b/dist/mac/dmg/build.sh index ce2380289..4f4ed3069 100755 --- a/dist/mac/dmg/build.sh +++ b/dist/mac/dmg/build.sh @@ -29,13 +29,17 @@ REVISION_NO=`git rev-list --count HEAD` VERSION_NO=`mvn -f../../../pom.xml help:evaluate -Dexpression=project.version -q -DforceStdout | sed -rn 's/.*([0-9]+\.[0-9]+\.[0-9]+).*/\1/p'` FUSE_LIB="FUSE-T" -ARCH="undefined" +JAVAFX_VERISON=21.0.1 +JAVAFX_ARCH="undefined" +JAVAFX_JMODS_SHA256="undefined" if [ "$(machine)" = "arm64e" ]; then - ARCH="aarch64" + JAVAFX_ARCH="aarch64" + JAVAFX_JMODS_SHA256="7afaa1c57a6cc3c384d636e597b9a5364693e2db4aaec0a6e63d2fa964400b58" else - ARCH="x64" + JAVAFX_ARCH="x64" + JAVAFX_JMODS_SHA256="bd6abab20da73d5a968dcf2fd915d81b5fb919340e3bb84979ee9a888a829939" fi -OPENJFX_JMODS="https://download2.gluonhq.com/openjfx/21.0.1/openjfx-21.0.1_osx-${ARCH}_bin-jmods.zip" +JAVAFX_JMODS_URL="https://download2.gluonhq.com/openjfx/${JAVAFX_VERSION}/openjfx-${JAVAFX_VERSION}_osx-${JAVAFX_ARCH}_bin-jmods.zip" # check preconditions if [ -z "${JAVA_HOME}" ]; then echo "JAVA_HOME not set. Run using JAVA_HOME=/path/to/jdk ./build.sh"; exit 1; fi @@ -47,7 +51,8 @@ if [ -n "${CODESIGN_IDENTITY}" ]; then fi # download and check jmods -curl -L ${OPENJFX_JMODS} -o openjfx-jmods.zip +curl -L ${JAVAFX_JMODS_URL} -o openjfx-jmods.zip +echo "${JAVAFX_JMODS_SHA256} openjfx-jmods.zip" | shasum -a256 --check mkdir -p openjfx-jmods/ unzip -jo openjfx-jmods.zip \*/javafx.base.jmod \*/javafx.controls.jmod \*/javafx.fxml.jmod \*/javafx.graphics.jmod -d openjfx-jmods JMOD_VERSION=$(jmod describe openjfx-jmods/javafx.base.jmod | head -1) diff --git a/dist/win/build.ps1 b/dist/win/build.ps1 index 117c0afb8..f05a87b8c 100644 --- a/dist/win/build.ps1 +++ b/dist/win/build.ps1 @@ -51,21 +51,22 @@ if ($clean -and (Test-Path -Path $runtimeImagePath)) { } ## download jfx jmods -$jmodsVersion='21.0.1' -$jmodsUrl = "https://download2.gluonhq.com/openjfx/${jmodsVersion}/openjfx-${jmodsVersion}_windows-x64_bin-jmods.zip" -$jfxJmodsChecksum = 'daf8acae631c016c24cfe23f88469400274d3441dd890615a42dfb501f3eb94a' -$jfxJmodsZip = '.\resources\jfxJmods.zip' -if( !(Test-Path -Path $jfxJmodsZip) ) { - Write-Output "Downloading ${jmodsUrl}..." - Invoke-WebRequest $jmodsUrl -OutFile $jfxJmodsZip # redirects are followed by default +$javaFxVersion='21.0.1' +$javaFxJmodsUrl = "https://download2.gluonhq.com/openjfx/${javaFxVersion}/openjfx-${javaFxVersion}_windows-x64_bin-jmods.zip" +$javaFxJmodsSHA256 = 'daf8acae631c016c24cfe23f88469400274d3441dd890615a42dfb501f3eb94a' +$javaFxJmods = '.\resources\jfxJmods.zip' +if( !(Test-Path -Path $javaFxJmods) ) { + Write-Output "Downloading ${javaFxJmodsUrl}..." + Invoke-WebRequest $javaFxJmodsUrl -OutFile $javaFxJmods # redirects are followed by default } -$jmodsChecksumActual = $(Get-FileHash -Path $jfxJmodsZip -Algorithm SHA256).Hash -if( $jmodsChecksumActual -ne $jfxJmodsChecksum ) { - Write-Error "Checksum mismatch for jfxJmods.zip. Expected: $jfxJmodsChecksum, actual: $jmodsChecksumActual" +$jmodsChecksumActual = $(Get-FileHash -Path $javaFxJmods -Algorithm SHA256).Hash +if( $jmodsChecksumActual -ne $javaFxJmodsSHA256 ) { + Write-Error "Checksum mismatch for jfxJmods.zip. Expected: $javaFxJmodsSHA256 +, actual: $jmodsChecksumActual" exit 1; } -Expand-Archive -Path $jfxJmodsZip -Force -DestinationPath ".\resources\" +Expand-Archive -Path $javaFxJmods -Force -DestinationPath ".\resources\" Remove-Item -Recurse -Force -Path ".\resources\javafx-jmods" Move-Item -Force -Path ".\resources\javafx-jmods-*" -Destination ".\resources\javafx-jmods" -ErrorAction Stop