[PATCH 0/3] Updater for netfilter.org.

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Marius Bakke
Owner
unassigned
Submitted by
Marius Bakke
Severity
normal
M
M
Marius Bakke wrote on 5 Mar 2017 16:54
(address . guix-patches@gnu.org)(name . Marius Bakke)(address . mbakke@fastmail.com)
20170305155454.2147-1-mbakke@fastmail.com
Hello!

These three patches make it possible to use `guix refresh` to update
iptables (with signature verification etc).

It seems overkill to have a full updater for a single package, although
the latest iptables version require a few other packages from
netfilter.org.

Tips for how to generalize this welcome!

Marius Bakke (3):
guix: Add updater for netfilter.org.
download: Add netfilter mirror.
gnu: iptables: Use netfilter mirror.

doc/guix.texi | 2 ++
gnu/packages/linux.scm | 2 +-
guix/download.scm | 5 +++++
guix/gnu-maintenance.scm | 17 +++++++++++++++++
guix/scripts/refresh.scm | 4 +++-
5 files changed, 28 insertions(+), 2 deletions(-)

--
2.12.0
M
M
Marius Bakke wrote on 5 Mar 2017 16:56
[PATCH 1/3] guix: Add updater for netfilter.org.
(address . 25977@debbugs.gnu.org)(name . Marius Bakke)(address . mbakke@fastmail.com)
20170305155653.2469-1-mbakke@fastmail.com
* guix/gnu-maintenance.scm (latest-netfilter.org-release,
%netfilter.org-updater): New variables.
* doc/guix.texi (Invoking guix refresh): Mention it.
---
doc/guix.texi | 2 ++
guix/gnu-maintenance.scm | 17 +++++++++++++++++
guix/scripts/refresh.scm | 4 +++-
3 files changed, 22 insertions(+), 1 deletion(-)

Toggle diff (79 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 7c7729859..3507ee38f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -5525,6 +5525,8 @@ the updater for GNOME packages;
the updater for KDE packages;
@item xorg
the updater for X.org packages;
+@item netfilter.org
+the updater for packages hosted on netfilter.org;
@item kernel.org
the updater for packages hosted on kernel.org;
@item elpa
diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm
index 07e690964..e405dac88 100644
--- a/guix/gnu-maintenance.scm
+++ b/guix/gnu-maintenance.scm
@@ -61,6 +61,7 @@
%gnome-updater
%kde-updater
%xorg-updater
+ %netfilter.org-updater
%kernel.org-updater))
;;; Commentary:
@@ -540,6 +541,15 @@ source URLs starts with PREFIX."
#:directory
(string-append "/pub/xorg/" (dirname (uri-path uri)))))))
+(define (latest-netfilter.org-release package)
+ "Return the latest release of PACKAGE, the name of a netfilter.org package."
+ (let ((uri (string->uri (origin-uri (package-source package)))))
+ (false-if-ftp-error
+ (latest-ftp-release
+ (package-name package)
+ #:server "ftp.netfilter.org"
+ #:directory (string-append "/pub" (dirname (uri-path uri)))))))
+
(define (latest-kernel.org-release package)
"Return the latest release of PACKAGE, the name of a kernel.org package."
(let ((uri (string->uri (origin-uri (package-source package)))))
@@ -584,6 +594,13 @@ source URLs starts with PREFIX."
(pred (url-prefix-predicate "mirror://xorg/"))
(latest latest-xorg-release)))
+(define %netfilter.org-updater
+ (upstream-updater
+ (name 'netfilter.org)
+ (description "Updater for packages hosted on netfilter.org")
+ (pred (url-prefix-predicate "mirror://netfilter.org/"))
+ (latest latest-netfilter.org-release)))
+
(define %kernel.org-updater
(upstream-updater
(name 'kernel.org)
diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm
index 4d3c695aa..4c5ec6c77 100644
--- a/guix/scripts/refresh.scm
+++ b/guix/scripts/refresh.scm
@@ -36,6 +36,7 @@
%gnome-updater
%kde-updater
%xorg-updater
+ %netfilter.org-updater
%kernel.org-updater))
#:use-module (guix import elpa)
#:use-module (guix import cran)
@@ -211,7 +212,8 @@ unavailable optional dependencies such as Guile-JSON."
((guix import pypi) => %pypi-updater)
((guix import gem) => %gem-updater)
((guix import github) => %github-updater)
- ((guix import crate) => %crate-updater)))
+ ((guix import crate) => %crate-updater)
+ %netfilter.org-updater))
(define (lookup-updater-by-name name)
"Return the updater called NAME."
--
2.12.0
M
M
Marius Bakke wrote on 5 Mar 2017 16:56
[PATCH 2/3] download: Add netfilter mirror.
(address . 25977@debbugs.gnu.org)(name . Marius Bakke)(address . mbakke@fastmail.com)
20170305155653.2469-2-mbakke@fastmail.com
* guix/download.scm (%mirrors): Add mirrors for www.netfilter.org.
---
guix/download.scm | 5 +++++
1 file changed, 5 insertions(+)

Toggle diff (18 lines)
diff --git a/guix/download.scm b/guix/download.scm
index 86f859881..33870e8ba 100644
--- a/guix/download.scm
+++ b/guix/download.scm
@@ -124,6 +124,11 @@
"http://tenet.dl.sourceforge.net/project/"
"http://vorboss.dl.sourceforge.net/project/"
"http://netassist.dl.sourceforge.net/project/")
+ (netfilter.org ; https://www.netfilter.org/mirrors.html
+ "http://ftp.netfilter.org/pub/"
+ "ftp://ftp.es.netfilter.org/mirrors/netfilter/"
+ "ftp://ftp.hu.netfilter.org/"
+ "ftp://www.lt.netfilter.org/pub/")
(kernel.org
"http://www.all.kernel.org/pub/"
"http://ramses.wh2.tu-dresden.de/pub/mirrors/kernel.org/"
--
2.12.0
M
M
Marius Bakke wrote on 5 Mar 2017 16:56
[PATCH 3/3] gnu: iptables: Use netfilter mirror.
(address . 25977@debbugs.gnu.org)(name . Marius Bakke)(address . mbakke@fastmail.com)
20170305155653.2469-3-mbakke@fastmail.com
* gnu/packages/linux.scm (iptables)[source]: Download from mirror.
---
gnu/packages/linux.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 6e08473ec..a156455fb 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1018,7 +1018,7 @@ external rate conversion.")
(source (origin
(method url-fetch)
(uri (string-append
- "http://www.netfilter.org/projects/iptables/files/iptables-"
+ "mirror://netfilter.org/iptables/iptables-"
version ".tar.bz2"))
(sha256
(base32
--
2.12.0
L
L
Ludovic Courtès wrote on 7 Mar 2017 18:07
Re: bug#25977: [PATCH 0/3] Updater for netfilter.org.
(name . Marius Bakke)(address . mbakke@fastmail.com)(address . 25977@debbugs.gnu.org)
878toh9fro.fsf@gnu.org
Hi Marius!

Marius Bakke <mbakke@fastmail.com> skribis:

Toggle quote (3 lines)
> These three patches make it possible to use `guix refresh` to update
> iptables (with signature verification etc).

Cool!

Toggle quote (6 lines)
> It seems overkill to have a full updater for a single package, although
> the latest iptables version require a few other packages from
> netfilter.org.
>
> Tips for how to generalize this welcome!

I was thinking we could have a generic FTP updater (rather
FTP-with-signature updater). It would match packages whose source is
fetched over ftp already, or packages that have a special 'ftp-url
property, say.

How does that sound?

In the meantime your 3 patches LGTM. You can definitely apply #2 and
#3; as for #1, I think it’s fine, and we can always remove it when we
have a more generic updater.

Thanks!

Ludo’.
L
L
Ludovic Courtès wrote on 13 Mar 2017 14:09
control message for bug #25977
(address . control@debbugs.gnu.org)
87wpbte32n.fsf@gnu.org
tags 25977 moreinfo
M
M
Marius Bakke wrote on 22 Aug 2017 23:48
(address . control@debbugs.gnu.org)
874lsz2s0n.fsf@fastmail.com
close 25977

Mirrors pushed.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAlmcpqoACgkQoqBt8qM6
VPpsxgf8D5IZfy9Tl1jpiPeutj23O2zS+e4VMD6UdHzXY30iJWarnUJvzrXj1epy
9sXTdWOB+LllsPu9GMyrgkjGNdXDMltaC2/HKvpCSu14fEVN6uAiFVF7N125YWjX
JlghmgDrTHqu/h0A/nZ57KeK8WzR+HCPeJuInPYySb/rrZDbw8wLMxsqU9oP8Fzf
0B0ZBg7hBChKOFCImWii9SqAYBf+oPv5Tw5h3OyD5s7h3uhtAktS/FtmKmtyyZsq
pz4dyIaI4Y1cz+wEZ0q0N4GXqYAWmC+rYQ3PeT4rkxAbZgwTsbfjeKetsfAX+0xr
Anc0x01rtv1HmqfakqxuandeCJm5Pg==
=CeX1
-----END PGP SIGNATURE-----

?