From c404a54a5c853d650cd92b0d029fe4ea4faa8840 Mon Sep 17 00:00:00 2001 From: Mahor Foruzesh Date: Sat, 22 Jan 2022 10:05:29 +0330 Subject: [PATCH 1/3] Improve windows-bundler.sh --- .../msi/tachidesk-server-x64.wxs} | 2 +- .../msi/tachidesk-server-x86.wxs} | 2 +- scripts/windows-bundler.sh | 14 ++++++++------ 3 files changed, 10 insertions(+), 8 deletions(-) rename scripts/{Tachidesk-Server-x64.wxs => resources/msi/tachidesk-server-x64.wxs} (97%) rename scripts/{Tachidesk-Server-x86.wxs => resources/msi/tachidesk-server-x86.wxs} (97%) diff --git a/scripts/Tachidesk-Server-x64.wxs b/scripts/resources/msi/tachidesk-server-x64.wxs similarity index 97% rename from scripts/Tachidesk-Server-x64.wxs rename to scripts/resources/msi/tachidesk-server-x64.wxs index e3dd34df7d..36f160801f 100755 --- a/scripts/Tachidesk-Server-x64.wxs +++ b/scripts/resources/msi/tachidesk-server-x64.wxs @@ -80,7 +80,7 @@ - + diff --git a/scripts/Tachidesk-Server-x86.wxs b/scripts/resources/msi/tachidesk-server-x86.wxs similarity index 97% rename from scripts/Tachidesk-Server-x86.wxs rename to scripts/resources/msi/tachidesk-server-x86.wxs index a0aa42068a..0d736fe864 100755 --- a/scripts/Tachidesk-Server-x86.wxs +++ b/scripts/resources/msi/tachidesk-server-x86.wxs @@ -76,7 +76,7 @@ - + diff --git a/scripts/windows-bundler.sh b/scripts/windows-bundler.sh index 65939fa7eb..ba46fe99c2 100755 --- a/scripts/windows-bundler.sh +++ b/scripts/windows-bundler.sh @@ -29,12 +29,10 @@ echo "creating windows bundle" jar=$(ls ../server/build/*.jar | tail -n1) jar_name=$(echo $jar | cut -d'/' -f4) release_name=$(echo $jar_name | sed 's/.jar//')-$arch -release_ver=$(tmp=${jar%-*} && echo ${tmp##*-} | tr -d v) # make release dir mkdir $release_name - echo "Dealing with jre..." if [ ! -f $jre ]; then curl -L $jre_url -o $jre @@ -79,13 +77,17 @@ zip -9 -r $zip_name $release_name # create msi package msi_name=$release_name.msi +release_ver=$(tmp=${jar%-*} && echo ${tmp##*-} | tr -d v) +icon="../server/src/main/resources/icon/faviconlogo.ico" -find $release_name/jre | wixl-heat --var var.SourceDir -p $release_name/ --directory-ref jre --component-group jre > jre.wxs -find $release_name/electron | wixl-heat --var var.SourceDir -p $release_name/ --directory-ref electron --component-group electron > electron.wxs +find $release_name/jre | wixl-heat --var var.SourceDir -p $release_name/ --directory-ref jre --component-group jre >jre.wxs +find $release_name/electron | wixl-heat --var var.SourceDir -p $release_name/ --directory-ref electron --component-group electron >electron.wxs if [ $arch = "win32" ]; then - wixl -D ProductVersion=$release_ver -D SourceDir=$release_name --arch x86 Tachidesk-Server-x86.wxs jre.wxs electron.wxs -o $msi_name + wixl -D ProductVersion=$release_ver -D SourceDir=$release_name -D Icon=$icon \ + --arch x86 resources/msi/tachidesk-server-x86.wxs jre.wxs electron.wxs -o $msi_name else - wixl -D ProductVersion=$release_ver -D SourceDir=$release_name --arch x64 Tachidesk-Server-x64.wxs jre.wxs electron.wxs -o $msi_name + wixl -D ProductVersion=$release_ver -D SourceDir=$release_name -D Icon=$icon \ + --arch x64 resources/msi/tachidesk-server-x64.wxs jre.wxs electron.wxs -o $msi_name fi rm -rf $release_name From f5b5f212b011b288a6ff17aa0063015b7e038777 Mon Sep 17 00:00:00 2001 From: Mahor Foruzesh Date: Thu, 3 Mar 2022 10:35:23 +0330 Subject: [PATCH 2/3] Overhaul debian-packager.sh. Rename base package name to tachidesk-server --- scripts/debian-packager.sh | 79 +++++++++++-------- 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 - .../tachidesk-electron-launcher-standalone.sh | 14 ---- .../resources/tachidesk-electron-launcher.sh | 3 - .../tachidesk-server-browser-launcher.sh | 2 + ....sh => tachidesk-server-debug-launcher.sh} | 2 +- .../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, 76 insertions(+), 82 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-standalone.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 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 76541e9417..8f111a724a 100755 --- a/scripts/debian-packager.sh +++ b/scripts/debian-packager.sh @@ -6,43 +6,58 @@ # 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" - -# 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" - -# prepare -tar cvzf "$orig_tar_gz" "$orig_dir/Tachidesk.jar" -sed -i "s/\${version}/$release_ver/" "$orig_dir/debian/changelog" - -# build -mkdir "build" -mv $orig_dir $orig_tar_gz "build/" -cd "build/$orig_dir/debian" +pkgver="$(tmp="${jar%-*}" && echo "${tmp##*-}" | tr -d v)" +pkgrel=1 + +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 +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.sh" "$srcdir/" +cp "resources/$pkgname.desktop" "$srcdir/" +cp "../server/src/main/resources/icon/faviconlogo.png" "$srcdir/$pkgname.png" + +sed -i "1 i \n\ +if [ ! -f /usr/bin/electron ]; then\n\ + echo 'Electron executable was not found\n\ +In order to run this launcher, you need Electron installed.\n\ +\n\ +You can install it with these commands:\n\ +sudo apt install npm\n\ +sudo npm install electron -g'\n\ + exit 1\n\ +fi\n\ +" "$srcdir/$pkgname-electron-launcher.sh" + +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 5cb4771d2a..49cc4983c6 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 b58b4a8755..6aba0c91ec 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 47ca60c7f9..a815a45081 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 df98c813a0..bf3c892126 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 aad01de498..405559a768 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 aa0b845943..0000000000 --- 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 dd6bf7a7c7..0000000000 --- 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 9d16982f09..0000000000 --- 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-standalone.sh b/scripts/resources/tachidesk-electron-launcher-standalone.sh deleted file mode 100755 index 3d46615fe9..0000000000 --- a/scripts/resources/tachidesk-electron-launcher-standalone.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -if [ ! -f /usr/bin/electron ]; then - 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 -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 diff --git a/scripts/resources/tachidesk-electron-launcher.sh b/scripts/resources/tachidesk-electron-launcher.sh deleted file mode 100755 index d1eaabc17b..0000000000 --- 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 0000000000..16d63960ff --- /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 46f67ab628..dabd62a0ca --- 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-server-electron-launcher.sh b/scripts/resources/tachidesk-server-electron-launcher.sh new file mode 100644 index 0000000000..8812f5c75e --- /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 0000000000..deb7e66e68 --- /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 3e16a4a6e7..0000000000 --- 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 1d6a800884..d92217c69a 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 From 0ab47b5497331e84028dc29c7eb3f75860f5513b Mon Sep 17 00:00:00 2001 From: Mahor Foruzesh Date: Thu, 3 Mar 2022 12:42:51 +0330 Subject: [PATCH 3/3] Add -electron-launcher-debian.sh --- scripts/debian-packager.sh | 14 +------------- .../tachidesk-server-electron-launcher-debian.sh | 12 ++++++++++++ 2 files changed, 13 insertions(+), 13 deletions(-) create mode 100644 scripts/resources/tachidesk-server-electron-launcher-debian.sh diff --git a/scripts/debian-packager.sh b/scripts/debian-packager.sh index 8f111a724a..ca82de652f 100755 --- a/scripts/debian-packager.sh +++ b/scripts/debian-packager.sh @@ -23,22 +23,10 @@ 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.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" -sed -i "1 i \n\ -if [ ! -f /usr/bin/electron ]; then\n\ - echo 'Electron executable was not found\n\ -In order to run this launcher, you need Electron installed.\n\ -\n\ -You can install it with these commands:\n\ -sudo apt install npm\n\ -sudo npm install electron -g'\n\ - exit 1\n\ -fi\n\ -" "$srcdir/$pkgname-electron-launcher.sh" - GZIP=-9 tar -cvzf "$srctgz" "$srcdir/" cp -r "resources/debian" "$srcdir/" diff --git a/scripts/resources/tachidesk-server-electron-launcher-debian.sh b/scripts/resources/tachidesk-server-electron-launcher-debian.sh new file mode 100644 index 0000000000..c221da9c85 --- /dev/null +++ b/scripts/resources/tachidesk-server-electron-launcher-debian.sh @@ -0,0 +1,12 @@ +#!/bin/sh +if [ ! -f /usr/bin/electron ]; then + 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 +fi + +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