mirror of
https://github.com/Suwayomi/Tachidesk.git
synced 2025-12-15 09:12:09 +01:00
fix Debian package errors (#288)
* Fix lintian errors Fix lintian errors Short description in debian/changelog to hide lintian changelog warnings Use launcher scripts that run java and electron from /usr/bin * Update changelog version * Rename laucnher scripts. Put electron installaion guide in electron-launcher-standalone.sh * Seperate debian packager codes from unix-bundler.sh * chmod +x debian-packager.sh * Fix mistakes * Fix mistakes * Add missing '!' to shebang * Change faviconlogo.png to tachidesk.png * Change faviconlogo.png to tachidesk.png
This commit is contained in:
2
.github/workflows/build_push.yml
vendored
2
.github/workflows/build_push.yml
vendored
@@ -73,7 +73,7 @@ jobs:
|
|||||||
./windows-bundler.sh win32
|
./windows-bundler.sh win32
|
||||||
./windows-bundler.sh win64
|
./windows-bundler.sh win64
|
||||||
./unix-bundler.sh linux-x64
|
./unix-bundler.sh linux-x64
|
||||||
./unix-bundler.sh debian-x64
|
./debian-packager.sh
|
||||||
./unix-bundler.sh macOS-x64
|
./unix-bundler.sh macOS-x64
|
||||||
./unix-bundler.sh macOS-arm64
|
./unix-bundler.sh macOS-arm64
|
||||||
|
|
||||||
|
|||||||
2
.github/workflows/publish.yml
vendored
2
.github/workflows/publish.yml
vendored
@@ -64,7 +64,7 @@ jobs:
|
|||||||
./windows-bundler.sh win32
|
./windows-bundler.sh win32
|
||||||
./windows-bundler.sh win64
|
./windows-bundler.sh win64
|
||||||
./unix-bundler.sh linux-x64
|
./unix-bundler.sh linux-x64
|
||||||
./unix-bundler.sh debian-x64
|
./debian-packager.sh
|
||||||
./unix-bundler.sh macOS-x64
|
./unix-bundler.sh macOS-x64
|
||||||
./unix-bundler.sh macOS-arm64
|
./unix-bundler.sh macOS-arm64
|
||||||
|
|
||||||
|
|||||||
48
scripts/debian-packager.sh
Executable file
48
scripts/debian-packager.sh
Executable file
@@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Copyright (C) Contributors to the Suwayomi project
|
||||||
|
#
|
||||||
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
# 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"
|
||||||
|
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"
|
||||||
|
sudo apt install devscripts build-essential dh-exec
|
||||||
|
# --lintian-opts --profile debian: build Debian packages on Ubuntu
|
||||||
|
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"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mv "$package_name" "../server/build/"
|
||||||
@@ -1,2 +1,5 @@
|
|||||||
tachidesk (${version}-1) unstable; urgency=medium
|
tachidesk (${version}-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* See CHANGELOG.md on https://github.com/Suwayomi/Tachidesk-Server
|
||||||
|
|
||||||
-- Mahor Foruzesh <mahorforuzesh@pm.me> Fri, 14 Jan 2022 00:00:00 +0000
|
-- Mahor Foruzesh <mahorforuzesh@pm.me> Fri, 14 Jan 2022 00:00:00 +0000
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ Standards-Version: 4.5.1
|
|||||||
Homepage: https://github.com/Suwayomi/Tachidesk-Server
|
Homepage: https://github.com/Suwayomi/Tachidesk-Server
|
||||||
|
|
||||||
Package: tachidesk
|
Package: tachidesk
|
||||||
Architecture: amd64
|
Architecture: all
|
||||||
Depends: ${misc:Depends}, default-jre-headless (>= 8)
|
Depends: ${misc:Depends}, default-jre-headless (>= 8)
|
||||||
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.
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#!/usr/bin/dh-exec
|
#!/usr/bin/dh-exec
|
||||||
|
|
||||||
debian/tachidesk.png usr/share/pixmaps/
|
debian/tachidesk-browser-launcher-standalone.sh => usr/bin/tachidesk
|
||||||
debian/tachidesk.desktop usr/share/applications/
|
debian/tachidesk-browser-launcher-standalone.sh => usr/bin/tachidesk-browser
|
||||||
tachidesk-browser-launcher.sh => usr/bin/tachidesk
|
debian/tachidesk-debug-launcher-standalone.sh => usr/bin/tachidesk-debug
|
||||||
tachidesk-browser-launcher.sh => usr/bin/tachidesk-browser
|
debian/tachidesk-electron-launcher-standalone.sh => usr/bin/tachidesk-electron
|
||||||
tachidesk-debug-launcher.sh => usr/bin/tachidesk-debug
|
|
||||||
tachidesk-electron-launcher.sh => usr/bin/tachidesk-electron
|
|
||||||
Tachidesk.jar => usr/share/java/tachidesk/tachidesk.jar
|
Tachidesk.jar => usr/share/java/tachidesk/tachidesk.jar
|
||||||
|
debian/tachidesk.png usr/share/pixmaps/
|
||||||
|
debian/tachidesk.desktop usr/share/applications/
|
||||||
|
|||||||
2
scripts/resources/tachidesk-browser-launcher-standalone.sh
Executable file
2
scripts/resources/tachidesk-browser-launcher-standalone.sh
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
exec /usr/bin/java -jar /usr/share/java/tachidesk/tachidesk.jar
|
||||||
2
scripts/resources/tachidesk-debug-launcher-standalone.sh
Executable file
2
scripts/resources/tachidesk-debug-launcher-standalone.sh
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
exec /usr/bin/java -Dsuwayomi.tachidesk.config.server.debugLogsEnabled=true -jar /usr/share/java/tachidesk/tachidesk.jar
|
||||||
14
scripts/resources/tachidesk-electron-launcher-standalone.sh
Executable file
14
scripts/resources/tachidesk-electron-launcher-standalone.sh
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/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
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
electron_version="v14.0.0"
|
electron_version="v14.0.0"
|
||||||
|
|
||||||
if [ $1 = "linux-x64" ] || [ $1 = "debian-x64" ]; then
|
if [ $1 = "linux-x64" ]; then
|
||||||
jre="OpenJDK8U-jre_x64_linux_hotspot_8u302b08.tar.gz"
|
jre="OpenJDK8U-jre_x64_linux_hotspot_8u302b08.tar.gz"
|
||||||
jre_release="jdk8u302-b08"
|
jre_release="jdk8u302-b08"
|
||||||
jre_url="https://github.com/adoptium/temurin8-binaries/releases/download/$jre_release/$jre"
|
jre_url="https://github.com/adoptium/temurin8-binaries/releases/download/$jre_release/$jre"
|
||||||
@@ -58,7 +58,7 @@ unzip $electron -d $release_name/electron
|
|||||||
|
|
||||||
# copy artifacts
|
# copy artifacts
|
||||||
cp $jar $release_name/Tachidesk.jar
|
cp $jar $release_name/Tachidesk.jar
|
||||||
if [ $os = linux ] || [ $os = debian ]; then
|
if [ $os = linux ]; then
|
||||||
cp "resources/tachidesk-browser-launcher.sh" $release_name
|
cp "resources/tachidesk-browser-launcher.sh" $release_name
|
||||||
cp "resources/tachidesk-debug-launcher.sh" $release_name
|
cp "resources/tachidesk-debug-launcher.sh" $release_name
|
||||||
cp "resources/tachidesk-electron-launcher.sh" $release_name
|
cp "resources/tachidesk-electron-launcher.sh" $release_name
|
||||||
@@ -75,34 +75,6 @@ if [ $os = linux ]; then
|
|||||||
elif [ $os = macOS ]; then
|
elif [ $os = macOS ]; then
|
||||||
archive_name=$release_name.zip
|
archive_name=$release_name.zip
|
||||||
zip -9 -r $archive_name $release_name
|
zip -9 -r $archive_name $release_name
|
||||||
elif [ $os = debian ]; then
|
|
||||||
release_ver=$(tmp="${jar%-*}" && echo "${tmp##*-}" | tr -d v)
|
|
||||||
archive_name="tachidesk_$release_ver-1_amd64.deb"
|
|
||||||
orig_dir="tachidesk-$release_ver" # dir uses hyphen "-"
|
|
||||||
orig_tar_gz="tachidesk_$release_ver.orig.tar.gz" # orig file uses underscore "_"
|
|
||||||
icon="../server/src/main/resources/icon/faviconlogo.png"
|
|
||||||
|
|
||||||
# prepare required resources
|
|
||||||
mv "$release_name" "$orig_dir"
|
|
||||||
tar cvzf $orig_tar_gz $orig_dir
|
|
||||||
|
|
||||||
cp -r "resources/debian" "$orig_dir/"
|
|
||||||
cp "resources/tachidesk.desktop" "$orig_dir/debian/tachidesk.desktop"
|
|
||||||
cp "$icon" "$orig_dir/debian/tachidesk.png"
|
|
||||||
sed -i "s/\${version}/$release_ver/" "$orig_dir/debian/changelog"
|
|
||||||
|
|
||||||
# build deb package
|
|
||||||
mkdir -p "build"
|
|
||||||
mv $orig_dir $orig_tar_gz "build/"
|
|
||||||
cd "build/$orig_dir/debian"
|
|
||||||
sudo apt install devscripts build-essential dh-exec
|
|
||||||
debuild -uc -us
|
|
||||||
cd -
|
|
||||||
|
|
||||||
# clean up debuild outouts
|
|
||||||
mv "build/$archive_name" "./"
|
|
||||||
mv "build/$orig_dir" $release_name
|
|
||||||
rm -rf "build"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -rf $release_name
|
rm -rf $release_name
|
||||||
|
|||||||
Reference in New Issue
Block a user