From 7b7fa3c02d4575c09362336bc310835c37859f1a Mon Sep 17 00:00:00 2001 From: Angelo Compagnucci Date: Fri, 19 Apr 2024 22:47:20 +0200 Subject: [PATCH] setup.py: fix data relative paths MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As per distutils documentation: The directory should be a relative path. It is interpreted relative to the installation prefix (Python’s sys.prefix for system installations; site.USER_BASE for user installations). Distutils allows directory to be an absolute installation path, but this is discouraged since it is incompatible with the wheel packaging format [1]. When packaging to a bdist_wheel indeed, the files in the "data_files" dictionary are not picked at all as data files if they have an absolute path, but they are instead added to the wheel as python files. This has the effect of installing them as part of python files in the site-packages folder when the wheel is installed. This patch cannot be sent upstream because it breaks the legacy way of installing the package with *python setup.py install* and it is needed only to comply with the pep517 buildroot compatibility layer. [1] https://docs.python.org/3.10/distutils/setupscript.html#installing-additional-files Signed-off-by: Angelo Compagnucci Upstream: N/A [breaks traditional setuptools installation] --- setup.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/setup.py b/setup.py index 91f71cf2..99ba2e32 100755 --- a/setup.py +++ b/setup.py @@ -238,26 +238,26 @@ setup( for f in w[2]] } if with_tests else {}, data_files = [ - ('/etc/fail2ban', + ('etc/fail2ban', glob("config/*.conf") ), - ('/etc/fail2ban/filter.d', + ('etc/fail2ban/filter.d', glob("config/filter.d/*.conf") ), - ('/etc/fail2ban/filter.d/ignorecommands', + ('etc/fail2ban/filter.d/ignorecommands', [p for p in glob("config/filter.d/ignorecommands/*") if isfile(p)] ), - ('/etc/fail2ban/action.d', + ('etc/fail2ban/action.d', glob("config/action.d/*.conf") + glob("config/action.d/*.py") ), - ('/etc/fail2ban/fail2ban.d', + ('etc/fail2ban/fail2ban.d', '' ), - ('/etc/fail2ban/jail.d', + ('etc/fail2ban/jail.d', '' ), - ('/var/lib/fail2ban', + ('var/lib/fail2ban', '' ), ] + data_files_extra, -- 2.34.1