/ install.sh
install.sh
1 #!/bin/bash 2 3 # ================================================ # 4 # This program is part of 5 # Paul's Preponderating Prepresser v1.1 6 # (CC-BY-SA 4.0) 2025 e.v. by 7 # The Rev. Paul T. Fusco-Gessick, J.D., SDA 8 # <<paul@neroots.net>> 9 10 # I.F.E.T. -- I.V.V.S. 11 # ================================================ # 12 13 set -e 14 15 OS="$(uname -s)" 16 17 echo "======================================================" 18 echo " Paul's Preponderating Prepresser v1.1 -- Installer" 19 echo "======================================================" 20 echo "" 21 22 install_macos() { 23 echo "Detected: macOS" 24 echo "" 25 26 # Check for Homebrew 27 if ! command -v brew &>/dev/null; then 28 echo "Homebrew not found. Installing Homebrew..." 29 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 30 else 31 echo "Homebrew: OK" 32 fi 33 34 echo "" 35 echo "Installing system dependencies via Homebrew..." 36 brew install pdftk-java # pdftk 37 brew install poppler # pdftops 38 brew install psutils # psbook, pstops 39 brew install ghostscript # gs, ps2pdf 40 brew install cowsay 41 } 42 43 install_linux() { 44 echo "Detected: Linux" 45 echo "" 46 echo "Installing system dependencies via apt..." 47 sudo apt-get update 48 sudo apt-get install -y \ 49 pdftk \ 50 poppler-utils \ 51 psutils \ 52 ghostscript \ 53 cowsay \ 54 python3-venv 55 } 56 57 case "$OS" in 58 Darwin) 59 install_macos 60 ;; 61 Linux) 62 install_linux 63 ;; 64 *) 65 echo "ERROR: Unsupported operating system: $OS" 66 echo "Please install the following tools manually:" 67 echo " pdftk, pdftops (poppler), psbook/pstops (psutils), ghostscript, cowsay" 68 exit 1 69 ;; 70 esac 71 72 echo "" 73 echo "Installing pipx (if needed)..." 74 if ! command -v pipx &>/dev/null; then 75 if [ "$OS" = "Darwin" ]; then 76 brew install pipx 77 else 78 sudo apt-get install -y pipx 79 fi 80 pipx ensurepath 81 fi 82 83 echo "" 84 echo "Installing PPP via pipx..." 85 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 86 pipx install "$SCRIPT_DIR" --force 87 88 echo "" 89 echo "======================================================" 90 echo " Installation complete!" 91 echo "" 92 echo " Commands available system-wide:" 93 echo " ppp - Main workflow orchestrator" 94 echo " printydump - Manual signature splitter" 95 echo " ppp-pad - PDF padding utility" 96 echo " pdfmerge - PDF merger" 97 echo " singledingle - 2-up imposition" 98 echo " flippar - Page flip fixer" 99 echo " fppp - Batch singledingle" 100 echo " pppf - Batch flippar" 101 echo " impose-4up - 4-up imposition" 102 echo " isbnner - Calibre ISBN setter" 103 echo "" 104 echo " Run 'ppp' to start the workflow." 105 echo "======================================================"