Automated debian package building (#287)

* Automate debian package building

Move wxs files to scripts/resources/msi/
Define icon's path inside script instead of hardcoding it in wxs

* Revert back Windows script improvments

* Remove copyright year. Use uppercase for first letter of foruzesh

* Seperate deb from tar code with defining new debian-x64 arch

* Add ./unix-bundler.sh debian-x64

* Fix mistake

* Remove unneeded change of license
This commit is contained in:
Mahor
2022-01-16 08:27:59 +03:30
committed by GitHub
parent df7938037e
commit 8d48e56fa0
11 changed files with 464 additions and 9 deletions

View File

@@ -1,4 +1,4 @@
#/bin/bash
#!/bin/bash
# Copyright (C) Contributors to the Suwayomi project
#
@@ -8,7 +8,7 @@
electron_version="v14.0.0"
if [ $1 = "linux-x64" ]; then
if [ $1 = "linux-x64" ] || [ $1 = "debian-x64" ]; then
jre="OpenJDK8U-jre_x64_linux_hotspot_8u302b08.tar.gz"
jre_release="jdk8u302-b08"
jre_url="https://github.com/adoptium/temurin8-binaries/releases/download/$jre_release/$jre"
@@ -40,11 +40,9 @@ jar=$(ls ../server/build/*.jar | tail -n1)
jar_name=$(echo $jar | cut -d'/' -f4)
release_name=$(echo $jar_name | sed 's/.jar//')-$arch
# make release dir
mkdir $release_name
echo "Dealing with jre..."
if [ ! -f $jre ]; then
curl -L $jre_url -o $jre
@@ -60,7 +58,7 @@ unzip $electron -d $release_name/electron
# copy artifacts
cp $jar $release_name/Tachidesk.jar
if [ $os = linux ]; then
if [ $os = linux ] || [ $os = debian ]; 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
@@ -77,6 +75,34 @@ if [ $os = linux ]; then
elif [ $os = macOS ]; then
archive_name=$release_name.zip
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
rm -rf $release_name