From 5eb6a013a6e3dfb96d53e4b64b8e69d56908e85c Mon Sep 17 00:00:00 2001 From: Andrei Belov Date: Wed, 5 Oct 2022 17:36:40 +0400 Subject: [PATCH] packages: added support for Rocky Linux to install script While here, package builders were adjusted to include correct version build when auto-increment feature is used. Closes nginxinc/nginx-amplify-agent#77, nginxinc/nginx-amplify-agent#82. --- packages/install.sh | 7 +++++-- tools/builders/deb.py | 8 ++++++++ tools/builders/rpm.py | 8 ++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/install.sh b/packages/install.sh index 9d7e42e..8d27de9 100755 --- a/packages/install.sh +++ b/packages/install.sh @@ -48,6 +48,9 @@ get_os_name () { elif cat /etc/*-release | grep '^ID="almalinux"' > /dev/null 2>&1; then os="centos" centos_flavor="almalinux" + elif cat /etc/*-release | grep '^ID="rocky"' > /dev/null 2>&1; then + os="centos" + centos_flavor="rocky" else os=`cat /etc/*-release | grep '^ID=' | \ sed 's/^ID=["]*\([a-zA-Z]*\).*$/\1/' | \ @@ -79,11 +82,11 @@ get_os_name () { tr '[:upper:]' '[:lower:]'` ;; centos) - codename=`cat /etc/*-release | grep -i 'almalinux\|centos.*(' | \ + codename=`cat /etc/*-release | grep -i 'almalinux\|rocky\|centos.*(' | \ sed 's/.*(\(.*\)).*/\1/' | head -1 | \ tr '[:upper:]' '[:lower:]'` # For CentOS grab release - release=`cat /etc/*-release | grep -i 'almalinux\|centos.*[0-9]' | \ + release=`cat /etc/*-release | grep -i 'almalinux\|rocky\|centos.*[0-9]' | \ sed 's/^[^0-9]*\([0-9][0-9]*\).*$/\1/' | head -1` ;; rhel|ol) diff --git a/tools/builders/deb.py b/tools/builders/deb.py index f4348a5..b66e21a 100644 --- a/tools/builders/deb.py +++ b/tools/builders/deb.py @@ -64,11 +64,19 @@ def build(bumprevision=False): changelog_first_line = 'nginx-amplify-agent (%s-%s~%s) %s; urgency=low' % (version, bld, codename, codename) change_first_line('%s/debian/changelog' % debuild_root, changelog_first_line) + if bumprevision: + # sed version_build + shell_call('sed -i.bak -e "s,self.version_build =.*,self.version_build = %d," amplify/agent/common/context.py' % bld) + # create source tarball shell_call('cp packages/nginx-amplify-agent/setup.py ./') shell_call('tar -cz --transform "s,^,nginx-amplify-agent-%s/," -f %s/nginx-amplify-agent_%s.orig.tar.gz LICENSE MANIFEST.in amplify/agent amplify/ext amplify/__init__.py etc/ packages/ nginx-amplify-agent.py setup.py' % (version, pkg_root, version)) shell_call('cd %s && tar zxf nginx-amplify-agent_%s.orig.tar.gz' % (pkg_root, version)) + if bumprevision: + # restore original version_build + shell_call('mv amplify/agent/common/context.py.bak amplify/agent/common/context.py') + # create deb package shell_call('cd %s && debuild -us -uc' % debuild_root, terminal=True) diff --git a/tools/builders/rpm.py b/tools/builders/rpm.py index 4eaf765..d712830 100644 --- a/tools/builders/rpm.py +++ b/tools/builders/rpm.py @@ -41,11 +41,19 @@ def build(bumprevision=False): os.makedirs(rpm_specs) os.makedirs(rpm_sources) + if bumprevision: + # sed version_build + shell_call('sed -i.bak -e "s,self.version_build =.*,self.version_build = %d," amplify/agent/common/context.py' % bld) + # prepare sources shell_call('cp packages/nginx-amplify-agent/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) + if bumprevision: + # restore original version_build + shell_call('mv amplify/agent/common/context.py.bak amplify/agent/common/context.py') + # prepare spec shell_call('cp packages/nginx-amplify-agent/rpm/nginx-amplify-agent.spec %s/' % rpm_specs) shell_call('sed -e "s,%%%%AMPLIFY_AGENT_VERSION%%%%,%s,g" -e "s,%%%%AMPLIFY_AGENT_RELEASE%%%%,%s,g" -e "s,%%%%REQUIREMENTS%%%%,%s,g" -i %s/nginx-amplify-agent.spec' % (version, bld, get_requirements_for_distro(), rpm_specs))