Subject: bug#67017: closed (Close: [bug#67017] [PATCH v2] gnu: Add iptables-nft.)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 19 Dec 2023 14:03:02 +0000

Your bug report

#67017: [PATCH] gnu: Add iptables-nft.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
67017: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67017
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Close: [bug#67017] [PATCH v2] gnu: Add iptables-nft.
From: Hilton Chain <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: Tobias Geerinckx-Rice <[email-masked]>, [email-masked], Leo Famulari <[email-masked]>
Date: Tue, 19 Dec 2023 21:52:41 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

On Sat, 09 Dec 2023 20:32:18 +0800,
Hilton Chain wrote:
>
> Hi,
> On Mon, 27 Nov 2023 06:34:22 +0800,
> Ludovic Courtès wrote:
> >
> [...]
> > I think we at least need ‘synopsis’ to clarify what this is about
> > compared to ‘iptables’.
>
> Does it look good to append a "(nftables API)" to the synopsis of
> iptables?  So that it says "Programs to configure Linux IP packet
> filtering rules (nftables API)".

I used this for synopsis and applied the patch as
6884770464bd9ba95c1a5ccf10bf50d186a220d5.

Subject: [PATCH] gnu: Add iptables-nft.
From: Hilton Chain <[email-masked]>
To: [email-masked]
Cc: Hilton Chain <[email-masked]>
Date: Thu, 9 Nov 2023 22:36:44 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/linux.scm (iptables-nft): New variable.

Change-Id: I281514fcf05e70b4d62f374269c50c76bb676f78
---
 gnu/packages/linux.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 95a66e3d6a..596019ae5b 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -3101,6 +3101,33 @@ (define-public iptables
      '((release-monitoring-url . "https://www.netfilter.org/pub/iptables/")))
     (license license:gpl2+)))
 
+(define-public iptables-nft
+  (package/inherit iptables
+    (name "iptables-nft")
+    (arguments
+     (substitute-keyword-arguments (package-arguments iptables)
+       ((#:phases phases '%standard-phases)
+        #~(modify-phases #$phases
+            (add-after 'install 'symlink-xtables-nft-multi
+              (lambda _
+                (for-each
+                 (lambda (command-path)
+                   (let ((link-path (string-append #$output command-path)))
+                     (when (file-exists? link-path)
+                       (delete-file link-path))
+                     (symlink (string-append #$output "/sbin/xtables-nft-multi")
+                              link-path)))
+                 (apply append
+                        '("/bin/iptables-xml")
+                        (map (lambda (xtables)
+                               (list (string-append "/sbin/" xtables)
+                                     (string-append "/sbin/" xtables "-restore")
+                                     (string-append "/sbin/" xtables "-save")))
+                             '("arptables"
+                               "ebtables"
+                               "iptables"
+                               "ip6tables"))))))))))))
+
 (define-public bolt
   (package
     (name "bolt")

base-commit: 960d7ac5a56155895543e03622f6555cc162d13a
-- 
2.41.0