From 090de089e070fd0aeceeea306574d39494a0839a Mon Sep 17 00:00:00 2001 From: Andrei Belov Date: Wed, 3 Jan 2024 09:52:29 +0400 Subject: [PATCH] packages: added Debian 12 "bookworm" support While here, updated some Python dependencies to address security issues. --- packages/install.sh | 2 +- .../deb/debian/control.bookworm | 36 +++++++++++++++++++ packages/nginx-amplify-agent/deb/debian/rules | 4 +-- .../requirements-debian12.txt | 2 ++ .../requirements-py310.txt | 2 +- .../nginx-amplify-agent/requirements-py39.txt | 2 +- packages/nginx-amplify-agent/requirements.txt | 2 +- tools/builders/deb.py | 3 +- tools/builders/rpm.py | 8 ++++- 9 files changed, 53 insertions(+), 8 deletions(-) create mode 100644 packages/nginx-amplify-agent/deb/debian/control.bookworm create mode 100644 packages/nginx-amplify-agent/requirements-debian12.txt diff --git a/packages/install.sh b/packages/install.sh index 3b3cfa5..a290870 100755 --- a/packages/install.sh +++ b/packages/install.sh @@ -467,7 +467,7 @@ case "$os" in incr_step case "$codename" in - buster|bullseye|bionic|focal|jammy) + buster|bullseye|bookworm|bionic|focal|jammy) check_python 3 python_supported=3 ;; diff --git a/packages/nginx-amplify-agent/deb/debian/control.bookworm b/packages/nginx-amplify-agent/deb/debian/control.bookworm new file mode 100644 index 0000000..e9c4f18 --- /dev/null +++ b/packages/nginx-amplify-agent/deb/debian/control.bookworm @@ -0,0 +1,36 @@ +Source: nginx-amplify-agent +Homepage: https://github.com/nginxinc/nginx-amplify-agent +Maintainer: NGINX Packaging +Section: python +Priority: optional +Build-Depends: debhelper (>= 13), + dpkg-dev (>= 1.21), + python3, + dh-python +Standards-Version: 4.5.0 + +Package: nginx-amplify-agent +Description: Agent for NGINX Amplify monitoring platform + The NGINX Amplify Agent is a small, Python application that provides + system and NGINX metric collection. It is part of NGINX Amplify - + the monitoring and configuration assistance service for NGINX. + . + This package installs and runs NGINX Amplify Agent daemon. + . + See http://nginx.com/amplify for more information +Architecture: any +Depends: ${misc:Depends}, + ${python3:Depends}, + python3-daemon, + python3-psutil, + python3-setproctitle, + python3-greenlet, + python3-gevent, + python3-requests, + python3-ujson, + python3-netifaces, + python3-netaddr, + python3-pymysql, + python3-rstr, + lsb-release, + adduser diff --git a/packages/nginx-amplify-agent/deb/debian/rules b/packages/nginx-amplify-agent/deb/debian/rules index 32ddc61..a90ca44 100755 --- a/packages/nginx-amplify-agent/deb/debian/rules +++ b/packages/nginx-amplify-agent/deb/debian/rules @@ -22,7 +22,7 @@ build: build-arch build-indep install: dh_testdir - python3 setup.py install --prefix=/usr --root=$(INSTALLDIR) --no-compile + python3 setup.py install --prefix=/usr --install-scripts=/usr/bin --root=$(INSTALLDIR) --no-compile binary-indep: build install dh_testdir @@ -44,7 +44,7 @@ binary-arch: install dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a - dh_builddeb nginx-amplify-agent + dh_builddeb nginx-amplify-agent -- -Zgzip binary: binary-indep binary-arch diff --git a/packages/nginx-amplify-agent/requirements-debian12.txt b/packages/nginx-amplify-agent/requirements-debian12.txt new file mode 100644 index 0000000..40a22e9 --- /dev/null +++ b/packages/nginx-amplify-agent/requirements-debian12.txt @@ -0,0 +1,2 @@ +flup==1.0.3 +crossplane==0.5.8 diff --git a/packages/nginx-amplify-agent/requirements-py310.txt b/packages/nginx-amplify-agent/requirements-py310.txt index c1b49a5..9e4687d 100644 --- a/packages/nginx-amplify-agent/requirements-py310.txt +++ b/packages/nginx-amplify-agent/requirements-py310.txt @@ -7,6 +7,6 @@ crossplane==0.5.8 rstr==3.0.0 psutil==5.8.0 python-daemon==2.2.4 -requests==2.26.0 +requests==2.31.0 ujson==5.4.0 PyMySQL==1.0.2 diff --git a/packages/nginx-amplify-agent/requirements-py39.txt b/packages/nginx-amplify-agent/requirements-py39.txt index 5629262..171c39b 100644 --- a/packages/nginx-amplify-agent/requirements-py39.txt +++ b/packages/nginx-amplify-agent/requirements-py39.txt @@ -7,6 +7,6 @@ crossplane==0.5.8 rstr==3.0.0 psutil==5.8.0 python-daemon==2.2.4 -requests==2.26.0 +requests==2.31.0 ujson==5.4.0 PyMySQL==1.0.2 diff --git a/packages/nginx-amplify-agent/requirements.txt b/packages/nginx-amplify-agent/requirements.txt index d1a73e6..0a007e4 100644 --- a/packages/nginx-amplify-agent/requirements.txt +++ b/packages/nginx-amplify-agent/requirements.txt @@ -7,6 +7,6 @@ crossplane==0.5.8 rstr==3.0.0 psutil==5.8.0 python-daemon==2.2.4 -requests==2.26.0 +requests==2.31.0 ujson==5.4.0 PyMySQL==1.0.2 diff --git a/tools/builders/deb.py b/tools/builders/deb.py index b66e21a..8ce8065 100644 --- a/tools/builders/deb.py +++ b/tools/builders/deb.py @@ -17,7 +17,8 @@ COMPAT_LEVELS = { 'buster': 12, 'focal': 12, 'bullseye': 13, - 'jammy': 13 + 'jammy': 13, + 'bookworm': 13, } diff --git a/tools/builders/rpm.py b/tools/builders/rpm.py index d712830..314279f 100644 --- a/tools/builders/rpm.py +++ b/tools/builders/rpm.py @@ -45,8 +45,14 @@ def build(bumprevision=False): # sed version_build shell_call('sed -i.bak -e "s,self.version_build =.*,self.version_build = %d," amplify/agent/common/context.py' % bld) + versioned_setup_py = "setup-py{0}{1}.py".format(sys.version_info[0], sys.version_info[1]) + if os.path.isfile("packages/nginx-amplify-agent/%s" % versioned_setup_py): + setup_py = "packages/nginx-amplify-agent/%s" % versioned_setup_py + else: + setup_py = "packages/nginx-amplify-agent/setup.py" + # prepare sources - shell_call('cp packages/nginx-amplify-agent/setup.py ./') + shell_call('cp %s ./setup.py' % setup_py) shell_call('tar -cz --transform "s,^,nginx-amplify-agent-%s/," -f %s/nginx-amplify-agent-%s.tar.gz LICENSE MANIFEST.in amplify/agent amplify/ext amplify/__init__.py etc/ packages/ nginx-amplify-agent.py setup.py' % (version, rpm_sources, version)) shell_call('cp packages/nginx-amplify-agent/rpm/nginx-amplify-agent.service %s' % rpm_sources)