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:
parent
184b0e6033
commit
57e6b2557b
10 changed files with 281 additions and 30 deletions
5
debian/changelog
vendored
Normal file
5
debian/changelog
vendored
Normal 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
15
debian/control
vendored
Normal 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
23
debian/postinst
vendored
Normal 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
14
debian/rules
vendored
Normal 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/
|
||||
Loading…
Add table
Add a link
Reference in a new issue