fit updates in to new system

This commit is contained in:
David Young
2026-06-11 10:46:18 -06:00
parent 3b43a11cf1
commit 6dd0358c5f
10 changed files with 147 additions and 47 deletions

View File

@@ -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

14
hooks/100-hampack-pull Normal file
View File

@@ -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."
}

16
hooks/110-hampack-tools Normal file
View File

@@ -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."
}

View File

@@ -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."
}

View File

@@ -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."
}

View File

@@ -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."
}

14
hooks/150-hampack-windows Normal file
View File

@@ -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."
}

17
hooks/160-hampack-extras Normal file
View File

@@ -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."
}

35
hooks/170-hampack-build Normal file
View File

@@ -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."
}

View File

@@ -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."