mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-30 18:12:25 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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 node16-linux-x64 -o dist/debian/usr/share/audiobookshelf/audiobookshelf .
 | |
| 
 | |
| fakeroot dpkg-deb --build dist/debian
 | |
| 
 | |
| mv dist/debian.deb "dist/$OUTPUT_FILE"
 | |
| chmod +x "dist/$OUTPUT_FILE"
 | |
| 
 | |
| echo "Finished! Filename: $OUTPUT_FILE"
 |