sshtunnel/bin/scripts/install.sh
2025-05-23 15:08:44 +02:00

50 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
source bin/helpers/func.sh
# Test for root privileges
if [ "$EUID" -ne 0 ]; then
printfe "%s\n" "red" "Please run as root"
exit 1
fi
# Firstly compile the sshtunnel binary
printfe "%s\n" "cyan" "Compiling sshtunnel..."
MAKE_OUTPUT=$(make 2>&1)
MAKE_EXIT_CODE=$?
if [ $MAKE_EXIT_CODE -ne 0 ]; then
printfe "%s\n" "red" "Compilation failed. Please check the output below."
echo "$MAKE_OUTPUT"
exit 1
fi
printfe "%s\n" "green" "Compilation successful."
# Remove any existing sshtunnel installation
printfe "%s\n" "cyan" "Removing existing sshtunnel installation..."
if [ -f "/usr/local/bin/sshtunnel" ]; then
log_and_run rm /usr/local/bin/sshtunnel
fi
if [ -f "/usr/share/bash-completion/completions/sshtunnel" ]; then
log_and_run rm /usr/share/bash-completion/completions/sshtunnel
fi
if [ -f "/usr/local/share/sshtunnel/sshtunnel.version" ]; then
log_and_run rm /usr/local/share/sshtunnel/sshtunnel.version
fi
# Copy binary files to /usr/local/bin
printfe "%s\n" "cyan" "Installing sshtunnel..."
log_and_run cp $(pwd)/bin/sshtunnel /usr/local/bin/sshtunnel
log_and_run cp $(pwd)/bin/sshtunnel-completion.bash /usr/share/bash-completion/completions/sshtunnel
# Copy version file to /usr/local/share/sshtunnel/sshtunnel.version
mkdir -p /usr/local/share/sshtunnel
log_and_run cp $(pwd)/bin/sshtunnel.version /usr/local/share/sshtunnel/sshtunnel.version
# Clean up any compiled files
printfe "%s\n" "cyan" "Cleaning up..."
log_and_run rm $(pwd)/bin/sshtunnel
log_and_run rm $(pwd)/bin/sshtunnel-completion.bash
log_and_run rm $(pwd)/bin/sshtunnel.version
printfe "%s\n" "green" "Installation complete."