summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsebres <serg.brester@sebres.de>2016-08-12 16:41:55 +0200
committersebres <serg.brester@sebres.de>2016-08-12 16:48:11 +0200
commitc8e7c1f7f4527da431b41bd7d23d1b51dd135b20 (patch)
treedd3d74eeab4089b0d23a4e5904a493f4ac80a973
parentf390a82b597a7c6aa39fff33b6ef106ed0b45bdb (diff)
downloadfail2ban-c8e7c1f7f4527da431b41bd7d23d1b51dd135b20.tar.gz
BF: prefer sys.argv[0] by retrieving of root resp. bin path: __file__ seems to be overwritten sometimes on some python versions (e.g. bug of 2.6 by running under cProfile, etc.)
-rwxr-xr-xbin/fail2ban-testcases6
-rwxr-xr-xsetup.py6
2 files changed, 10 insertions, 2 deletions
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