fail2ban.mk 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. ################################################################################
  2. #
  3. # fail2ban
  4. #
  5. ################################################################################
  6. FAIL2BAN_VERSION = 1.0.2
  7. FAIL2BAN_SITE = $(call github,fail2ban,fail2ban,$(FAIL2BAN_VERSION))
  8. FAIL2BAN_LICENSE = GPL-2.0+
  9. FAIL2BAN_LICENSE_FILES = COPYING
  10. FAIL2BAN_CPE_ID_VENDOR = fail2ban
  11. FAIL2BAN_SELINUX_MODULES = fail2ban
  12. FAIL2BAN_SETUP_TYPE = setuptools
  13. define FAIL2BAN_PYTHON_2TO3
  14. $(HOST_DIR)/bin/2to3 --write --nobackups --no-diffs $(@D)/bin/* $(@D)/fail2ban
  15. endef
  16. FAIL2BAN_DEPENDENCIES = host-python3
  17. # We can't use _POST_PATCH_HOOKS because dependencies are not guaranteed
  18. # to build and install before _POST_PATCH_HOOKS run.
  19. FAIL2BAN_PRE_CONFIGURE_HOOKS += FAIL2BAN_PYTHON_2TO3
  20. define FAIL2BAN_FIX_DEFAULT_CONFIG
  21. $(SED) '/^socket/c\socket = /run/fail2ban.sock' $(TARGET_DIR)/etc/fail2ban/fail2ban.conf
  22. $(SED) '/^pidfile/c\pidfile = /run/fail2ban.pid' $(TARGET_DIR)/etc/fail2ban/fail2ban.conf
  23. $(SED) '/^dbfile/c\dbfile = None' $(TARGET_DIR)/etc/fail2ban/fail2ban.conf
  24. endef
  25. FAIL2BAN_POST_INSTALL_TARGET_HOOKS += FAIL2BAN_FIX_DEFAULT_CONFIG
  26. # fail2ban-python points to host python
  27. define FAIL2BAN_FIX_FAIL2BAN_PYTHON_SYMLINK
  28. ln -snf python3 $(TARGET_DIR)/usr/bin/fail2ban-python
  29. endef
  30. FAIL2BAN_POST_INSTALL_TARGET_HOOKS += FAIL2BAN_FIX_FAIL2BAN_PYTHON_SYMLINK
  31. define FAIL2BAN_INSTALL_INIT_SYSV
  32. $(INSTALL) -D -m 755 package/fail2ban/S60fail2ban \
  33. $(TARGET_DIR)/etc/init.d/S60fail2ban
  34. endef
  35. define FAIL2BAN_INSTALL_INIT_SYSTEMD
  36. $(INSTALL) -D -m 0644 $(@D)/files/fail2ban.service.in \
  37. $(TARGET_DIR)/usr/lib/systemd/system/fail2ban.service
  38. $(SED) 's,@BINDIR@,/usr/bin,g' $(TARGET_DIR)/usr/lib/systemd/system/fail2ban.service
  39. $(SED) '/^PIDFile/c\PIDFile=/run/fail2ban.pid' $(TARGET_DIR)/usr/lib/systemd/system/fail2ban.service
  40. endef
  41. $(eval $(python-package))