[bug#78066,v2,4/5] gnu: fail2ban: Improve snippet.
Commit Message
* gnu/packages/admin.scm (fail2ban)
[source]<modules>: Remove (srfi srfi-26).
<snippet>: Use gexp. Move substitute* patches...
[arguments]<phases>: ...to phases 'patch-setup.py and 'disable-some-tests.
---
gnu/packages/admin.scm | 127 +++++++++++++++++++++--------------------
1 file changed, 64 insertions(+), 63 deletions(-)
@@ -6241,69 +6241,36 @@ (define-public fail2ban
(file-name (git-file-name name version))
(sha256
(base32 "0lfakna6ad2xwz95sjxzkavipcsxiy7ybavkdkf9zzmspf2ws4yk"))
- (modules '((guix build utils)
- (srfi srfi-26)))
- (snippet '(begin
- ;; deleting things that are not feasible to fix
- ;; or won't be used any way
- (with-directory-excursion "config"
- (for-each delete-file
- '("paths-arch.conf" "paths-debian.conf"
- "paths-fedora.conf" "paths-freebsd.conf"
- "paths-opensuse.conf" "paths-osx.conf")))
- (with-directory-excursion "config/action.d"
- (for-each delete-file
- '("apf.conf" "bsd-ipfw.conf"
- "dshield.conf"
- "ipfilter.conf"
- "ipfw.conf"
- "firewallcmd-allports.conf"
- "firewallcmd-common.conf"
- "firewallcmd-ipset.conf"
- "firewallcmd-multiport.conf"
- "firewallcmd-new.conf"
- "firewallcmd-rich-logging.conf"
- "firewallcmd-rich-rules.conf"
- "osx-afctl.conf"
- "osx-ipfw.conf"
- "pf.conf"
- "nginx-block-map.conf"
- "npf.conf"
- "shorewall.conf"
- "shorewall-ipset-proto6.conf"
- "ufw.conf")))
- ;; Get rid of absolute file names.
- (substitute* "setup.py"
- (("/etc/fail2ban")
- "etc/fail2ban")
- (("/var/lib/fail2ban")
- "var/lib/fail2ban")
- (("\"/usr/bin/\"")
- "\"usr/bin/\"")
- (("\"/usr/lib/fail2ban/\"")
- "\"usr/lib/fail2ban/\"")
- (("'/usr/share/doc/fail2ban'")
- "'usr/share/doc/fail2ban'"))
- ;; disable tests performing unacceptable side-effects
- (let ((make-suite (cut string-append
- "tests.addTest\\(loadTests\\(" <>
- "\\)\\)")))
- (substitute* "fail2ban/tests/utils.py"
- (((make-suite "actiontestcase.CommandActionTest"))
- "")
- (((make-suite "misctestcase.SetupTest"))
- "")
- (((make-suite "filtertestcase.DNSUtilsNetworkTests"))
- "")
- (((make-suite "filtertestcase.IgnoreIPDNS"))
- "")
- (((make-suite "filtertestcase.GetFailures"))
- "")
- (((make-suite
- "fail2banclienttestcase.Fail2banServerTest"))
- "")
- (((make-suite "servertestcase.ServerConfigReaderTests"))
- "")))))
+ (modules '((guix build utils)))
+ (snippet #~(begin
+ ;; deleting things that are not feasible to fix
+ ;; or won't be used any way
+ (with-directory-excursion "config"
+ (for-each delete-file
+ '("paths-arch.conf" "paths-debian.conf"
+ "paths-fedora.conf" "paths-freebsd.conf"
+ "paths-opensuse.conf" "paths-osx.conf")))
+ (with-directory-excursion "config/action.d"
+ (for-each delete-file
+ '("apf.conf" "bsd-ipfw.conf"
+ "dshield.conf"
+ "ipfilter.conf"
+ "ipfw.conf"
+ "firewallcmd-allports.conf"
+ "firewallcmd-common.conf"
+ "firewallcmd-ipset.conf"
+ "firewallcmd-multiport.conf"
+ "firewallcmd-new.conf"
+ "firewallcmd-rich-logging.conf"
+ "firewallcmd-rich-rules.conf"
+ "osx-afctl.conf"
+ "osx-ipfw.conf"
+ "pf.conf"
+ "nginx-block-map.conf"
+ "npf.conf"
+ "shorewall.conf"
+ "shorewall-ipset-proto6.conf"
+ "ufw.conf")))))
(patches (search-patches "fail2ban-paths-guix-conf.patch"))))
(build-system pyproject-build-system)
(arguments
@@ -6316,6 +6283,40 @@ (define-public fail2ban
(substitute* '("bin/fail2ban-testcases" "setup.py")
((".*updatePyExec.*")
""))))
+ (add-after 'unpack 'patch-setup.py
+ (lambda _
+ ;; Get rid of absolute file names.
+ (substitute* "setup.py"
+ (("/etc/fail2ban")
+ "etc/fail2ban")
+ (("/var/lib/fail2ban")
+ "var/lib/fail2ban")
+ (("\"/usr/bin/\"")
+ "\"usr/bin/\"")
+ (("\"/usr/lib/fail2ban/\"")
+ "\"usr/lib/fail2ban/\"")
+ (("'/usr/share/doc/fail2ban'")
+ "'usr/share/doc/fail2ban'"))))
+ (add-after 'unpack 'disable-some-tests
+ (lambda _
+ (define (make-suite str)
+ (string-append "tests.addTest\\(loadTests\\(" str "\\)\\)"))
+ ;; disable tests performing unacceptable side-effects
+ (substitute* "fail2ban/tests/utils.py"
+ (((make-suite "actiontestcase.CommandActionTest"))
+ "")
+ (((make-suite "misctestcase.SetupTest"))
+ "")
+ (((make-suite "filtertestcase.DNSUtilsNetworkTests"))
+ "")
+ (((make-suite "filtertestcase.IgnoreIPDNS"))
+ "")
+ (((make-suite "filtertestcase.GetFailures"))
+ "")
+ (((make-suite "fail2banclienttestcase.Fail2banServerTest"))
+ "")
+ (((make-suite "servertestcase.ServerConfigReaderTests"))
+ ""))))
(add-before 'install 'fix-default-config
(lambda _
(substitute* '("config/paths-common.conf"