mirror of https://github.com/fail2ban/fail2ban
Merge branch '0.11' into master
commit
5093ff8956
|
@ -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
|
||||||
|
|
|
@ -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):
|
||||||
|
|
24
setup.py
24
setup.py
|
@ -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",
|
||||||
|
|
Loading…
Reference in New Issue