После обновления до свежего Сизифа fail2ban не запускается на i586/systemd с диагностикой: =8<============================================================================== Jul 02 15:39:47 teer.kras.ru systemd[1]: Starting Fail2ban Service... Jul 02 15:39:47 teer.kras.ru fail2ban-client[12744]: Traceback (most recent call last): Jul 02 15:39:47 teer.kras.ru fail2ban-client[12744]: File "/usr/bin/fail2ban-client", line 30, in <module> Jul 02 15:39:47 teer.kras.ru fail2ban-client[12744]: from fail2ban.client.csocket import CSocket Jul 02 15:39:47 teer.kras.ru fail2ban-client[12744]: ImportError: No module named client.csocket Jul 02 15:39:47 teer.kras.ru systemd[1]: fail2ban.service: Control process exited, code=exited status=1 Jul 02 15:39:47 teer.kras.ru systemd[1]: Failed to start Fail2ban Service. =8<============================================================================== На другой машине (x86_64/systemd) тот же пакет 0.9.2-alt3 работает.
systemd ни при чём, а на x86_64 у меня работало в силу ручной допилки (и вообще пакет то noarch). При обновлении 0.8.13->0.9.2 потерялось много файлов (например тот же csocket.py). Их удаляет на позднем этапе сборки пакета /usr/lib/rpm/python.compileall.py. Я предполагаю это потому что python.compileall.py по умолчанию удаляет уже существующие файлы, созданные в данном случае setup.py, (о чём пишет в логе сборки) если их скомпилировал не он и не в данный проход (это задокументировано в /usr/share/doc/rpm-build-python-0.36.2/doc/ByteCompiler.txt). Помог вот такой однострочный патч: =8<======================================================= --- a/fail2ban.spec +++ b/fail2ban.spec @@ -46,7 +46,7 @@ ln -s %python_sitelibdir/%name %buildroot%_datadir/ install -pD -m 744 %SOURCE1 %buildroot%_initdir/fail2ban install -pD -m 644 %SOURCE2 %buildroot%_unitdir/%name.service install -pD -m 644 files/fail2ban-tmpfiles.conf %buildroot%_tmpfilesdir/%name.conf -%python_install +%python_install --optimize=2 rm -rf %buildroot/%_docdir/%name/ %pre =8<======================================================= проверил - работает. Другим подходом видимо могло бы быть изменение макроса %_python_compile_clean
fail2ban-0.9.2-alt4 -> sisyphus: * Wed Jul 08 2015 Eugeny A. Rostovtsev <real at altlinux> 0.9.2-alt4 - Fixed for i586 (ALT #31119)