From 6dd0358c5f7d0208365bc522afcad21336f19e38 Mon Sep 17 00:00:00 2001 From: David Young Date: Thu, 11 Jun 2026 10:46:18 -0600 Subject: [PATCH] fit updates in to new system --- hampackupdate | 48 +------------------------------------- hooks/100-hampack-pull | 14 +++++++++++ hooks/110-hampack-tools | 16 +++++++++++++ hooks/120-hampack-packages | 17 ++++++++++++++ hooks/130-hampack-flatpaks | 14 +++++++++++ hooks/140-hampack-compiled | 14 +++++++++++ hooks/150-hampack-windows | 14 +++++++++++ hooks/160-hampack-extras | 17 ++++++++++++++ hooks/170-hampack-build | 35 +++++++++++++++++++++++++++ install.sh | 5 ++++ 10 files changed, 147 insertions(+), 47 deletions(-) create mode 100644 hooks/100-hampack-pull create mode 100644 hooks/110-hampack-tools create mode 100644 hooks/120-hampack-packages create mode 100644 hooks/130-hampack-flatpaks create mode 100644 hooks/140-hampack-compiled create mode 100644 hooks/150-hampack-windows create mode 100644 hooks/160-hampack-extras create mode 100644 hooks/170-hampack-build diff --git a/hampackupdate b/hampackupdate index 4c2cf3b..93ff7bb 100755 --- a/hampackupdate +++ b/hampackupdate @@ -1,49 +1,3 @@ #!/bin/bash -# Print the logo -print_logo() { - cat << "EOF" - - - ██╗ ██╗ █████╗ ███╗ ███╗██████╗ █████╗ ██████╗██╗ ██╗ - ██║ ██║██╔══██╗████╗ ████║██╔══██╗██╔══██╗██╔════╝██║ ██╔╝ - ███████║███████║██╔████╔██║██████╔╝███████║██║ █████╔╝ - ██╔══██║██╔══██║██║╚██╔╝██║██╔═══╝ ██╔══██║██║ ██╔═██╗ - ██║ ██║██║ ██║██║ ╚═╝ ██║██║ ██║ ██║╚██████╗██║ ██╗ - ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ - - -EOF -} - -# Clear screen and show logo -clear -print_logo - -echo "Updating Arch..." -sudo pacman -Syu - -HAMPACK_DIR="$HOME/.local/share/HamPack" - -echo "Pulling latest HamPack configuration..." -git -C "$HAMPACK_DIR" pull - -echo "Running HamPack installer..." -bash "$HAMPACK_DIR/install.sh" - -echo "Updating AUR..." - -if ! yay -Sua 2>/dev/null; then - echo "yay -Sua returned an error. Let's rebuild YAY." - sudo pacman -R yay - cd /tmp - git clone https://aur.archlinux.org/yay.git - cd yay - makepkg -si - cd .. - rm -rf yay - cd - yay -Sua --noconfirm -else - yay -Sua --noconfirm -fi +/usr/lib/coredesktop/update.sh diff --git a/hooks/100-hampack-pull b/hooks/100-hampack-pull new file mode 100644 index 0000000..d9a0271 --- /dev/null +++ b/hooks/100-hampack-pull @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# /etc/coredesktop/updaters.d/100-hampack-pull + +HAMPACK_DIR="$HOME/.local/share/HamPack" + +is_installed() { + [[ -d "$HAMPACK_DIR" ]] +} + +run_update() { + echo "→ Pulling latest HamPack..." + git -C "$HAMPACK_DIR" pull --ff-only + echo "✓ HamPack pulled." +} diff --git a/hooks/110-hampack-tools b/hooks/110-hampack-tools new file mode 100644 index 0000000..375cfbb --- /dev/null +++ b/hooks/110-hampack-tools @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +# /etc/coredesktop/updaters.d/110-hampack-tools + +HAMPACK_DIR="$HOME/.local/share/HamPack" + +is_installed() { + [[ -d "$HAMPACK_DIR" ]] +} + +run_update() { + echo "→ Updating HamPack tools..." + cp "$HAMPACK_DIR/hampackrefresh" "$HOME/.local/bin/hampackrefresh" + cp "$HAMPACK_DIR/hampackupdate" "$HOME/.local/bin/hampackupdate" + cp "$HAMPACK_DIR/hampackremove" "$HOME/.local/bin/hampackremove" + echo "✓ HamPack tools updated." +} diff --git a/hooks/120-hampack-packages b/hooks/120-hampack-packages new file mode 100644 index 0000000..1e9e422 --- /dev/null +++ b/hooks/120-hampack-packages @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# /etc/coredesktop/updaters.d/120-hampack-packages + +HAMPACK_DIR="$HOME/.local/share/HamPack" + +is_installed() { + [[ -f "$HAMPACK_DIR/packages.conf" ]] +} + +run_update() { + echo "→ Updating HamPack packages..." + source "$HAMPACK_DIR/utils.sh" + source "$HAMPACK_DIR/packages.conf" + install_packages "${UTILITIES[@]}" + install_packages "${APPLICATIONS[@]}" + echo "✓ HamPack packages updated." +} diff --git a/hooks/130-hampack-flatpaks b/hooks/130-hampack-flatpaks new file mode 100644 index 0000000..be29dc3 --- /dev/null +++ b/hooks/130-hampack-flatpaks @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# /etc/coredesktop/updaters.d/130-hampack-flatpaks + +HAMPACK_DIR="$HOME/.local/share/HamPack" + +is_installed() { + [[ -d "$HAMPACK_DIR" ]] && command -v flatpak &>/dev/null +} + +run_update() { + echo "→ Updating HamPack Flatpaks..." + bash "$HAMPACK_DIR/install-flatpaks.sh" + echo "✓ HamPack Flatpaks updated." +} diff --git a/hooks/140-hampack-compiled b/hooks/140-hampack-compiled new file mode 100644 index 0000000..8f4f58b --- /dev/null +++ b/hooks/140-hampack-compiled @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# /etc/coredesktop/updaters.d/140-hampack-compiled + +HAMPACK_DIR="$HOME/.local/share/HamPack" + +is_installed() { + [[ -f "$HAMPACK_DIR/compile.conf" ]] +} + +run_update() { + echo "→ Updating HamPack compiled apps..." + bash "$HAMPACK_DIR/install-compiled.sh" + echo "✓ HamPack compiled apps updated." +} diff --git a/hooks/150-hampack-windows b/hooks/150-hampack-windows new file mode 100644 index 0000000..4e56ca4 --- /dev/null +++ b/hooks/150-hampack-windows @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# /etc/coredesktop/updaters.d/150-hampack-windows + +HAMPACK_DIR="$HOME/.local/share/HamPack" + +is_installed() { + [[ -d "$HAMPACK_DIR" ]] && command -v wine &>/dev/null +} + +run_update() { + echo "→ Updating HamPack Windows apps..." + bash "$HAMPACK_DIR/install-windows-apps.sh" + echo "✓ HamPack Windows apps updated." +} diff --git a/hooks/160-hampack-extras b/hooks/160-hampack-extras new file mode 100644 index 0000000..f524a53 --- /dev/null +++ b/hooks/160-hampack-extras @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# /etc/coredesktop/updaters.d/160-hampack-extras + +is_installed() { + command -v curl &>/dev/null && command -v wget &>/dev/null +} + +run_update() { + echo "→ Updating not1mm..." + curl -LsSf uvx.sh/not1mm/install.sh | sh + + echo "→ Updating dx.py..." + wget -q https://raw.githubusercontent.com/HB9VQQ/dx.py/main/dx.py -O "$HOME/.local/bin/dx.py" + chmod +x "$HOME/.local/bin/dx.py" + + echo "✓ Extras updated." +} diff --git a/hooks/170-hampack-build b/hooks/170-hampack-build new file mode 100644 index 0000000..d2e90f2 --- /dev/null +++ b/hooks/170-hampack-build @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# /etc/coredesktop/updaters.d/170-hampack-build + +HAMPACK_DIR="$HOME/.local/share/HamPack" + +is_installed() { + [[ -d "$HAMPACK_DIR/hampack-src" ]] && command -v go &>/dev/null +} + +run_update() { + echo "→ Rebuilding HamPack..." + cd "$HAMPACK_DIR/hampack-src" + go get github.com/diamondburned/gotk4-adwaita/pkg/adw@latest + go get github.com/diamondburned/gotk4/pkg/gtk/v4@latest + go mod tidy + go build -o "$HOME/.local/bin/hampack" . + cd "$HAMPACK_DIR" + + echo "→ Updating desktop files..." + mkdir -p "$HOME/.local/share/applications" + cat > "$HOME/.local/share/applications/hampack.desktop" << EOF +[Desktop Entry] +Type=Application +Name=HamPack +Exec=$HOME/.local/bin/hampack +Icon=$HOME/.local/share/HamPack/desktop/icons/ham.png +Comment=Manage HamPack amateur radio software +Categories=HamRadio; +EOF + sed "s|\$HOME|$HOME|g" "$HAMPACK_DIR/desktop/js8call.desktop" \ + > "$HOME/.local/share/applications/js8call.desktop" + update-desktop-database "$HOME/.local/share/applications/" + + echo "✓ HamPack built and desktop files updated." +} diff --git a/install.sh b/install.sh index e83194a..e8d8b9c 100755 --- a/install.sh +++ b/install.sh @@ -116,6 +116,11 @@ sed "s|\$HOME|$HOME|g" ~/.local/share/HamPack/desktop/js8call.desktop \ echo "Updating desktop database..." update-desktop-database "$HOME/.local/share/applications/" +echo "Registering HamPack with coredesktop updater..." +for hook in ~/.local/share/HamPack/hooks/[0-9][0-9][0-9]-hampack*; do + sudo install -Dm755 "$hook" /etc/coredesktop/updaters.d/"$(basename "$hook")" +done + sudo rm /etc/sudoers.d/hampack echo "HamPack is installed. You may want to restart existing applications when convenient." \ No newline at end of file