From 291a23949acb4b3d114f45e7720130415476594b Mon Sep 17 00:00:00 2001 From: Mahor Date: Thu, 3 Mar 2022 09:56:56 +0000 Subject: [PATCH] Refactor debian-packager.sh, rename launcher scripts (#303) * Improve windows-bundler.sh * Overhaul debian-packager.sh. Rename base package name to tachidesk-server * Add -electron-launcher-debian.sh --- scripts/debian-packager.sh | 61 ++++++++++--------- scripts/resources/debian/changelog | 2 +- scripts/resources/debian/control | 4 +- scripts/resources/debian/copyright | 2 +- scripts/resources/debian/install | 13 ++-- .../resources/debian/source/include-binaries | 2 +- .../tachidesk-browser-launcher-standalone.sh | 2 - .../resources/tachidesk-browser-launcher.sh | 3 - scripts/resources/tachidesk-debug-launcher.sh | 3 - .../resources/tachidesk-electron-launcher.sh | 3 - .../tachidesk-server-browser-launcher.sh | 2 + ....sh => tachidesk-server-debug-launcher.sh} | 2 +- ...hidesk-server-electron-launcher-debian.sh} | 10 ++- .../tachidesk-server-electron-launcher.sh | 3 + scripts/resources/tachidesk-server.desktop | 8 +++ scripts/resources/tachidesk.desktop | 8 --- scripts/unix-bundler.sh | 8 +-- 17 files changed, 65 insertions(+), 71 deletions(-) delete mode 100755 scripts/resources/tachidesk-browser-launcher-standalone.sh delete mode 100755 scripts/resources/tachidesk-browser-launcher.sh delete mode 100755 scripts/resources/tachidesk-debug-launcher.sh delete mode 100755 scripts/resources/tachidesk-electron-launcher.sh create mode 100644 scripts/resources/tachidesk-server-browser-launcher.sh rename scripts/resources/{tachidesk-debug-launcher-standalone.sh => tachidesk-server-debug-launcher.sh} (51%) mode change 100755 => 100644 rename scripts/resources/{tachidesk-electron-launcher-standalone.sh => tachidesk-server-electron-launcher-debian.sh} (65%) mode change 100755 => 100644 create mode 100644 scripts/resources/tachidesk-server-electron-launcher.sh create mode 100644 scripts/resources/tachidesk-server.desktop delete mode 100755 scripts/resources/tachidesk.desktop diff --git a/scripts/debian-packager.sh b/scripts/debian-packager.sh index 76541e94..ca82de65 100755 --- a/scripts/debian-packager.sh +++ b/scripts/debian-packager.sh @@ -6,43 +6,46 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at https://mozilla.org/MPL/2.0/. -echo "creating debian package" +echo "Creating DEB Package" +pkgname="tachidesk-server" +PkgName="Tachidesk-Server" jar=$(ls ../server/build/*.jar | tail -n1) -release_ver=$(tmp="${jar%-*}" && echo "${tmp##*-}" | tr -d v) -orig_dir="tachidesk-$release_ver" # dir uses hyphen "-" -orig_tar_gz="tachidesk_$release_ver.orig.tar.gz" # orig file uses underscore "_" -package_name="tachidesk_$release_ver-1_all.deb" +pkgver="$(tmp="${jar%-*}" && echo "${tmp##*-}" | tr -d v)" +pkgrel=1 -# copy artifacts -mkdir "$orig_dir" -cp "$jar" "$orig_dir/Tachidesk.jar" -cp -r "resources/debian" "$orig_dir" -cp "resources/tachidesk-browser-launcher-standalone.sh" "$orig_dir/debian" -cp "resources/tachidesk-debug-launcher-standalone.sh" "$orig_dir/debian" -cp "resources/tachidesk-electron-launcher-standalone.sh" "$orig_dir/debian" -cp "resources/tachidesk.desktop" "$orig_dir/debian" -cp "../server/src/main/resources/icon/faviconlogo.png" "$orig_dir/debian/tachidesk.png" +srcdir="$pkgname-$pkgver" # uses hyphen "-" +srctgz="${pkgname}_$pkgver.orig.tar.gz" # uses underscore "_" +deb="${pkgname}_$pkgver-${pkgrel}_all.deb" +Deb="${PkgName}_$pkgver-${pkgrel}_all.deb" -# prepare -tar cvzf "$orig_tar_gz" "$orig_dir/Tachidesk.jar" -sed -i "s/\${version}/$release_ver/" "$orig_dir/debian/changelog" +# Prepare +mkdir "$srcdir/" +cp "$jar" "$srcdir/$pkgname.jar" +cp "resources/$pkgname-browser-launcher.sh" "$srcdir/" +cp "resources/$pkgname-debug-launcher.sh" "$srcdir/" +cp "resources/$pkgname-electron-launcher-debian.sh" "$srcdir/$pkgname-electron-launcher.sh" +cp "resources/$pkgname.desktop" "$srcdir/" +cp "../server/src/main/resources/icon/faviconlogo.png" "$srcdir/$pkgname.png" -# build -mkdir "build" -mv $orig_dir $orig_tar_gz "build/" -cd "build/$orig_dir/debian" +GZIP=-9 tar -cvzf "$srctgz" "$srcdir/" + +cp -r "resources/debian" "$srcdir/" +sed -i "s/\${pkgver}/$pkgver/" "$srcdir/debian/changelog" +sed -i "s/\${pkgrel}/$pkgrel/" "$srcdir/debian/changelog" + +# Build +mkdir "debuild/" +mv "$srctgz" "$srcdir/" "debuild/" sudo apt install devscripts build-essential dh-exec -# --lintian-opts --profile debian: build Debian packages on Ubuntu +# --lintian-opts --profile are for building Debian packages on Ubuntu +cd "debuild/$srcdir/debian" debuild -uc -us --lintian-opts --profile debian cd - -# clean build directory -mv "build/$package_name" "./" -rm -rf "build" - # clean up from possible previous runs -if [ -f "../server/build/$package_name" ]; then - rm "../server/build/$package_name" +if [ -f "../server/build/$Deb" ]; then + rm "../server/build/$Deb" fi -mv "$package_name" "../server/build/" +mv "debuild/$deb" "../server/build/$Deb" +rm -rf "debuild/" diff --git a/scripts/resources/debian/changelog b/scripts/resources/debian/changelog index 5cb4771d..49cc4983 100644 --- a/scripts/resources/debian/changelog +++ b/scripts/resources/debian/changelog @@ -1,4 +1,4 @@ -tachidesk (${version}-1) unstable; urgency=medium +tachidesk-server (${pkgver}-${pkgrel}) unstable; urgency=medium * See CHANGELOG.md on https://github.com/Suwayomi/Tachidesk-Server diff --git a/scripts/resources/debian/control b/scripts/resources/debian/control index b58b4a87..6aba0c91 100755 --- a/scripts/resources/debian/control +++ b/scripts/resources/debian/control @@ -1,4 +1,4 @@ -Source: tachidesk +Source: tachidesk-server Section: web Priority: optional Maintainer: Mahor Foruzesh @@ -6,7 +6,7 @@ Build-Depends: debhelper-compat (= 12), dh-exec Standards-Version: 4.5.1 Homepage: https://github.com/Suwayomi/Tachidesk-Server -Package: tachidesk +Package: tachidesk-server Architecture: all Depends: ${misc:Depends}, default-jre-headless (>= 8) Description: Manga Reader diff --git a/scripts/resources/debian/copyright b/scripts/resources/debian/copyright index 47ca60c7..a815a450 100755 --- a/scripts/resources/debian/copyright +++ b/scripts/resources/debian/copyright @@ -1,5 +1,5 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: tachidesk +Upstream-Name: tachidesk-server Upstream-Contact: https://discord.gg/DDZdqZWaHA Source: https://github.com/Suwayomi/Tachidesk-Server diff --git a/scripts/resources/debian/install b/scripts/resources/debian/install index df98c813..bf3c8921 100755 --- a/scripts/resources/debian/install +++ b/scripts/resources/debian/install @@ -1,9 +1,8 @@ #!/usr/bin/dh-exec -debian/tachidesk-browser-launcher-standalone.sh => usr/bin/tachidesk -debian/tachidesk-browser-launcher-standalone.sh => usr/bin/tachidesk-browser -debian/tachidesk-debug-launcher-standalone.sh => usr/bin/tachidesk-debug -debian/tachidesk-electron-launcher-standalone.sh => usr/bin/tachidesk-electron -Tachidesk.jar => usr/share/java/tachidesk/tachidesk.jar -debian/tachidesk.png usr/share/pixmaps/ -debian/tachidesk.desktop usr/share/applications/ +tachidesk-server-browser-launcher.sh => usr/bin/tachidesk-server-browser +tachidesk-server-debug-launcher.sh => usr/bin/tachidesk-server-debug +tachidesk-server-electron-launcher.sh => usr/bin/tachidesk-server-electron +tachidesk-server.jar usr/share/java/tachidesk-server/ +tachidesk-server.png usr/share/pixmaps/ +tachidesk-server.desktop usr/share/applications/ diff --git a/scripts/resources/debian/source/include-binaries b/scripts/resources/debian/source/include-binaries index aad01de4..405559a7 100755 --- a/scripts/resources/debian/source/include-binaries +++ b/scripts/resources/debian/source/include-binaries @@ -1 +1 @@ -debian/tachidesk.png +tachidesk-server.png diff --git a/scripts/resources/tachidesk-browser-launcher-standalone.sh b/scripts/resources/tachidesk-browser-launcher-standalone.sh deleted file mode 100755 index aa0b8459..00000000 --- a/scripts/resources/tachidesk-browser-launcher-standalone.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -exec /usr/bin/java -jar /usr/share/java/tachidesk/tachidesk.jar diff --git a/scripts/resources/tachidesk-browser-launcher.sh b/scripts/resources/tachidesk-browser-launcher.sh deleted file mode 100755 index dd6bf7a7..00000000 --- a/scripts/resources/tachidesk-browser-launcher.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -./jre/bin/java -jar Tachidesk.jar \ No newline at end of file diff --git a/scripts/resources/tachidesk-debug-launcher.sh b/scripts/resources/tachidesk-debug-launcher.sh deleted file mode 100755 index 9d16982f..00000000 --- a/scripts/resources/tachidesk-debug-launcher.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -./jre/bin/java -Dsuwayomi.tachidesk.config.server.debugLogsEnabled=true -jar Tachidesk.jar diff --git a/scripts/resources/tachidesk-electron-launcher.sh b/scripts/resources/tachidesk-electron-launcher.sh deleted file mode 100755 index d1eaabc1..00000000 --- a/scripts/resources/tachidesk-electron-launcher.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -./jre/bin/java "-Dsuwayomi.tachidesk.config.server.webUIInterface=electron" "-Dsuwayomi.tachidesk.config.server.electronPath=electron/electron" -jar Tachidesk.jar \ No newline at end of file diff --git a/scripts/resources/tachidesk-server-browser-launcher.sh b/scripts/resources/tachidesk-server-browser-launcher.sh new file mode 100644 index 00000000..16d63960 --- /dev/null +++ b/scripts/resources/tachidesk-server-browser-launcher.sh @@ -0,0 +1,2 @@ +#!/bin/sh +exec /usr/bin/java -jar /usr/share/java/tachidesk-server/tachidesk-server.jar diff --git a/scripts/resources/tachidesk-debug-launcher-standalone.sh b/scripts/resources/tachidesk-server-debug-launcher.sh old mode 100755 new mode 100644 similarity index 51% rename from scripts/resources/tachidesk-debug-launcher-standalone.sh rename to scripts/resources/tachidesk-server-debug-launcher.sh index 46f67ab6..dabd62a0 --- a/scripts/resources/tachidesk-debug-launcher-standalone.sh +++ b/scripts/resources/tachidesk-server-debug-launcher.sh @@ -1,2 +1,2 @@ #!/bin/sh -exec /usr/bin/java -Dsuwayomi.tachidesk.config.server.debugLogsEnabled=true -jar /usr/share/java/tachidesk/tachidesk.jar +exec /usr/bin/java -Dsuwayomi.tachidesk.config.server.debugLogsEnabled=true -jar /usr/share/java/tachidesk-server/tachidesk-server.jar diff --git a/scripts/resources/tachidesk-electron-launcher-standalone.sh b/scripts/resources/tachidesk-server-electron-launcher-debian.sh old mode 100755 new mode 100644 similarity index 65% rename from scripts/resources/tachidesk-electron-launcher-standalone.sh rename to scripts/resources/tachidesk-server-electron-launcher-debian.sh index 3d46615f..c221da9c --- a/scripts/resources/tachidesk-electron-launcher-standalone.sh +++ b/scripts/resources/tachidesk-server-electron-launcher-debian.sh @@ -1,14 +1,12 @@ #!/bin/sh - if [ ! -f /usr/bin/electron ]; then - echo "Electron executable was not found! + echo "Electron executable was not found In order to run this launcher, you need Electron installed. You can install it with these commands: sudo apt install npm -sudo npm install electron -g -" - exit 1 +sudo npm install electron -g" + exit 1 fi -exec /usr/bin/java -Dsuwayomi.tachidesk.config.server.webUIInterface=electron -Dsuwayomi.tachidesk.config.server.electronPath=/usr/bin/electron -jar /usr/share/java/tachidesk/tachidesk.jar +exec /usr/bin/java -Dsuwayomi.tachidesk.config.server.webUIInterface=electron -Dsuwayomi.tachidesk.config.server.electronPath=/usr/bin/electron -jar /usr/share/java/tachidesk-server/tachidesk-server.jar diff --git a/scripts/resources/tachidesk-server-electron-launcher.sh b/scripts/resources/tachidesk-server-electron-launcher.sh new file mode 100644 index 00000000..8812f5c7 --- /dev/null +++ b/scripts/resources/tachidesk-server-electron-launcher.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/bin/java -Dsuwayomi.tachidesk.config.server.webUIInterface=electron -Dsuwayomi.tachidesk.config.server.electronPath=/usr/bin/electron -jar /usr/share/java/tachidesk-server/tachidesk-server.jar diff --git a/scripts/resources/tachidesk-server.desktop b/scripts/resources/tachidesk-server.desktop new file mode 100644 index 00000000..deb7e66e --- /dev/null +++ b/scripts/resources/tachidesk-server.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Type=Application +Name=Tachidesk-Server +Comment=Manga Reader +Exec=/usr/bin/java -jar /usr/share/java/tachidesk-server/tachidesk-server.jar "\\$@" +Icon=tachidesk-server +Terminal=false +Categories=Network; diff --git a/scripts/resources/tachidesk.desktop b/scripts/resources/tachidesk.desktop deleted file mode 100755 index 3e16a4a6..00000000 --- a/scripts/resources/tachidesk.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Type=Application -Name=Tachidesk -Comment=Manga Reader -Exec=/usr/bin/java -jar /usr/share/java/tachidesk/tachidesk.jar "\\$@" -Icon=tachidesk -Terminal=false -Categories=Network; \ No newline at end of file diff --git a/scripts/unix-bundler.sh b/scripts/unix-bundler.sh index 1d6a8008..d92217c6 100755 --- a/scripts/unix-bundler.sh +++ b/scripts/unix-bundler.sh @@ -57,11 +57,11 @@ fi unzip $electron -d $release_name/electron # copy artifacts -cp $jar $release_name/Tachidesk.jar +cp $jar $release_name/Tachidesk-Server.jar if [ $os = linux ]; then - cp "resources/tachidesk-browser-launcher.sh" $release_name - cp "resources/tachidesk-debug-launcher.sh" $release_name - cp "resources/tachidesk-electron-launcher.sh" $release_name + cp "resources/tachidesk-server-browser-launcher.sh" $release_name + cp "resources/tachidesk-server-debug-launcher.sh" $release_name + cp "resources/tachidesk-server-electron-launcher.sh" $release_name elif [ $os = macOS ]; then cp "resources/Tachidesk Browser Launcher.command" $release_name cp "resources/Tachidesk Debug Launcher.command" $release_name