feat: add debian packaging, CI/CD and update script

- Add debian/ packaging for .deb generation
- Add .forgejo/workflows/build.yml for CI/CD (runner label: docker)
- Add scripts/fullupdater and scripts/fullupdater-update
- Remove obsolete install.sh
- Update .gitignore for debian build artifacts
This commit is contained in:
enzo 2026-05-13 00:10:49 +02:00
parent 184b0e6033
commit 57e6b2557b
10 changed files with 281 additions and 30 deletions

5
debian/changelog vendored Normal file
View file

@ -0,0 +1,5 @@
full-updater (1.0.0) unstable; urgency=medium
* Initial release
-- Enzo <admin@geronzi.fr> Mon, 01 Jan 2024 00:00:00 +0000

15
debian/control vendored Normal file
View file

@ -0,0 +1,15 @@
Source: full-updater
Section: admin
Priority: optional
Maintainer: Enzo <admin@geronzi.fr>
Build-Depends: debhelper-compat (= 13), dh-python, python3-all, python3-venv
Standards-Version: 4.6.0
Package: full-updater
Architecture: all
Depends: ${python3:Depends}, python3-textual, python3-pyperclip, python3-venv, git, pct
Description: TUI for APT/CVE updates on Proxmox host and LXC
Full Updater is a terminal user interface (TUI) that visualizes
available APT updates and CVEs for the Proxmox host and all LXC
containers. It supports keyboard and mouse controls, real-time
scanning, caching, and one-click upgrades via pct exec.

23
debian/postinst vendored Normal file
View file

@ -0,0 +1,23 @@
#!/bin/bash
set -e
VENV_DIR="/opt/full-updater/.venv"
OPT_DIR="/opt/full-updater"
# Create venv and install deps
if [ ! -d "$VENV_DIR" ]; then
python3 -m venv "$VENV_DIR"
fi
"$VENV_DIR/bin/pip" install --upgrade pip
"$VENV_DIR/bin/pip" install -r "$OPT_DIR/requirements.txt"
# Ensure symlinks
ln -sf "$OPT_DIR/scripts/fullupdater" /usr/local/bin/fullupdater
# Ensure cache dir exists
mkdir -p /tmp/full-updater-cache
# Upgrade existing install if deps changed
"$VENV_DIR/bin/pip" install -r "$OPT_DIR/requirements.txt" --upgrade
exit 0

14
debian/rules vendored Normal file
View file

@ -0,0 +1,14 @@
#!/usr/bin/make -f
export DH_VERBOSE = 1
export PYBUILD_NAME = full-updater
%:
dh $@ --with python3 --buildsystem=pybuild
override_dh_auto_install:
dh_auto_install
install -D -m 755 scripts/fullupdater $(CURDIR)/debian/full-updater/opt/full-updater/scripts/fullupdater
install -D -m 755 scripts/fullupdater-update $(CURDIR)/debian/full-updater/usr/local/bin/fullupdater-update
install -D -m 644 requirements.txt $(CURDIR)/debian/full-updater/opt/full-updater/requirements.txt
cp -r full_updater $(CURDIR)/debian/full-updater/opt/full-updater/