From 370f32ac060208485f1ffbbb644fac1639a06eb819246a91ea0f9fd246718766 Mon Sep 17 00:00:00 2001 From: reclusejay Date: Wed, 29 Oct 2025 21:17:31 +0000 Subject: [PATCH] Install script --- install | 221 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 install diff --git a/install b/install new file mode 100644 index 0000000..84045eb --- /dev/null +++ b/install @@ -0,0 +1,221 @@ +#!/bin/bash +set -e + +# --- Setup --- +BASEDIR="$(cd "$(dirname "$0")" && pwd)" +SRCDIR="$BASEDIR/.src" +SCRIPTDIR="$SRCDIR/scripts" +BACKUPDIR="/tmp/shutterlinksort-backup" + +# --- Functions --- +usage() { + cat </dev/null || true + backup_if_exists "$target" + if [ "$DRYRUN" = true ]; then + echo " [DRY-RUN] Would install $srcfile → $target" + else + install -m 755 "$srcfile" "$target" + fi + done + + # Install web content + echo + echo "=== Installing web content ===" + if [ "$DRYRUN" = true ]; then + echo " [DRY-RUN] Would create $WEBROOT" + else + mkdir -p "$WEBROOT" + fi + + if [ -d "$WEBROOT" ]; then + if [ "$DRYRUN" = true ]; then + echo " [DRY-RUN] Would back up existing web content to $BACKUPDIR/$(basename "$WEBROOT")" + else + cp -a "$WEBROOT" "$BACKUPDIR/" + fi + fi + + if [ "$DRYRUN" = true ]; then + echo " [DRY-RUN] Would copy $SRCDIR/web/ → $WEBROOT" + else + cp -r "$SRCDIR/web/"* "$WEBROOT/" + fi + + echo + echo "Web content installed to: $WEBROOT" + echo "All backups stored in: $BACKUPDIR" + echo "Installation complete ✅" + echo "To rollback, run: sudo $0 --rollback" + echo "To uninstall, run: sudo $0 --uninstall" + ;; +esac