#!/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) )" OUTPUT_FILE="audiobookshelf_${VERSION}_amd64.deb" 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 mkdir -p dist rm -rf dist/debian cp -R build/debian dist/debian chmod -R 775 dist/debian controlfile="Package: audiobookshelf Version: $VERSION Section: base Priority: optional Architecture: amd64 Depends: Maintainer: advplyr Description: $DESCRIPTION" echo "$controlfile" > dist/debian/DEBIAN/control; # Package debian pkg -t node20-linux-x64 -o dist/debian/usr/share/audiobookshelf/audiobookshelf . fakeroot dpkg-deb -Zxz --build dist/debian mv dist/debian.deb "dist/$OUTPUT_FILE" echo "Finished! Filename: $OUTPUT_FILE"