chore: add installer script for linux
This commit is contained in:
Executable
+79
@@ -0,0 +1,79 @@
|
||||
#!/bin/bash
|
||||
|
||||
APP_PATH="/usr/bin/SavvyCAN"
|
||||
DESKTOP_PATH="/usr/share/applications/savvycan.desktop"
|
||||
ICON_PATH="/usr/share/pixmaps/SavvyCAN.png"
|
||||
|
||||
require_root() {
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
echo "This script must be run as root."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
show_help() {
|
||||
echo "Usage: $0 [option]"
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " --help Show this help message"
|
||||
echo " --uninstall Remove SavvyCAN from the system"
|
||||
echo " (no option) Install or reinstall SavvyCAN"
|
||||
}
|
||||
|
||||
install_error() {
|
||||
echo "SavvyCAN installation failed."
|
||||
exit 1
|
||||
}
|
||||
|
||||
uninstall_error() {
|
||||
echo "SavvyCAN uninstallation failed."
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [ "$1" = "--help" ]; then
|
||||
show_help
|
||||
exit 0
|
||||
fi
|
||||
|
||||
require_root
|
||||
|
||||
# Uninstall
|
||||
if [ "$1" = "--uninstall" ]; then
|
||||
echo "Uninstalling SavvyCAN..."
|
||||
trap uninstall_error ERR
|
||||
rm -f "$APP_PATH" "$DESKTOP_PATH" "$ICON_PATH"
|
||||
trap - ERR
|
||||
echo "SavvyCAN has been uninstalled."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Check required files
|
||||
if [ ! -f "SavvyCAN" ]; then
|
||||
echo "Missing file \"SavvyCAN\". You need to build first."
|
||||
install_error
|
||||
fi
|
||||
|
||||
if [ ! -f "SavvyCAN.desktop" ]; then
|
||||
echo "Missing file \"SavvyCAN.desktop\"."
|
||||
install_error
|
||||
fi
|
||||
|
||||
if [ ! -f "icons/SavvyIcon.png" ]; then
|
||||
echo "Missing file \"icons/SavvyIcon.png\"."
|
||||
install_error
|
||||
fi
|
||||
|
||||
# Install
|
||||
if [ -f "$APP_PATH" ]; then
|
||||
echo "Re-installing SavvyCAN..."
|
||||
else
|
||||
echo "Installing SavvyCAN..."
|
||||
fi
|
||||
|
||||
trap install_error ERR
|
||||
install -Dm755 SavvyCAN "$APP_PATH"
|
||||
install -Dm644 SavvyCAN.desktop "$DESKTOP_PATH"
|
||||
install -Dm644 icons/SavvyIcon.png "$ICON_PATH"
|
||||
trap - ERR
|
||||
|
||||
echo "SavvyCAN is installed."
|
||||
Reference in New Issue
Block a user