package/fail2ban: fix fail2ban-python symlink
authorPeter Korsgaard <peter@korsgaard.com>
Mon, 5 Oct 2020 05:58:08 +0000 (07:58 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Thu, 8 Oct 2020 20:12:58 +0000 (22:12 +0200)
Fixes (reproducible):
http://autobuild.buildroot.net/results/50f/50f199bfe06d054cc6770760e73ac0de594a0670/diffoscope-results.txt

Fail2ban installs the fail2ban-python symlink pointing to the host python
intepreter used to run setup.py, which is naturally not valid at runtime and
breaks the reproducible tests as shown in the diffoscope results:

│ -lrwxrwxrwx   0        0        0        0 2020-10-04 10:50:38.000000 ./usr/bin/fail2ban-python -> /home/naourr/work/instance-0/output-1/host/bin/python
│ +lrwxrwxrwx   0        0        0        0 2020-10-04 10:50:38.000000 ./usr/bin/fail2ban-python -> /home/naourr/work/instance-0/output-2/host/bin/python

As a workaround, update the symlink after installation to point to the
correct target python.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/fail2ban/fail2ban.mk

index a0a2dc704b08918557ff0ef9173a3654caa5c3bc..a4ee0852cc07e21f8c3ccc358e4a7f1f502276f4 100644 (file)
@@ -27,6 +27,13 @@ define FAIL2BAN_FIX_DEFAULT_CONFIG
 endef
 FAIL2BAN_POST_INSTALL_TARGET_HOOKS += FAIL2BAN_FIX_DEFAULT_CONFIG
 
+# fail2ban-python points to host python
+define FAIL2BAN_FIX_FAIL2BAN_PYTHON_SYMLINK
+       ln -snf $(if $(BR2_PACKAGE_PYTHON),python,python3) \
+               $(TARGET_DIR)/usr/bin/fail2ban-python
+endef
+FAIL2BAN_POST_INSTALL_TARGET_HOOKS += FAIL2BAN_FIX_FAIL2BAN_PYTHON_SYMLINK
+
 define FAIL2BAN_INSTALL_INIT_SYSV
        $(INSTALL) -D -m 755 package/fail2ban/S60fail2ban \
                $(TARGET_DIR)/etc/init.d/S60fail2ban