audiobookshelf/build/linuxpackager

59 lines
1.2 KiB
Plaintext
Raw Normal View History

2021-09-25 21:02:50 +02:00
#!/bin/bash
set -e
set -o pipefail
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
cd "$SCRIPT_DIR/.."
# Get package version without double quotes
VERSION="$( eval echo $( jq '.version' package.json) )"
DESCRIPTION="$( eval echo $( jq '.description' package.json) )"
2021-09-25 21:14:22 +02:00
OUTPUT_FILE="audiobookshelf_${VERSION}_amd64.deb"
2021-09-25 21:02:50 +02:00
echo ">>> Building Client"
echo "--------------------"
cd client
rm -rf node_modules
npm ci --unsafe-perm=true --allow-root
npm run generate
cd ..
echo ">>> Building Server"
echo "--------------------"
rm -rf node_modules
npm ci --unsafe-perm=true --allow-root
echo ">>> Packaging"
echo "--------------------"
# Create debian control file
2021-09-26 00:10:02 +02:00
mkdir -p dist
rm -rf dist/debian
2021-09-26 00:10:02 +02:00
cp -R build/debian dist/debian
2021-09-26 00:14:06 +02:00
chmod -R 775 dist/debian
2021-09-26 00:10:02 +02:00
controlfile="Package: audiobookshelf
Version: $VERSION
Section: base
Priority: optional
Architecture: amd64
Depends:
Maintainer: advplyr
Description: $DESCRIPTION"
2021-09-26 00:14:06 +02:00
echo "$controlfile" > dist/debian/DEBIAN/control;
# Package debian
2022-05-03 23:30:49 +02:00
pkg -t node16-linux-x64 -o dist/debian/usr/share/audiobookshelf/audiobookshelf .
2021-09-25 21:02:50 +02:00
2021-09-25 23:34:36 +02:00
fakeroot dpkg-deb --build dist/debian
mv dist/debian.deb "dist/$OUTPUT_FILE"
chmod +x "dist/$OUTPUT_FILE"
2021-09-25 21:02:50 +02:00
echo "Finished! Filename: $OUTPUT_FILE"