Merge branch '0.11' into master

pull/3120/head
sebres 2021-09-19 18:54:23 +02:00
commit 5093ff8956
3 changed files with 14 additions and 30 deletions

View File

@ -44,12 +44,15 @@ jobs:
- name: Install dependencies - name: Install dependencies
run: | run: |
python -m pip install --upgrade pip #python -m pip install --upgrade pip
if [[ "$F2B_PY" = 3 ]] && ! command -v 2to3x -v 2to3 > /dev/null; then if [[ "$F2B_PY" = 3 ]] && ! command -v 2to3x -v 2to3 > /dev/null; then
pip install 2to3 #pip install 2to3
sudo apt-get -y install 2to3
fi fi
pip install systemd-python || echo 'systemd not available' #pip install systemd-python || echo 'systemd not available'
pip install pyinotify || echo 'inotify not available' #pip install pyinotify || echo 'inotify not available'
sudo apt-get -y install python${F2B_PY/2/}-systemd || echo 'systemd not available'
sudo apt-get -y install python${F2B_PY/2/}-pyinotify || echo 'inotify not available'
- name: Before scripts - name: Before scripts
run: | run: |
@ -62,5 +65,8 @@ jobs:
- name: Test suite - name: Test suite
run: if [[ "$F2B_PY" = 2 ]]; then python setup.py test; else python bin/fail2ban-testcases --verbosity=2; fi run: if [[ "$F2B_PY" = 2 ]]; then python setup.py test; else python bin/fail2ban-testcases --verbosity=2; fi
- name: Build
run: python setup.py build
#- name: Test initd scripts #- name: Test initd scripts
# run: shellcheck -s bash -e SC1090,SC1091 files/debian-initd # run: shellcheck -s bash -e SC1090,SC1091 files/debian-initd

View File

@ -111,7 +111,7 @@ class SetupTest(unittest.TestCase):
supdbgout = ' >/dev/null 2>&1' if unittest.F2B.log_level >= logging.DEBUG else '' # HEAVYDEBUG supdbgout = ' >/dev/null 2>&1' if unittest.F2B.log_level >= logging.DEBUG else '' # HEAVYDEBUG
try: try:
# try dry-run: # try dry-run:
os.system("%s %s --dry-run install --disable-2to3 --root=%s%s" os.system("%s %s --dry-run install --root=%s%s"
% (sys.executable, self.setup , tmp, supdbgout)) % (sys.executable, self.setup , tmp, supdbgout))
# check nothing was created: # check nothing was created:
self.assertTrue(not os.listdir(tmp)) self.assertTrue(not os.listdir(tmp))
@ -127,7 +127,7 @@ class SetupTest(unittest.TestCase):
# suppress stdout (and stderr) if not heavydebug # suppress stdout (and stderr) if not heavydebug
supdbgout = ' >/dev/null' if unittest.F2B.log_level >= logging.DEBUG else '' # HEAVYDEBUG supdbgout = ' >/dev/null' if unittest.F2B.log_level >= logging.DEBUG else '' # HEAVYDEBUG
try: try:
self.assertEqual(os.system("%s %s install --disable-2to3 --root=%s%s" self.assertEqual(os.system("%s %s install --root=%s%s"
% (sys.executable, self.setup, tmp, supdbgout)), 0) % (sys.executable, self.setup, tmp, supdbgout)), 0)
def strippath(l): def strippath(l):

View File

@ -39,14 +39,6 @@ from distutils.command.build_scripts import build_scripts
if setuptools is None: if setuptools is None:
from distutils.command.install import install from distutils.command.install import install
from distutils.command.install_scripts import install_scripts from distutils.command.install_scripts import install_scripts
try:
# python 3.x
from distutils.command.build_py import build_py_2to3
from distutils.command.build_scripts import build_scripts_2to3
_2to3 = True
except ImportError:
# python 2.x
_2to3 = False
import os import os
from os.path import isfile, join, isdir, realpath from os.path import isfile, join, isdir, realpath
@ -56,7 +48,7 @@ import warnings
from glob import glob from glob import glob
from fail2ban.setup import updatePyExec from fail2ban.setup import updatePyExec
from fail2ban.version import version
source_dir = os.path.realpath(os.path.dirname( source_dir = 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.): # __file__ seems to be overwritten sometimes on some python versions (e.g. bug of 2.6 by running under cProfile, etc.):
@ -120,22 +112,12 @@ class install_scripts_f2b(install_scripts):
# Wrapper to specify fail2ban own options: # Wrapper to specify fail2ban own options:
class install_command_f2b(install): class install_command_f2b(install):
user_options = install.user_options + [ 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'), ('without-tests', None, 'without tests files installation'),
] ]
def initialize_options(self): def initialize_options(self):
self.disable_2to3 = None
self.without_tests = not with_tests self.without_tests = not with_tests
install.initialize_options(self) install.initialize_options(self)
def finalize_options(self): def finalize_options(self):
global _2to3
## in the test cases 2to3 should be already done (fail2ban-2to3):
if self.disable_2to3:
_2to3 = False
if _2to3:
cmdclass = self.distribution.cmdclass
cmdclass['build_py'] = build_py_2to3
cmdclass['build_scripts'] = build_scripts_2to3
if self.without_tests: if self.without_tests:
self.distribution.scripts.remove('bin/fail2ban-testcases') self.distribution.scripts.remove('bin/fail2ban-testcases')
@ -186,7 +168,6 @@ commands.'''
if setuptools: if setuptools:
setup_extra = { setup_extra = {
'test_suite': "fail2ban.tests.utils.gatherTests", 'test_suite': "fail2ban.tests.utils.gatherTests",
'use_2to3': True,
} }
else: else:
setup_extra = {} setup_extra = {}
@ -210,9 +191,6 @@ if platform_system in ('linux', 'solaris', 'sunos') or platform_system.startswit
('/usr/share/doc/fail2ban', doc_files) ('/usr/share/doc/fail2ban', doc_files)
) )
# Get version number, avoiding importing fail2ban.
# This is due to tests not functioning for python3 as 2to3 takes place later
exec(open(join("fail2ban", "version.py")).read())
setup( setup(
name = "fail2ban", name = "fail2ban",