Files
HamPack/hampackremove
2026-06-05 15:23:07 -06:00

178 lines
4.5 KiB
Bash
Executable File

#!/bin/bash -i
#
# Purpose : HamPack uninstaller
print_logo() {
cat << "EOF"
██╗ ██╗ █████╗ ███╗ ███╗██████╗ █████╗ ██████╗██╗ ██╗
██║ ██║██╔══██╗████╗ ████║██╔══██╗██╔══██╗██╔════╝██║ ██╔╝
███████║███████║██╔████╔██║██████╔╝███████║██║ █████╔╝
██╔══██║██╔══██║██║╚██╔╝██║██╔═══╝ ██╔══██║██║ ██╔═██╗
██║ ██║██║ ██║██║ ╚═╝ ██║██║ ██║ ██║╚██████╗██║ ██╗
╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝
EOF
}
# --- Main ---
clear
print_logo
echo "This will remove all packages and files installed by HamPack."
echo ""
read -rp "Are you sure you want to continue? [y/N] " confirm
[[ "$confirm" =~ ^[yY] ]] || { echo "Aborted."; exit 0; }
echo ""
# Stop and remove graywolf systemd service
echo "Removing graywolf systemd service..."
if systemctl is-active --quiet graywolf 2>/dev/null; then
sudo systemctl disable --now graywolf
fi
if [ -f /etc/systemd/system/graywolf.service ]; then
sudo rm -f /etc/systemd/system/graywolf.service
sudo systemctl daemon-reload
fi
# Remove compiled binaries
echo "Removing compiled binaries..."
rm -f ~/.local/bin/direwolf
rm -f ~/.local/bin/direwolf-*
rm -f ~/.local/bin/QtTermTCP
rm -f ~/.local/bin/kiwix-desktop
rm -f ~/.local/bin/kiwix-lib
rm -f ~/.local/bin/kiwix-serve
rm -f ~/.local/bin/kiwix-search
rm -f ~/.local/bin/kiwix-manage
rm -rf ~/.local/bin/yaac
rm -f ~/.local/bin/POTACAT.AppImage
rm -f ~/.local/bin/JS8Call
rm -f ~/.local/bin/dump1090
rm -f ~/.local/bin/graywolf
rm -f ~/.local/bin/graywolf-modem
rm -rf ~/.local/share/graywolf
# Remove HamPack scripts and binaries
echo "Removing HamPack scripts and binaries..."
rm -f ~/.local/bin/hampackrefresh
rm -f ~/.local/bin/hampackupdate
rm -f ~/.local/bin/hampackcheck
rm -f ~/.local/bin/hampack
rm -f ~/.local/bin/dx.py
# Uninstall not1mm
echo "Uninstalling not1mm..."
if command -v uv &>/dev/null; then
uv tool uninstall not1mm 2>/dev/null || true
fi
# Remove Flatpak applications
echo "Removing Flatpak applications..."
FLATPAKS=(
"io.sourceforge.wsjt.wsjtx"
"io.github.foldynl.QLog"
)
for pak in "${FLATPAKS[@]}"; do
if flatpak list 2>/dev/null | grep -qi "$pak"; then
flatpak uninstall --noninteractive "$pak"
fi
done
# Remove system packages
echo "Removing system packages..."
UTILITIES=(
alsa-utils
aria2
at-spi2-core
base-devel
boost
boost-libs
cmake
docopt
fldigi
flrig
gpds
gpsbabel
gtk4
hamlib
jdk-openjdk
libappindicator-gtk3
libkiwix
libtorrent-rasterbar
libnotify
libsecret
libxcrypt-compat
libxtst
libzim
meson
ninja
nss
pat-bin
python-yattag
qgis
qt6-base
qt6-tools
qt6-webengine
splat
util-linux-libs
voacapl
wine
winetricks
xdg-utils
zim-tools
zimwriterfs
)
APPLICATIONS=(
chattervox-bin
chirp-next
gridtracker2
)
PACKAGES_TO_REMOVE=()
for pkg in "${UTILITIES[@]}" "${APPLICATIONS[@]}"; do
if pacman -Qi "$pkg" &>/dev/null; then
PACKAGES_TO_REMOVE+=("$pkg")
fi
done
if [ ${#PACKAGES_TO_REMOVE[@]} -gt 0 ]; then
echo "Removing packages: ${PACKAGES_TO_REMOVE[*]}"
sudo pacman -Rns --noconfirm "${PACKAGES_TO_REMOVE[@]}" 2>/dev/null || \
echo "Warning: some packages could not be removed (may be required by other software)."
else
echo "No system packages to remove."
fi
# Remove Wine applications
echo "Removing Wine applications..."
rm -rf "$HOME/.wine/drive_c/VARA"
rm -rf "$HOME/.wine/drive_c/VARA FM"
rm -rf "$HOME/.wine/drive_c/VARA Terminal"
rm -rf "$HOME/.wine/drive_c/RMS Express"
# Remove desktop files
echo "Removing desktop files..."
rm -f ~/.local/share/applications/hampack.desktop
rm -f ~/.local/share/applications/js8call.desktop
rm -f ~/.local/share/applications/yaac.desktop
rm -f ~/.local/share/applications/potacat.desktop
rm -f ~/.local/share/applications/qttermtcp.desktop
update-desktop-database "$HOME/.local/share/applications/" 2>/dev/null || true
# Remove HamPack state and data
echo "Removing HamPack state and data..."
rm -rf ~/.local/state/HamPack
rm -rf ~/.local/share/HamPack
echo ""
echo "HamPack has been removed."