diff --git a/bin/fail2ban-testcases b/bin/fail2ban-testcases index 34d392e4..7e5f7aca 100755 --- a/bin/fail2ban-testcases +++ b/bin/fail2ban-testcases @@ -45,7 +45,11 @@ from fail2ban.server.mytime import MyTime from optparse import OptionParser, Option # Update fail2ban-python env to current python version (where f2b-modules located/installed) -updatePyExec(os.path.dirname(__file__)) +bindir = os.path.dirname( + # __file__ seems to be overwritten sometimes on some python versions (e.g. bug of 2.6 by running under cProfile, etc.): + sys.argv[0] if os.path.basename(sys.argv[0]) == 'fail2ban-testcases' else __file__ +) +updatePyExec(bindir) def get_opt_parser(): # use module docstring for help output diff --git a/setup.py b/setup.py index be1fe685..11d0a20b 100755 --- a/setup.py +++ b/setup.py @@ -66,7 +66,11 @@ class install_scripts_f2b(install_scripts): # Update fail2ban-python env to current python version (where f2b-modules located/installed) -updatePyExec(os.path.join(os.path.dirname(__file__), 'bin')) +rootdir = os.path.realpath(os.path.dirname( + # __file__ seems to be overwritten sometimes on some python versions (e.g. bug of 2.6 by running under cProfile, etc.): + sys.argv[0] if os.path.basename(sys.argv[0]) == 'setup.py' else __file__ +)) +updatePyExec(os.path.join(rootdir, 'bin')) if setuptools and "test" in sys.argv: import logging