mirror of
https://github.com/Suwayomi/Tachidesk.git
synced 2025-12-10 06:42:07 +01:00
Move to Zulu JRE (#1675)
* Move `apt` commands behind `$CI` Same as for the windows command, no need to rerun this every time * Use fallback to avoid unbound variables * Scripts: Switch to Zulu JRE * workflows: Switch to zulu JDK * fix: Launcher requires sun.awt.* exports * Update renovate for Zulu
This commit is contained in:
4
.github/workflows/build_pull_request.yml
vendored
4
.github/workflows/build_pull_request.yml
vendored
@@ -48,7 +48,7 @@ jobs:
|
|||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@v5
|
||||||
with:
|
with:
|
||||||
java-version: 21
|
java-version: 21
|
||||||
distribution: 'temurin'
|
distribution: 'zulu'
|
||||||
|
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/actions/setup-gradle@v4
|
uses: gradle/actions/setup-gradle@v4
|
||||||
@@ -94,4 +94,4 @@ jobs:
|
|||||||
printf "exit code '%s' - exiting.\n" "$ecode"
|
printf "exit code '%s' - exiting.\n" "$ecode"
|
||||||
exit "$ecode"
|
exit "$ecode"
|
||||||
fi
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
4
.github/workflows/build_push.yml
vendored
4
.github/workflows/build_push.yml
vendored
@@ -36,7 +36,7 @@ jobs:
|
|||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@v5
|
||||||
with:
|
with:
|
||||||
java-version: 21
|
java-version: 21
|
||||||
distribution: 'temurin'
|
distribution: 'zulu'
|
||||||
|
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/actions/setup-gradle@v4
|
uses: gradle/actions/setup-gradle@v4
|
||||||
@@ -97,7 +97,7 @@ jobs:
|
|||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@v5
|
||||||
with:
|
with:
|
||||||
java-version: 21
|
java-version: 21
|
||||||
distribution: 'temurin'
|
distribution: 'zulu'
|
||||||
|
|
||||||
- name: Package JDK
|
- name: Package JDK
|
||||||
run: jlink --add-modules java.base,java.compiler,java.datatransfer,java.desktop,java.instrument,java.logging,java.management,java.naming,java.prefs,java.scripting,java.se,java.security.jgss,java.security.sasl,java.sql,java.transaction.xa,java.xml,jdk.attach,jdk.crypto.ec,jdk.jdi,jdk.management,jdk.net,jdk.random,jdk.unsupported,jdk.unsupported.desktop,jdk.zipfs --output suwa --strip-debug --no-man-pages --no-header-files --compress=2
|
run: jlink --add-modules java.base,java.compiler,java.datatransfer,java.desktop,java.instrument,java.logging,java.management,java.naming,java.prefs,java.scripting,java.se,java.security.jgss,java.security.sasl,java.sql,java.transaction.xa,java.xml,jdk.attach,jdk.crypto.ec,jdk.jdi,jdk.management,jdk.net,jdk.random,jdk.unsupported,jdk.unsupported.desktop,jdk.zipfs --output suwa --strip-debug --no-man-pages --no-header-files --compress=2
|
||||||
|
|||||||
4
.github/workflows/publish.yml
vendored
4
.github/workflows/publish.yml
vendored
@@ -37,7 +37,7 @@ jobs:
|
|||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@v5
|
||||||
with:
|
with:
|
||||||
java-version: 21
|
java-version: 21
|
||||||
distribution: 'temurin'
|
distribution: 'zulu'
|
||||||
|
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/actions/setup-gradle@v4
|
uses: gradle/actions/setup-gradle@v4
|
||||||
@@ -99,7 +99,7 @@ jobs:
|
|||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@v5
|
||||||
with:
|
with:
|
||||||
java-version: 21
|
java-version: 21
|
||||||
distribution: 'temurin'
|
distribution: 'zulu'
|
||||||
|
|
||||||
- name: Package JDK
|
- name: Package JDK
|
||||||
run: jlink --add-modules java.base,java.compiler,java.datatransfer,java.desktop,java.instrument,java.logging,java.management,java.naming,java.prefs,java.scripting,java.se,java.security.jgss,java.security.sasl,java.sql,java.transaction.xa,java.xml,jdk.attach,jdk.crypto.ec,jdk.jdi,jdk.management,jdk.net,jdk.random,jdk.unsupported,jdk.unsupported.desktop,jdk.zipfs --output suwa --strip-debug --no-man-pages --no-header-files --compress=2
|
run: jlink --add-modules java.base,java.compiler,java.datatransfer,java.desktop,java.instrument,java.logging,java.management,java.naming,java.prefs,java.scripting,java.se,java.security.jgss,java.security.sasl,java.sql,java.transaction.xa,java.xml,jdk.attach,jdk.crypto.ec,jdk.jdi,jdk.management,jdk.net,jdk.random,jdk.unsupported,jdk.unsupported.desktop,jdk.zipfs --output suwa --strip-debug --no-man-pages --no-header-files --compress=2
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ This structure is chosen to
|
|||||||
### Prerequisites
|
### Prerequisites
|
||||||
You need these software packages installed in order to build the project
|
You need these software packages installed in order to build the project
|
||||||
|
|
||||||
- Java Development Kit version 21 or newer(we suggest using Temurin instead of Oracle JDK)
|
- Java Development Kit version 21 or newer(we suggest using Zulu or Temurin instead of Oracle JDK)
|
||||||
|
|
||||||
### building the full-blown jar (Suwayomi-Server + Suwayomi-WebUI bundle)
|
### building the full-blown jar (Suwayomi-Server + Suwayomi-WebUI bundle)
|
||||||
Run `./gradlew server:downloadWebUI server:shadowJar`, the resulting built jar file will be `server/build/Suwayomi-Server-vX.Y.Z-rxxx.jar`.
|
Run `./gradlew server:downloadWebUI server:shadowJar`, the resulting built jar file will be `server/build/Suwayomi-Server-vX.Y.Z-rxxx.jar`.
|
||||||
|
|||||||
@@ -13,9 +13,16 @@
|
|||||||
"matchStrings": [
|
"matchStrings": [
|
||||||
"JRE_RELEASE=[\"'](?<currentValue>.+?)[\"']\\s+"
|
"JRE_RELEASE=[\"'](?<currentValue>.+?)[\"']\\s+"
|
||||||
],
|
],
|
||||||
"datasourceTemplate": "github-releases",
|
"datasourceTemplate": "custom.zulu",
|
||||||
"depNameTemplate": "adoptium/temurin21-binaries",
|
"versioningTemplate": "regex:^(?<major>\\d+)\.(?<minor>\\d+)\.(?<patch>\\d+).*$"
|
||||||
"versioningTemplate": "regex:^jdk-?(?<major>\\d+).(?<minor>\\d+).+?(?<patch>[\\d+]+)$"
|
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"customDatasources": {
|
||||||
|
"zulu": {
|
||||||
|
"defaultRegistryUrlTemplate": "https://api.azul.com/metadata/v1/zulu/packages?availability_types=ca&release_status=both&java_package_type=jre&crac_supported=false&javafx_bundled=false&java_version=21&arch=x86&os=linux&archive_type=zip&page_size=1000&include_fields=java_package_features,release_status,support_term,os,arch,hw_bitness,abi,java_package_type,javafx_bundled,sha256_hash,cpu_gen,size,archive_type,certifications,lib_c_type,crac_supported&page=1&azul_com=true",
|
||||||
|
"transformTemplates": [
|
||||||
|
"{\"releases\": $$.$join([$join($map(distro_version[[0..2]], $string), \".\"), \"_\", $join($map(java_version, $string), \".\")])}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,6 +42,10 @@ main() {
|
|||||||
gcc -fPIC -I$JAVA_HOME/include -I$JAVA_HOME/include/linux -shared scripts/resources/catch_abort.c -lpthread -o scripts/resources/catch_abort.so
|
gcc -fPIC -I$JAVA_HOME/include -I$JAVA_HOME/include/linux -shared scripts/resources/catch_abort.c -lpthread -o scripts/resources/catch_abort.so
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
JRE_ZULU="21.44.17_21.0.8"
|
||||||
|
JRE_RELEASE="jre${JRE_ZULU#*_}" # e.g. jre21.0.8
|
||||||
|
ZULU_RELEASE="zulu${JRE_ZULU%_*}" # e.g. zulu21.44.17
|
||||||
|
|
||||||
case "$OS" in
|
case "$OS" in
|
||||||
debian-all)
|
debian-all)
|
||||||
RELEASE="$RELEASE_NAME.deb"
|
RELEASE="$RELEASE_NAME.deb"
|
||||||
@@ -49,11 +53,9 @@ main() {
|
|||||||
move_release_to_output_dir
|
move_release_to_output_dir
|
||||||
;;
|
;;
|
||||||
appimage)
|
appimage)
|
||||||
# https://github.com/adoptium/temurin21-binaries/releases/
|
JRE="$ZULU_RELEASE-ca-$JRE_RELEASE-linux_x64.zip"
|
||||||
JRE_RELEASE="jdk-21.0.8+9"
|
JRE_DIR="${JRE%.*}"
|
||||||
JRE="OpenJDK21U-jre_x64_linux_hotspot_$(echo "$JRE_RELEASE" | sed 's/jdk//;s/-//g;s/+/_/g').tar.gz"
|
JRE_URL="https://cdn.azul.com/zulu/bin/$JRE"
|
||||||
JRE_DIR="$JRE_RELEASE-jre"
|
|
||||||
JRE_URL="https://github.com/adoptium/temurin21-binaries/releases/download/$JRE_RELEASE/$JRE"
|
|
||||||
setup_jre
|
setup_jre
|
||||||
|
|
||||||
RELEASE="$RELEASE_NAME.AppImage"
|
RELEASE="$RELEASE_NAME.AppImage"
|
||||||
@@ -67,11 +69,9 @@ main() {
|
|||||||
move_release_to_output_dir
|
move_release_to_output_dir
|
||||||
;;
|
;;
|
||||||
linux-x64)
|
linux-x64)
|
||||||
# https://github.com/adoptium/temurin21-binaries/releases/
|
JRE="$ZULU_RELEASE-ca-$JRE_RELEASE-linux_x64.zip"
|
||||||
JRE_RELEASE="jdk-21.0.8+9"
|
JRE_DIR="${JRE%.*}"
|
||||||
JRE="OpenJDK21U-jre_x64_linux_hotspot_$(echo "$JRE_RELEASE" | sed 's/jdk//;s/-//g;s/+/_/g').tar.gz"
|
JRE_URL="https://cdn.azul.com/zulu/bin/$JRE"
|
||||||
JRE_DIR="$JRE_RELEASE-jre"
|
|
||||||
JRE_URL="https://github.com/adoptium/temurin21-binaries/releases/download/$JRE_RELEASE/$JRE"
|
|
||||||
ELECTRON="electron-$electron_version-linux-x64.zip"
|
ELECTRON="electron-$electron_version-linux-x64.zip"
|
||||||
ELECTRON_URL="https://github.com/electron/electron/releases/download/$electron_version/$ELECTRON"
|
ELECTRON_URL="https://github.com/electron/electron/releases/download/$electron_version/$ELECTRON"
|
||||||
download_electron
|
download_electron
|
||||||
@@ -83,11 +83,9 @@ main() {
|
|||||||
move_release_to_output_dir
|
move_release_to_output_dir
|
||||||
;;
|
;;
|
||||||
macOS-x64)
|
macOS-x64)
|
||||||
# https://github.com/adoptium/temurin21-binaries/releases/
|
JRE="$ZULU_RELEASE-ca-$JRE_RELEASE-macosx_x64.zip"
|
||||||
JRE_RELEASE="jdk-21.0.8+9"
|
JRE_DIR="${JRE%.*}"
|
||||||
JRE="OpenJDK21U-jre_x64_mac_hotspot_$(echo "$JRE_RELEASE" | sed 's/jdk//;s/-//g;s/+/_/g').tar.gz"
|
JRE_URL="https://cdn.azul.com/zulu/bin/$JRE"
|
||||||
JRE_DIR="$JRE_RELEASE-jre"
|
|
||||||
JRE_URL="https://github.com/adoptium/temurin21-binaries/releases/download/$JRE_RELEASE/$JRE"
|
|
||||||
ELECTRON="electron-$electron_version-darwin-x64.zip"
|
ELECTRON="electron-$electron_version-darwin-x64.zip"
|
||||||
ELECTRON_URL="https://github.com/electron/electron/releases/download/$electron_version/$ELECTRON"
|
ELECTRON_URL="https://github.com/electron/electron/releases/download/$electron_version/$ELECTRON"
|
||||||
download_electron
|
download_electron
|
||||||
@@ -99,11 +97,9 @@ main() {
|
|||||||
move_release_to_output_dir
|
move_release_to_output_dir
|
||||||
;;
|
;;
|
||||||
macOS-arm64)
|
macOS-arm64)
|
||||||
# https://github.com/adoptium/temurin21-binaries/releases/
|
JRE="$ZULU_RELEASE-ca-$JRE_RELEASE-macosx_aarch64.zip"
|
||||||
JRE_RELEASE="jdk-21.0.8+9"
|
JRE_DIR="${JRE%.*}"
|
||||||
JRE="OpenJDK21U-jre_aarch64_mac_hotspot_$(echo "$JRE_RELEASE" | sed 's/jdk//;s/-//g;s/+/_/g').tar.gz"
|
JRE_URL="https://cdn.azul.com/zulu/bin/$JRE"
|
||||||
JRE_DIR="$JRE_RELEASE-jre"
|
|
||||||
JRE_URL="https://github.com/adoptium/temurin21-binaries/releases/download/$JRE_RELEASE/$JRE"
|
|
||||||
ELECTRON="electron-$electron_version-darwin-arm64.zip"
|
ELECTRON="electron-$electron_version-darwin-arm64.zip"
|
||||||
ELECTRON_URL="https://github.com/electron/electron/releases/download/$electron_version/$ELECTRON"
|
ELECTRON_URL="https://github.com/electron/electron/releases/download/$electron_version/$ELECTRON"
|
||||||
download_electron
|
download_electron
|
||||||
@@ -115,11 +111,9 @@ main() {
|
|||||||
move_release_to_output_dir
|
move_release_to_output_dir
|
||||||
;;
|
;;
|
||||||
windows-x64)
|
windows-x64)
|
||||||
# https://github.com/adoptium/temurin21-binaries/releases/
|
JRE="$ZULU_RELEASE-ca-$JRE_RELEASE-win_x64.zip"
|
||||||
JRE_RELEASE="jdk-21.0.8+9"
|
JRE_DIR="${JRE%.*}"
|
||||||
JRE="OpenJDK21U-jre_x64_windows_hotspot_$(echo "$JRE_RELEASE" | sed 's/jdk//;s/-//g;s/+/_/g').zip"
|
JRE_URL="https://cdn.azul.com/zulu/bin/$JRE"
|
||||||
JRE_DIR="$JRE_RELEASE-jre"
|
|
||||||
JRE_URL="https://github.com/adoptium/temurin21-binaries/releases/download/$JRE_RELEASE/$JRE"
|
|
||||||
ELECTRON="electron-$electron_version-win32-x64.zip"
|
ELECTRON="electron-$electron_version-win32-x64.zip"
|
||||||
ELECTRON_URL="https://github.com/electron/electron/releases/download/$electron_version/$ELECTRON"
|
ELECTRON_URL="https://github.com/electron/electron/releases/download/$electron_version/$ELECTRON"
|
||||||
download_electron
|
download_electron
|
||||||
@@ -232,8 +226,10 @@ make_deb_package() {
|
|||||||
sed -i "s/\$pkgver/$RELEASE_VERSION/" "$RELEASE_NAME/$source_dir/debian/changelog"
|
sed -i "s/\$pkgver/$RELEASE_VERSION/" "$RELEASE_NAME/$source_dir/debian/changelog"
|
||||||
sed -i "s/\$pkgrel/1/" "$RELEASE_NAME/$source_dir/debian/changelog"
|
sed -i "s/\$pkgrel/1/" "$RELEASE_NAME/$source_dir/debian/changelog"
|
||||||
|
|
||||||
sudo apt update
|
if [ "${CI:-}" = true ]; then
|
||||||
sudo apt install devscripts build-essential dh-exec
|
sudo apt update
|
||||||
|
sudo apt install devscripts build-essential dh-exec
|
||||||
|
fi
|
||||||
cd "$RELEASE_NAME/$source_dir/"
|
cd "$RELEASE_NAME/$source_dir/"
|
||||||
dpkg-buildpackage --no-sign --build=all
|
dpkg-buildpackage --no-sign --build=all
|
||||||
cd -
|
cd -
|
||||||
@@ -254,8 +250,10 @@ make_appimage() {
|
|||||||
cp "scripts/resources/appimage/AppRun" "$RELEASE_NAME/AppRun"
|
cp "scripts/resources/appimage/AppRun" "$RELEASE_NAME/AppRun"
|
||||||
chmod +x "$RELEASE_NAME/AppRun"
|
chmod +x "$RELEASE_NAME/AppRun"
|
||||||
|
|
||||||
sudo apt update
|
if [ "${CI:-}" = true ]; then
|
||||||
sudo apt install libfuse2
|
sudo apt update
|
||||||
|
sudo apt install libfuse2
|
||||||
|
fi
|
||||||
curl -L $APPIMAGE_URL -o $APPIMAGE_TOOLNAME
|
curl -L $APPIMAGE_URL -o $APPIMAGE_TOOLNAME
|
||||||
chmod +x $APPIMAGE_TOOLNAME
|
chmod +x $APPIMAGE_TOOLNAME
|
||||||
ARCH=x86_64 ./$APPIMAGE_TOOLNAME "$RELEASE_NAME" "$RELEASE"
|
ARCH=x86_64 ./$APPIMAGE_TOOLNAME "$RELEASE_NAME" "$RELEASE"
|
||||||
@@ -267,7 +265,7 @@ make_windows_bundle() {
|
|||||||
##./bundler.sh: line 250: wine: command not found
|
##./bundler.sh: line 250: wine: command not found
|
||||||
|
|
||||||
## check if running under github actions
|
## check if running under github actions
|
||||||
#if [ "$CI" = true ]; then
|
#if [ "${CI:-}" = true ]; then
|
||||||
## change electron executable's icon
|
## change electron executable's icon
|
||||||
#sudo dpkg --add-architecture i386
|
#sudo dpkg --add-architecture i386
|
||||||
#wget -qO - https://dl.winehq.org/wine-builds/winehq.key \
|
#wget -qO - https://dl.winehq.org/wine-builds/winehq.key \
|
||||||
@@ -298,7 +296,7 @@ make_windows_bundle() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
make_windows_package() {
|
make_windows_package() {
|
||||||
if [ "$CI" = true ]; then
|
if [ "${CI:-}" = true ]; then
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt install -y wixl
|
sudo apt install -y wixl
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
start "" jre/bin/javaw -jar Suwayomi-Launcher.jar
|
start "" jre/bin/javaw --add-exports=java.desktop/sun.awt=ALL-UNNAMED -jar Suwayomi-Launcher.jar
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
cd "`dirname "$0"`"
|
cd "`dirname "$0"`"
|
||||||
|
|
||||||
./jre/bin/java -jar Suwayomi-Launcher.jar
|
./jre/bin/java --add-exports=java.desktop/sun.awt=ALL-UNNAMED -jar Suwayomi-Launcher.jar
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ Homepage: https://github.com/Suwayomi/Suwayomi-Server
|
|||||||
|
|
||||||
Package: suwayomi-server
|
Package: suwayomi-server
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Depends: ${misc:Depends}, openjdk-21-jre | openjdk-21-jre-headless | openjdk-21-jdk | openjdk-21-jdk-headless | temurin-21-jre | temurin-21-jdk | zulu21-jre | zulu21-jre-headless | zulu21-jdk | zulu21-jdk-headless | msopenjdk-21 | java-21-amazon-corretto-jdk
|
Depends: ${misc:Depends}, zulu21-jre | zulu21-jre-headless | zulu21-jdk | zulu21-jdk-headless | openjdk-21-jre | openjdk-21-jre-headless | openjdk-21-jdk | openjdk-21-jdk-headless | temurin-21-jre | temurin-21-jdk | msopenjdk-21 | java-21-amazon-corretto-jdk
|
||||||
Description: Manga Reader
|
Description: Manga Reader
|
||||||
A free and open source manga reader server that runs extensions built for Tachiyomi.
|
A free and open source manga reader server that runs extensions built for Tachiyomi.
|
||||||
Suwayomi is an independent Tachiyomi compatible software and is not a Fork of Tachiyomi.
|
Suwayomi is an independent Tachiyomi compatible software and is not a Fork of Tachiyomi.
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
exec ./jre/bin/java -jar ./Suwayomi-Launcher.jar
|
exec ./jre/bin/java --add-exports=java.desktop/sun.awt=ALL-UNNAMED -jar ./Suwayomi-Launcher.jar
|
||||||
|
|||||||
Reference in New Issue
Block a user