From a341e4fe3e65c86c3402de239f3ea3b098520b2b Mon Sep 17 00:00:00 2001 From: "Fiona Klute (WIWA)" Date: Tue, 9 Jul 2024 12:18:40 +0200 Subject: [PATCH] package/fail2ban: bump version to 1.1.0 Fail2ban 1.1.0 brings Python 3.12 compatibility, and removes support for 2.x. This means 2to3 handling can be dropped. Unfortunately fail2ban 1.1.0 still relies on asynchat and asyncore, which have been removed from the Python standard library in 3.12. Depend on the compatibility package python-pyasynchat (which pulls in python-pyasyncore) and remove copies bundled in upstream code. Signed-off-by: Fiona Klute (WIWA) Signed-off-by: Arnout Vandecappelle --- package/fail2ban/Config.in | 1 + package/fail2ban/fail2ban.hash | 2 +- package/fail2ban/fail2ban.mk | 14 +++++++------- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/package/fail2ban/Config.in b/package/fail2ban/Config.in index 8a48a8c1d0..4c2c56440d 100644 --- a/package/fail2ban/Config.in +++ b/package/fail2ban/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_FAIL2BAN bool "fail2ban" depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_PYASYNCHAT # runtime select BR2_PACKAGE_PYTHON_SYSTEMD if BR2_PACKAGE_SYSTEMD help Fail2ban scans log files (e.g. /var/log/apache/error_log) and diff --git a/package/fail2ban/fail2ban.hash b/package/fail2ban/fail2ban.hash index b40922e70a..8627e01f05 100644 --- a/package/fail2ban/fail2ban.hash +++ b/package/fail2ban/fail2ban.hash @@ -1,3 +1,3 @@ # sha256 locally computed -sha256 ae8b0b41f27a7be12d40488789d6c258029b23a01168e3c0d347ee80b325ac23 fail2ban-1.0.2.tar.gz +sha256 474fcc25afdaf929c74329d1e4d24420caabeea1ef2e041a267ce19269570bae fail2ban-1.1.0.tar.gz sha256 a75fec0260742fe6275d63ff6a5d97b924b28766558306b3fa4069763096929b COPYING diff --git a/package/fail2ban/fail2ban.mk b/package/fail2ban/fail2ban.mk index 0c1208c6fe..a77e5fad6c 100644 --- a/package/fail2ban/fail2ban.mk +++ b/package/fail2ban/fail2ban.mk @@ -4,7 +4,7 @@ # ################################################################################ -FAIL2BAN_VERSION = 1.0.2 +FAIL2BAN_VERSION = 1.1.0 FAIL2BAN_SITE = $(call github,fail2ban,fail2ban,$(FAIL2BAN_VERSION)) FAIL2BAN_LICENSE = GPL-2.0+ FAIL2BAN_LICENSE_FILES = COPYING @@ -12,13 +12,13 @@ FAIL2BAN_CPE_ID_VENDOR = fail2ban FAIL2BAN_SELINUX_MODULES = fail2ban FAIL2BAN_SETUP_TYPE = setuptools -define FAIL2BAN_PYTHON_2TO3 - $(HOST_DIR)/bin/2to3 --write --nobackups --no-diffs $(@D)/bin/* $(@D)/fail2ban +# fail2ban contains bundled copies of pyasyncore and pyasynchat, +# remove them so only the packaged versions are installed. +define FAIL2BAN_REMOVE_BUNDLED_COMPAT + $(SED) '/fail2ban\.compat/d' $(@D)/setup.py + rm -rf $(@D)/fail2ban/compat endef -FAIL2BAN_DEPENDENCIES = host-python3 -# We can't use _POST_PATCH_HOOKS because dependencies are not guaranteed -# to build and install before _POST_PATCH_HOOKS run. -FAIL2BAN_PRE_CONFIGURE_HOOKS += FAIL2BAN_PYTHON_2TO3 +FAIL2BAN_POST_PATCH_HOOKS += FAIL2BAN_REMOVE_BUNDLED_COMPAT define FAIL2BAN_FIX_DEFAULT_CONFIG $(SED) '/^socket/c\socket = /run/fail2ban.sock' $(TARGET_DIR)/etc/fail2ban/fail2ban.conf