summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorsebres <serg.brester@sebres.de>2020-11-23 14:59:45 +0100
committersebres <serg.brester@sebres.de>2020-11-23 14:59:45 +0100
commita107a8e7d2f1e55e317425cc12acbd813d9e6dee (patch)
treed1c90273626ff6d065ced1b4b118469ee5665144 /setup.py
parent9c8dcbd6eb4c55e39ac9338d248581577221c2d2 (diff)
downloadfail2ban-a107a8e7d2f1e55e317425cc12acbd813d9e6dee.tar.gz
setup.py: cherry-pick from 0.11 (option --without-tests)
Diffstat (limited to 'setup.py')
-rwxr-xr-xsetup.py29
1 files changed, 24 insertions, 5 deletions
diff --git a/setup.py b/setup.py
index 8da29268..2e2a77fa 100755
--- a/setup.py
+++ b/setup.py
@@ -63,6 +63,8 @@ source_dir = os.path.realpath(os.path.dirname(
sys.argv[0] if os.path.basename(sys.argv[0]) == 'setup.py' else __file__
))
+with_tests = True
+
# Wrapper to install python binding (to current python version):
class install_scripts_f2b(install_scripts):
@@ -119,9 +121,11 @@ class install_scripts_f2b(install_scripts):
class install_command_f2b(install):
user_options = install.user_options + [
('disable-2to3', None, 'Specify to deactivate 2to3, e.g. if the install runs from fail2ban test-cases.'),
+ ('without-tests', None, 'without tests files installation'),
]
def initialize_options(self):
self.disable_2to3 = None
+ self.without_tests = not with_tests
install.initialize_options(self)
def finalize_options(self):
global _2to3
@@ -132,6 +136,13 @@ class install_command_f2b(install):
cmdclass = self.distribution.cmdclass
cmdclass['build_py'] = build_py_2to3
cmdclass['build_scripts'] = build_scripts_2to3
+ if self.without_tests:
+ self.distribution.scripts.remove('bin/fail2ban-testcases')
+
+ self.distribution.packages.remove('fail2ban.tests')
+ self.distribution.packages.remove('fail2ban.tests.action_d')
+
+ del self.distribution.package_data['fail2ban.tests']
install.finalize_options(self)
def run(self):
install.run(self)
@@ -159,6 +170,12 @@ elif "test" in sys.argv:
print("python distribute required to execute fail2ban tests")
print("")
+# if build without tests:
+if "build" in sys.argv:
+ if "--without-tests" in sys.argv:
+ with_tests = False
+ sys.argv.remove("--without-tests")
+
longdesc = '''
Fail2Ban scans log files like /var/log/pwdfail or
/var/log/apache/error_log and bans IP that makes
@@ -208,23 +225,25 @@ setup(
license = "GPL",
platforms = "Posix",
cmdclass = {
- 'build_py': build_py, 'build_scripts': build_scripts,
+ 'build_py': build_py, 'build_scripts': build_scripts,
'install_scripts': install_scripts_f2b, 'install': install_command_f2b
},
scripts = [
'bin/fail2ban-client',
'bin/fail2ban-server',
'bin/fail2ban-regex',
- 'bin/fail2ban-testcases',
# 'bin/fail2ban-python', -- link (binary), will be installed via install_scripts_f2b wrapper
- ],
+ ] + [
+ 'bin/fail2ban-testcases',
+ ] if with_tests else [],
packages = [
'fail2ban',
'fail2ban.client',
'fail2ban.server',
+ ] + [
'fail2ban.tests',
'fail2ban.tests.action_d',
- ],
+ ] if with_tests else [],
package_data = {
'fail2ban.tests':
[ join(w[0], f).replace("fail2ban/tests/", "", 1)
@@ -236,7 +255,7 @@ setup(
[ join(w[0], f).replace("fail2ban/tests/", "", 1)
for w in os.walk('fail2ban/tests/action_d')
for f in w[2]]
- },
+ } if with_tests else {},
data_files = [
('/etc/fail2ban',
glob("config/*.conf")