package/fail2ban: add python3 support
authorPascal de Bruijn <p.debruijn@unilogic.nl>
Wed, 22 Jan 2020 13:15:14 +0000 (14:15 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Mon, 3 Feb 2020 17:12:34 +0000 (18:12 +0100)
The fail2ban codebase is still native python2, but 2to3 is supported
upstream.

Signed-off-by: Pascal de Bruijn <p.debruijn@unilogic.nl>
[Peter: ensure host-python3 is available]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/fail2ban/Config.in
package/fail2ban/fail2ban.mk

index 8fa63bfdcbfe08bd20c489de73283b5afeb84790..39e996fdb6d42b2127735ec5867e105170f1eef7 100644 (file)
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_FAIL2BAN
        bool "fail2ban"
-       depends on BR2_PACKAGE_PYTHON
+       depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
        help
          Fail2ban scans log files (e.g. /var/log/apache/error_log) and
          bans IPs that show the malicious signs -- too many password
index 07c0c04787d15b9ba8e5537955badeaa1dab1a95..6f023b48a181cfeaec4506f948ecd70e21638b84 100644 (file)
@@ -10,6 +10,14 @@ FAIL2BAN_LICENSE = GPL-2.0+
 FAIL2BAN_LICENSE_FILES = COPYING
 FAIL2BAN_SETUP_TYPE = distutils
 
+ifeq ($(BR2_PACKAGE_PYTHON3),y)
+define FAIL2BAN_PYTHON_2TO3
+       $(HOST_DIR)/bin/2to3 --write --nobackups --no-diffs $(@D)/bin/* $(@D)/fail2ban
+endef
+FAIL2BAN_DEPENDENCIES += host-python3
+FAIL2BAN_POST_PATCH_HOOKS += FAIL2BAN_PYTHON_2TO3
+endif
+
 define FAIL2BAN_FIX_DEFAULT_CONFIG
        $(SED) '/^socket/c\socket = /run/fail2ban.sock' $(TARGET_DIR)/etc/fail2ban/fail2ban.conf
        $(SED) '/^pidfile/c\pidfile = /run/fail2ban.pid' $(TARGET_DIR)/etc/fail2ban/fail2ban.conf