Files
shell_sequencer/install.sh

67 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
# shellcheck disable=SC1090 # dynamically sourced file
sequencer_gitUrl="https://winklerfamilie.eu/git/efelon/shell_sequencer.git"
defaultDir="/opt/sequencer"
defaultUserSeqs="/opt/seqs"
sequencerDir=
# Get script working directory
WDIR="$(cd "$(dirname -- "${BASH_SOURCE[0]}")" >>/dev/null 2>&1 && pwd)"
sequencerDir="${1:-}"
# Installation directory was not set by argument -d
if [ -z "${sequencerDir}" ]; then
[ -w "$(dirname -- "${defaultDir}")" ] && sequencerDir="${defaultDir}"
# Fallback to working directory
[ -z "${sequencerDir}" ] && sequencerDir="${WDIR}/sequencer"
fi
# Check if already installed
if [ -d "${sequencerDir}" ]; then
echo " [e] Sequencer seems to be already installed at:"
echo " ${sequencerDir}"
exit 1
fi
if [ ! -w "$(dirname -- "${sequencerDir}")" ]; then
echo " [e] Your user has no permission to write to $(dirname -- "${sequencerDir}")"
exit 2
fi
# Install git if neccessary
if ! which git >>/dev/null 2>&1; then
echo " [w] Git not found and will be installed"
if ! apt update; then
echo " [w] Cannot update apt repositories"
fi
if ! apt install git -y; then
echo " [e] Cannot install git via apt"
exit 3
fi
fi
# Clone sequncer to target directory
if ! git clone "${sequencer_gitUrl}" "$sequencerDir"; then
echo " [E] Error cloning git repository:"
echo " ${sequencer_gitUrl}"
exit 4
fi
# If available use configuration
. "${sequencerDir}/sequencer.cfg" >/dev/null 2>&1
# Set to default if not configured
[ -z "${SEQUENCER_USER_SEQS}" ] && SEQUENCER_USER_SEQS="${defaultUserSeqs}"
# Install sequncer script
ln -s "${sequencerDir}/sequencer.sh" "/usr/local/bin"
if [ "${SEQUENCER_USER_SEQS}" != "${sequencerDir}/seqs" ]; then
ln -sT "${sequencerDir}/seqs" "${SEQUENCER_USER_SEQS}"
fi
echo " [I] Successfully installed shell sequencer"
echo " to: ${sequencerDir}"