@ -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 )
@ -208,35 +232,20 @@ 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
] ,
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 " )