commit: 56503f6777856b3e3b37ae6046c2ef39d4addbb8 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Sun Jul 2 20:31:54 2023 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sun Jul 2 20:32:52 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56503f67
net-analyzer/fail2ban: avoid test umask affecting installed files Bug: https://bugs.gentoo.org/790251 Closes: https://bugs.gentoo.org/907350 Signed-off-by: Sam James <sam <AT> gentoo.org> ...il2ban-9999.ebuild => fail2ban-1.0.2-r2.ebuild} | 9 ++++- net-analyzer/fail2ban/fail2ban-9999.ebuild | 1 + .../files/fail2ban-1.0.2-umask-tests.patch | 45 ++++++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) diff --git a/net-analyzer/fail2ban/fail2ban-9999.ebuild b/net-analyzer/fail2ban/fail2ban-1.0.2-r2.ebuild similarity index 94% copy from net-analyzer/fail2ban/fail2ban-9999.ebuild copy to net-analyzer/fail2ban/fail2ban-1.0.2-r2.ebuild index 19d76da94cf4..a440fa2f6374 100644 --- a/net-analyzer/fail2ban/fail2ban-9999.ebuild +++ b/net-analyzer/fail2ban/fail2ban-1.0.2-r2.ebuild @@ -4,7 +4,6 @@ EAPI=8 DISTUTILS_SINGLE_IMPL=1 -DISUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{10..11} ) inherit bash-completion-r1 distutils-r1 systemd tmpfiles @@ -39,6 +38,8 @@ DOCS=( ChangeLog DEVELOP README.md THANKS TODO doc/run-rootless.txt ) PATCHES=( "${FILESDIR}"/${PN}-0.11.2-adjust-apache-logs-paths.patch + "${FILESDIR}"/${PN}-1.0.2-umask-tests.patch + "${FILESDIR}"/${P}-configreader-warning.patch ) python_prepare_all() { @@ -49,10 +50,16 @@ python_prepare_all() { sed -i -e 's|/var\(/run/fail2ban\)|\1|g' {} + || die } +python_compile() { + ./fail2ban-2to3 || die + distutils-r1_python_compile +} + python_test() { # Skip testRepairDb for bug #907348 (didn't always fail..) bin/fail2ban-testcases \ --no-network \ + --no-gamin \ --ignore databasetestcase.DatabaseTest.testRepairDb \ --verbosity=4 || die "Tests failed with ${EPYTHON}" diff --git a/net-analyzer/fail2ban/fail2ban-9999.ebuild b/net-analyzer/fail2ban/fail2ban-9999.ebuild index 19d76da94cf4..b657eb644f4a 100644 --- a/net-analyzer/fail2ban/fail2ban-9999.ebuild +++ b/net-analyzer/fail2ban/fail2ban-9999.ebuild @@ -39,6 +39,7 @@ DOCS=( ChangeLog DEVELOP README.md THANKS TODO doc/run-rootless.txt ) PATCHES=( "${FILESDIR}"/${PN}-0.11.2-adjust-apache-logs-paths.patch + "${FILESDIR}"/${PN}-1.0.2-umask-tests.patch ) python_prepare_all() { diff --git a/net-analyzer/fail2ban/files/fail2ban-1.0.2-umask-tests.patch b/net-analyzer/fail2ban/files/fail2ban-1.0.2-umask-tests.patch new file mode 100644 index 000000000000..8feca43412ec --- /dev/null +++ b/net-analyzer/fail2ban/files/fail2ban-1.0.2-umask-tests.patch @@ -0,0 +1,45 @@ +Avoid corrupting umask permanently in the testdir because of fail2ban/server/server.py::start. + +In particular: +* https://bugs.gentoo.org/659010#c11 +* https://bugs.gentoo.org/790251#c10 +* https://bugs.gentoo.org/907350 + +But see also the many dupes. +--- a/fail2ban/tests/fail2banclienttestcase.py ++++ b/fail2ban/tests/fail2banclienttestcase.py +@@ -23,6 +23,7 @@ __author__ = "Serg Brester" + __copyright__ = "Copyright (c) 2014- Serg G. Brester (sebres), 2008- Fail2Ban Contributors" + __license__ = "GPL" + ++import atexit + import fileinput + import os + import re +@@ -40,6 +41,14 @@ from ..client.fail2bancmdline import Fail2banCmdLine + from ..client.fail2banclient import exec_command_line as _exec_client, CSocket, VisualWait + from ..client.fail2banserver import Fail2banServer, exec_command_line as _exec_server + from .. import protocol ++ ++def current_umask(): ++ tmp = os.umask(0o022) ++ os.umask(tmp) ++ return tmp ++ ++old_umask = current_umask() ++ + from ..server import server + from ..server.mytime import MyTime + from ..server.utils import Utils +@@ -48,6 +57,11 @@ from .utils import LogCaptureTestCase, logSys as DefLogSys, with_tmpdir, shutil, + + from ..helpers import getLogger + ++def restore_umask(): ++ os.umask(old_umask) ++ ++atexit.register(restore_umask) ++ + # Gets the instance of the logger. + logSys = getLogger(__name__) +