Closed issue by MeganerdNL on void-packages repository
https://github.com/void-linux/void-packages/issues/46714
Description:
### Is this a new report?
Yes
### System Info
Void 6.5.7_1 x86_64 AuthenticAMD/VM uptodate rF
### Package(s) Affected
fail2ban-1.0.2
### Does a report exist for this bug with the project's home (upstream) and/or another distro?
Yes it does: https://github.com/fail2ban/fail2ban/issues/3487
It is because `asynchat` module has been removed (amongst others) in python 3.12:
See: https://docs.python.org/3.12/whatsnew/3.12.html
### Expected behaviour
1. Byte-compile on install.
2. Start after installing.
### Actual behaviour
1. On install it will not byte-compile:
```
[*] Configuring unpacked packages
fail2ban-1.0.2_2: configuring ...
Byte-compiling python3.12 code for module fail2ban...
usr/lib/python3.12/site-packages/fail2ban/tests/fail2banregextestcase.py:224: SyntaxWarning: invalid escape sequence '\s'
"1490349000 test failed.dns.ch", "^\s*test \S+"
usr/lib/python3.12/site-packages/fail2ban/tests/fail2banregextestcase.py:435: SyntaxWarning: invalid escape sequence '\S'
'^'+prefix+'User \S+ not allowed\n'
usr/lib/python3.12/site-packages/fail2ban/tests/fail2banregextestcase.py:443: SyntaxWarning: invalid escape sequence '\S'
'^'+prefix+'User \S+ not allowed\n'
usr/lib/python3.12/site-packages/fail2ban/tests/fail2banregextestcase.py:444: SyntaxWarning: invalid escape sequence '\d'
'^'+prefix+'Received disconnect from port \d+'
usr/lib/python3.12/site-packages/fail2ban/tests/fail2banregextestcase.py:451: SyntaxWarning: invalid escape sequence '\s'
_test_variants('common', prefix="\s*\S+ sshd\[\d+\]:\s+")
usr/lib/python3.12/site-packages/fail2ban/tests/fail2banregextestcase.py:537: SyntaxWarning: invalid escape sequence '\['
'common[prefregex="^svc\[\d+\] connect .+$"'
usr/lib/python3.12/site-packages/fail2ban/tests/servertestcase.py:1375: SyntaxWarning: invalid escape sequence '\s'
"`{ nft -a list chain inet f2b-table f2b-chain | grep -oP '@addr-set-j-w-nft-mp\s+.*\s+\Khandle\s+(\d+)$'; } | while read -r hdl; do`",
usr/lib/python3.12/site-packages/fail2ban/tests/servertestcase.py:1378: SyntaxWarning: invalid escape sequence '\s'
"`{ nft -a list chain inet f2b-table f2b-chain | grep -oP '@addr6-set-j-w-nft-mp\s+.*\s+\Khandle\s+(\d+)$'; } | while read -r hdl; do`",
usr/lib/python3.12/site-packages/fail2ban/tests/servertestcase.py:1421: SyntaxWarning: invalid escape sequence '\s'
"`{ nft -a list chain inet f2b-table f2b-chain | grep -oP '@addr-set-j-w-nft-ap\s+.*\s+\Khandle\s+(\d+)$'; } | while read -r hdl; do`",
usr/lib/python3.12/site-packages/fail2ban/tests/servertestcase.py:1424: SyntaxWarning: invalid escape sequence '\s'
"`{ nft -a list chain inet f2b-table f2b-chain | grep -oP '@addr6-set-j-w-nft-ap\s+.*\s+\Khandle\s+(\d+)$'; } | while read -r hdl; do`",
usr/lib/python3.12/site-packages/fail2ban/tests/fail2banregextestcase.py:224: SyntaxWarning: invalid escape sequence '\s'
"1490349000 test failed.dns.ch", "^\s*test \S+"
usr/lib/python3.12/site-packages/fail2ban/tests/fail2banregextestcase.py:435: SyntaxWarning: invalid escape sequence '\S'
'^'+prefix+'User \S+ not allowed\n'
usr/lib/python3.12/site-packages/fail2ban/tests/fail2banregextestcase.py:443: SyntaxWarning: invalid escape sequence '\S'
'^'+prefix+'User \S+ not allowed\n'
usr/lib/python3.12/site-packages/fail2ban/tests/fail2banregextestcase.py:444: SyntaxWarning: invalid escape sequence '\d'
'^'+prefix+'Received disconnect from port \d+'
usr/lib/python3.12/site-packages/fail2ban/tests/fail2banregextestcase.py:451: SyntaxWarning: invalid escape sequence '\s'
_test_variants('common', prefix="\s*\S+ sshd\[\d+\]:\s+")
usr/lib/python3.12/site-packages/fail2ban/tests/fail2banregextestcase.py:537: SyntaxWarning: invalid escape sequence '\['
'common[prefregex="^svc\[\d+\] connect .+$"'
usr/lib/python3.12/site-packages/fail2ban/tests/servertestcase.py:1375: SyntaxWarning: invalid escape sequence '\s'
"`{ nft -a list chain inet f2b-table f2b-chain | grep -oP '@addr-set-j-w-nft-mp\s+.*\s+\Khandle\s+(\d+)$'; } | while read -r hdl; do`",
usr/lib/python3.12/site-packages/fail2ban/tests/servertestcase.py:1378: SyntaxWarning: invalid escape sequence '\s'
"`{ nft -a list chain inet f2b-table f2b-chain | grep -oP '@addr6-set-j-w-nft-mp\s+.*\s+\Khandle\s+(\d+)$'; } | while read -r hdl; do`",
usr/lib/python3.12/site-packages/fail2ban/tests/servertestcase.py:1421: SyntaxWarning: invalid escape sequence '\s'
"`{ nft -a list chain inet f2b-table f2b-chain | grep -oP '@addr-set-j-w-nft-ap\s+.*\s+\Khandle\s+(\d+)$'; } | while read -r hdl; do`",
usr/lib/python3.12/site-packages/fail2ban/tests/servertestcase.py:1424: SyntaxWarning: invalid escape sequence '\s'
"`{ nft -a list chain inet f2b-table f2b-chain | grep -oP '@addr6-set-j-w-nft-ap\s+.*\s+\Khandle\s+(\d+)$'; } | while read -r hdl; do`",
Updating ldconfig(8) cache...
fail2ban-1.0.2_2: installed successfully.
```
2. It will not start:
`2023-10-16 10:12:37,841 fail2ban [9232]: ERROR No module named 'asynchat'`
### Steps to reproduce
1. Install fail2ban
2. Start fail2ban