feature: Add Debian native packaging

This commit is contained in:
gyptazy
2025-03-04 09:00:35 +01:00
parent e8d0c13f16
commit 39b4330994
9 changed files with 70 additions and 2 deletions

5
proxlb/debian/changelog Normal file
View File

@@ -0,0 +1,5 @@
python3-proxlb (1.1.0) unstable; urgency=medium
* Initial release
-- Florian Paul Azim Hoberg <gyptazy@gyptazy.com> Tue, 04 Mar 2025 12:00:00 +0000

14
proxlb/debian/control Normal file
View File

@@ -0,0 +1,14 @@
Source: python3-proxlb
Section: python
Priority: optional
Maintainer: Florian Paul Azim Hoberg <gyptazy@gyptazy.com>
Build-Depends: debhelper-compat (= 13), python3, dh-python, python3-setuptools
Standards-Version: 4.6.0
Homepage: https://github.com/gyptazy/ProxLB
Package: python3-proxlb
Architecture: all
Depends: ${python3:Depends}, ${misc:Depends}, python3-proxmoxer, python3-systemd, python3-yaml, python3-urllib3, python3-requests
Description: Load balancer for Proxmox clusters
An advanced DRS alike loadbalancer for Proxmox clusters that also supports
maintenance modes and affinity/anti-affinity rules.

11
proxlb/debian/copyright Normal file
View File

@@ -0,0 +1,11 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: python3-proxlb
Source: https://github.com/gyptazy/ProxLB
Files: *
Copyright: 2025 Florian Paul Azim Hoberg <gyptazy@gyptazy.com>
License: GPL-3.0-or-later
License: GPL-3.0-or-later
On Debian systems, the full text of the GPL-3.0-or-later license can be found
in the file /usr/share/common-licenses/GPL-3.

5
proxlb/debian/install Normal file
View File

@@ -0,0 +1,5 @@
main.py models usr/lib/python3/dist-packages/proxlb
models usr/lib/python3/dist-packages/proxlb
utils usr/lib/python3/dist-packages/proxlb
../service/proxlb.service lib/systemd/system
../config/proxlb_example.yaml etc/proxlb

18
proxlb/debian/postinst Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/sh
set -e
# Automatically inserted debhelper commands
#DEBHELPER#
# Check if user proxlb exists, if not, create it
if ! id -u proxlb >/dev/null 2>&1; then
useradd -m proxlb
echo "User proxlb created."
else
echo "User proxlb already exists."
fi
# Reload systemd
if [ "$1" = "configure" ]; then
systemd daemon-reload || exit 1
fi

11
proxlb/debian/prerm Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/sh
set -e
# Automatically inserted debhelper commands
#DEBHELPER#
if [ "$1" = "remove" ]; then
systemd proxlb stop || true
systemd disable proxlb.service || true
systemd daemon-reload
fi

3
proxlb/debian/rules Executable file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/make -f
%:
dh $@ --with python3

View File

@@ -0,0 +1 @@
3.0 (native)

View File

@@ -1,11 +1,11 @@
[Unit]
Description=ProxLB - A loadbalancer for Proxmox clusters
Description=ProxLB - A load balancer for Proxmox clusters
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=python3 /usr/lib/python3/dist-packages/proxlb/main.py -c /etc/proxlb/proxlb.yaml
User=plb
User=proxlb
[Install]
WantedBy=multi-user.target