|
|
|
@ -119,9 +119,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 = None
|
|
|
|
|
install.initialize_options(self)
|
|
|
|
|
def finalize_options(self):
|
|
|
|
|
global _2to3
|
|
|
|
@ -132,6 +134,28 @@ 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 is None:
|
|
|
|
|
self.distribution.scripts += [
|
|
|
|
|
'bin/fail2ban-testcases',
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
self.distribution.packages += [
|
|
|
|
|
'fail2ban.tests',
|
|
|
|
|
'fail2ban.tests.action_d',
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
self.distribution.package_data = {
|
|
|
|
|
'fail2ban.tests':
|
|
|
|
|
[ join(w[0], f).replace("fail2ban/tests/", "", 1)
|
|
|
|
|
for w in os.walk('fail2ban/tests/files')
|
|
|
|
|
for f in w[2]] +
|
|
|
|
|
[ join(w[0], f).replace("fail2ban/tests/", "", 1)
|
|
|
|
|
for w in os.walk('fail2ban/tests/config')
|
|
|
|
|
for f in w[2]] +
|
|
|
|
|
[ join(w[0], f).replace("fail2ban/tests/", "", 1)
|
|
|
|
|
for w in os.walk('fail2ban/tests/action_d')
|
|
|
|
|
for f in w[2]]
|
|
|
|
|
}
|
|
|
|
|
install.finalize_options(self)
|
|
|
|
|
def run(self):
|
|
|
|
|
install.run(self)
|
|
|
|
@ -215,28 +239,13 @@ setup(
|
|
|
|
|
'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
|
|
|
|
|
],
|
|
|
|
|
packages = [
|
|
|
|
|
'fail2ban',
|
|
|
|
|
'fail2ban.client',
|
|
|
|
|
'fail2ban.server',
|
|
|
|
|
'fail2ban.tests',
|
|
|
|
|
'fail2ban.tests.action_d',
|
|
|
|
|
],
|
|
|
|
|
package_data = {
|
|
|
|
|
'fail2ban.tests':
|
|
|
|
|
[ join(w[0], f).replace("fail2ban/tests/", "", 1)
|
|
|
|
|
for w in os.walk('fail2ban/tests/files')
|
|
|
|
|
for f in w[2]] +
|
|
|
|
|
[ join(w[0], f).replace("fail2ban/tests/", "", 1)
|
|
|
|
|
for w in os.walk('fail2ban/tests/config')
|
|
|
|
|
for f in w[2]] +
|
|
|
|
|
[ join(w[0], f).replace("fail2ban/tests/", "", 1)
|
|
|
|
|
for w in os.walk('fail2ban/tests/action_d')
|
|
|
|
|
for f in w[2]]
|
|
|
|
|
},
|
|
|
|
|
data_files = [
|
|
|
|
|
('/etc/fail2ban',
|
|
|
|
|
glob("config/*.conf")
|
|
|
|
|