GNU logs - #45643, boring messages


Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#45643] [PATCH 0/3] Better Support for ZFS on Guix
Resent-From: raid5atemyhomework <raid5atemyhomework@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Mon, 04 Jan 2021 01:03:02 +0000
Resent-Message-ID: <handler.45643.B.160972215813659 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 45643
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 45643 <at> debbugs.gnu.org
X-Debbugs-Original-To: "guix-patches@HIDDEN" <guix-patches@HIDDEN>
Reply-To: raid5atemyhomework <raid5atemyhomework@HIDDEN>
Received: via spool by submit <at> debbugs.gnu.org id=B.160972215813659
          (code B ref -1); Mon, 04 Jan 2021 01:03:02 +0000
Received: (at submit) by debbugs.gnu.org; 4 Jan 2021 01:02:38 +0000
Received: from localhost ([127.0.0.1]:38991 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kwEGc-0003YF-5o
	for submit <at> debbugs.gnu.org; Sun, 03 Jan 2021 20:02:38 -0500
Received: from lists.gnu.org ([209.51.188.17]:49194)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raid5atemyhomework@HIDDEN>)
 id 1kwEGa-0003Y6-7y
 for submit <at> debbugs.gnu.org; Sun, 03 Jan 2021 20:02:37 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:43330)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <raid5atemyhomework@HIDDEN>)
 id 1kwEGa-0008GA-1N
 for guix-patches@HIDDEN; Sun, 03 Jan 2021 20:02:36 -0500
Received: from mail-40141.protonmail.ch ([185.70.40.141]:61963)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <raid5atemyhomework@HIDDEN>)
 id 1kwEGW-0007z5-Rx
 for guix-patches@HIDDEN; Sun, 03 Jan 2021 20:02:35 -0500
Date: Mon, 04 Jan 2021 01:02:25 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail; t=1609722149;
 bh=MtqWHyTFjXNj1OdDmkAr8BW1wORE+xVii4yjgrLSxps=;
 h=Date:To:From:Reply-To:Subject:From;
 b=w1qPPJO5E51voUjL+dikvhipST8akHybLqX3vN2rKbKcmTwmLq5DTSJcKiHbZjj6P
 WxcSoe6U+EynhpNQQuVs6NJufstQATRLFuMmF4bqh6HUA8b6QocZGpTasOs/FUEeRJ
 oHXBCMiL/8i6EZt/M4o42ZCMs6tsHT4jTHKDpy1M=
From: raid5atemyhomework <raid5atemyhomework@HIDDEN>
Message-ID: <KsQRoKgO0OqFaU5n-6nXB2fBwhViqfa-T12IzGcIDCtZFGhGfKz_8cVrnk2IVYQERMjIhw7MV6nOQxMZ0nZn2ddHQFQi4jJJf_spXGkUgkg=@protonmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED,
 DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM shortcircuit=no
 autolearn=disabled version=3.4.4
X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on
 mailout.protonmail.ch
Received-SPF: pass client-ip=185.70.40.141;
 envelope-from=raid5atemyhomework@HIDDEN; helo=mail-40141.protonmail.ch
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.6 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

ZFS package is broken, and we should really recompile ZFS at each kernel up=
date anyway.

This patchset includes:

* Patch 1:
  * Fixes for "util-linux" dependency which causes problems with mounting Z=
FS datasets.
  * Expose a "make-zfs-package" procedure to create kernel-specific ZFS pac=
kages as suggested here: https://issues.guix.gnu.org/45403#3
  * Add a service "zfs-loader-service-type" that provisions "zfs-loader", t=
hat modprobes ZFS and automounts ZFS datasets at bootup. The latter behavio=
r is what is expected of ZFS from other OSs, so it's best to imitate that a=
s well.
  * Document how to set up and use the above.
  * This makes ZFS on Guix actually *possible*.  Tested in a VM.
* Patch 2:
  * Make the "file-systems" provisioning service a target similar to "user-=
processes", so that other services can insert themselves into "file-systems=
" mounting.
  * Make the "zfs-loader" part of the "file-systems" target if it is instan=
tiated.
  * This enables /home on ZFS (previous patch is not enough as "user-homes"=
 service is part of the "user-processes"; we need to make ZFS loading and m=
ounting earlier).
* Patch 3
  * Disable checking of "device" field for declared file-systems that are o=
f type "zfs".
  * Make file-systems of type "zfs" dependent on "zfs-loader" to ensure tha=
t "zfs" module is loaded and all pools are imported and known by the ZFS mo=
dule.
  * This enables declaring ZFS datasets as (file-system ...) declarations, =
if the sysad wants to explicitly document the mountpoints in the configurat=
ion file rather than having ZFS manage mountpoints.





Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: raid5atemyhomework <raid5atemyhomework@HIDDEN>
Subject: bug#45643: Acknowledgement ([PATCH 0/3] Better Support for ZFS on
 Guix)
Message-ID: <handler.45643.B.160972215813659.ack <at> debbugs.gnu.org>
References: <KsQRoKgO0OqFaU5n-6nXB2fBwhViqfa-T12IzGcIDCtZFGhGfKz_8cVrnk2IVYQERMjIhw7MV6nOQxMZ0nZn2ddHQFQi4jJJf_spXGkUgkg=@protonmail.com>
X-Gnu-PR-Message: ack 45643
X-Gnu-PR-Package: guix-patches
X-Gnu-PR-Keywords: patch
Reply-To: 45643 <at> debbugs.gnu.org
Date: Mon, 04 Jan 2021 01:03:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 guix-patches@HIDDEN

If you wish to submit further information on this problem, please
send it to 45643 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
45643: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D45643
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#45643] [PATCH 1/3] gnu, doc: Create and document procedure to compile ZFS for specific kernel.
References: <KsQRoKgO0OqFaU5n-6nXB2fBwhViqfa-T12IzGcIDCtZFGhGfKz_8cVrnk2IVYQERMjIhw7MV6nOQxMZ0nZn2ddHQFQi4jJJf_spXGkUgkg=@protonmail.com>
In-Reply-To: <KsQRoKgO0OqFaU5n-6nXB2fBwhViqfa-T12IzGcIDCtZFGhGfKz_8cVrnk2IVYQERMjIhw7MV6nOQxMZ0nZn2ddHQFQi4jJJf_spXGkUgkg=@protonmail.com>
Resent-From: raid5atemyhomework <raid5atemyhomework@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Mon, 04 Jan 2021 01:06:02 +0000
Resent-Message-ID: <handler.45643.B45643.160972234113962 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 45643
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: "45643 <at> debbugs.gnu.org" <45643 <at> debbugs.gnu.org>
Reply-To: raid5atemyhomework <raid5atemyhomework@HIDDEN>
Received: via spool by 45643-submit <at> debbugs.gnu.org id=B45643.160972234113962
          (code B ref 45643); Mon, 04 Jan 2021 01:06:02 +0000
Received: (at 45643) by debbugs.gnu.org; 4 Jan 2021 01:05:41 +0000
Received: from localhost ([127.0.0.1]:38999 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kwEJY-0003d8-U7
	for submit <at> debbugs.gnu.org; Sun, 03 Jan 2021 20:05:41 -0500
Received: from mail-40140.protonmail.ch ([185.70.40.140]:47487)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raid5atemyhomework@HIDDEN>)
 id 1kwEJW-0003cu-Rs
 for 45643 <at> debbugs.gnu.org; Sun, 03 Jan 2021 20:05:39 -0500
Date: Mon, 04 Jan 2021 01:05:25 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail; t=1609722331;
 bh=8uBPq24ZQAcju/6ftAX6kgwPoVVUnBL2FQolRQsnxwc=;
 h=Date:To:From:Reply-To:Subject:From;
 b=Q2yN18vW1esFyANKckGQNYY/uS7EEcdq6fZ3ILk737tOLqXwHJ1jjaPvOxm1LDz3t
 H0AcmB0LftyHR4qcq5TUbe84CtvYzQ3xT3V5XU6TPKrax5HYCb29qXMzipGSjEwlR/
 PqK4jDT0R1O32kzGU475kaOCCZ0+wqDwJxMro+sU=
From: raid5atemyhomework <raid5atemyhomework@HIDDEN>
Message-ID: <_yQ96oMMZ2qR6_Y7zRGocuGc7bzzQl5zF_6x-AEmsOFM4YnJvcpGzfcnHNBNhYl0LxPvPsac1rL6eHG63g5W58W9K76qXYwKa57-hu36AYI=@protonmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED,
 DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM shortcircuit=no
 autolearn=disabled version=3.4.4
X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on
 mailout.protonmail.ch
X-Spam-Score: 0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.3 (/)

From 004a84a38266eb8735f1e127f5794bf6d66b9272 Mon Sep 17 00:00:00 2001
From: raid5atemyhomework <raid5atemyhomework@HIDDEN>
Date: Fri, 1 Jan 2021 20:26:42 +0800
Subject: [PATCH 1/3] gnu, doc: Create and document procedure to compile ZFS
 for specific kernel.

---
 doc/guix.texi                 | 100 ++++++++++++++++++++++++++++++++++
 gnu/local.mk                  |   1 +
 gnu/packages/file-systems.scm |  25 ++++++++-
 gnu/services/file-systems.scm |  72 ++++++++++++++++++++++++
 4 files changed, 196 insertions(+), 2 deletions(-)
 create mode 100644 gnu/services/file-systems.scm

diff --git a/doc/guix.texi b/doc/guix.texi
index 1081ed26a3..5ad3907dbe 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -13885,6 +13885,106 @@ a file system declaration such as:
 compress-force=3Dzstd,space_cache=3Dv2"))
 @end lisp

+@node ZFS file system
+@subsection ZFS file system
+
+The ZFS on Linux file system cannot legally be downloaded as part of the
+Linux kernel, but you as a user can do anything on hardware you own,
+including download ZFS as source code, compile ZFS as a kernel module,
+and link it into Linux.
+
+As a large and complex kernel module, ZFS has to be compiled for a
+specific version of Linux. Often the latest ZFS package available in Guix
+cannot be compiled with the latest Linux kernel available in Guix, so
+installing the @code{zfs} package in your system configuration file will
+fail.
+
+Instead, you have to check the
+@url{https://github.com/openzfs/zfs/releases,OpenZFS release notes} for
+the specific version of ZFS that Guix has packaged to determine what
+Linux kernels you can use, then check the @code{linux-libre} packages
+that Guix has packaged, and select one you can use on your system.
+
+Then, you have to modify your system configuration file, and create a
+ZFS package that compiles using the specific Linux version you chose.
+Below is a sketch of how you would modify your @code{operating-system}
+declaration in order to set up ZFS:
+
+@lisp
+(use-modules (gnu))
+;; @dots{}
+(use-service-modules
+  ; @dots{}
+  file-systems)
+(use-package-modules
+  ; @dots{}
+  linux
+  file-systems)
+
+;; @dots{}
+
+;;; (1) Select a specific kernel.
+(define system-kernel linux-libre-5.4)
+;;; (2) Define a ZFS package for your kernel.
+(define system-zfs (make-zfs-package system-kernel))
+
+;; @dots{}
+
+(operating-system
+  ;;; (3) Specify your selected kernel.
+  (kernel system-kernel)
+  ;;; (4) Add the "module" output of the system ZFS package to
+  ;;; the kernel-loadable modules.
+  (kernel-loadable-modules (list (list system-zfs "module")))
+
+  ;; @dots{}
+
+  (packages
+    ;;; (5) Add the system ZFS package to global packages so that
+    ;;; "zfs", "zpool" etc. commands are available.
+    (cons* system-zfs
+           ; @dots{}
+           %base-packages))
+
+  ;; @dots{}
+
+  (services
+    ;;; (6) Add a service that loads ZFS and all ZFS pools at boot.
+    (cons* (service zfs-loader-service-type
+                    system-zfs)
+           ; @dots{}
+           %base-services))
+  ;; @dots{}
+  )
+@end lisp
+
+@deffn (Scheme Procedure) make-zfs-package @var{kernel}
+This procedure creates a package which, when included as a package
+in your system, can be loaded as a kernel module for the specified
+@var{kernel}, a Linux kernel package.
+It is intended to create a system-specific ZFS kernel module for
+the Linux kernel you will use in your system.
+@end deffn
+
+@deffn (Scheme Variable) zfs-loader-service-type
+This is the service that loads the ZFS kernel module and imports all
+ZFS pools. The value associated with @code{zfs-loader-service-type}
+services must be the ZFS package you defined for your system, and
+whose @code{"module"} output you have included as a loadable kernel
+module.
+@end deffn
+
+When you have modified your @code{operating-system} to include ZFS
+as in the above and reconfigured and rebooted, you will now be able
+to create, mount, and manage ZFS pools. At each boot, ZFS will
+automatically open any ZFS pools it detects in your system, and will
+mount ZFS pools that have a non-@code{legacy} mountpoint. If ZFS
+finds mountable ZFS filesystems that are encrypted by passphrase, it
+will prompt for passphrases on the console.
+
+ZFS as root filesystem is not supported yet. ZFS for @code{/home} is
+also probably not easily doable yet.
+
 @node Mapped Devices
 @section Mapped Devices

diff --git a/gnu/local.mk b/gnu/local.mk
index c03a8b9f51..e59a3bb9f7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -601,6 +601,7 @@ GNU_SYSTEM_MODULES =3D=09=09=09=09\
   %D%/services/dict.scm=09=09=09=09\
   %D%/services/dns.scm=09=09=09=09\
   %D%/services/docker.scm=09=09=09\
+  %D%/services/file-systems.scm=09=09=09\
   %D%/services/authentication.scm=09=09\
   %D%/services/games.scm=09=09=09\
   %D%/services/ganeti.scm=09=09=09\
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 895ad069c5..e8f49a59fa 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -944,16 +944,37 @@ APFS.")
        ("openssl" ,openssl)
        ("python" ,python)
        ("python-cffi" ,python-cffi)
-       ("util-linux" ,util-linux "lib")
+       ("util-linux" ,util-linux)
+       ("util-linux-lib" ,util-linux "lib")
        ("zlib" ,zlib)))
     (home-page "https://zfsonlinux.org/")
     (synopsis "Native ZFS on Linux")
     (description
      "ZFS on Linux is an advanced file system and volume manager which was
 originally developed for Solaris and is now maintained by the OpenZFS
-community.")
+community.
+
+DO NOT INSTALL THIS PACKAGE. Instead, refer to the 'ZFS file system' secti=
on
+of the Guix info manual for how to install ZFS.")
     (license license:cddl1.0)))

+(define-public (make-zfs-package kernel)
+  (package
+    (inherit zfs)
+    (name (string-append "zfs-for-"
+                         (package-name kernel)
+                         "-"
+                         (package-version kernel)
+                         "-version"))
+    (arguments
+      (cons* #:linux kernel (package-arguments zfs)))
+    (description
+     "ZFS on Linux is an advanced file system and volume manager which was
+originally developed for Solaris and is now maintained by the OpenZFS
+community.
+
+This package has been compiled for a specific Linux kernel.")))
+
 (define-public mergerfs
   (package
     (name "mergerfs")
diff --git a/gnu/services/file-systems.scm b/gnu/services/file-systems.scm
new file mode 100644
index 0000000000..bdc33f4028
--- /dev/null
+++ b/gnu/services/file-systems.scm
@@ -0,0 +1,72 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright =C2=A9 2021 raid5atemyhomework <raid5atemyhomework@protonmai=
l.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu services file-systems)
+  #:use-module (guix gexp)
+  #:use-module (gnu services)
+  #:use-module (gnu services shepherd))
+
+;;; ZFS
+(define (zfs-loader-shepherd-service system-zfs)
+  (let* ((zpool (file-append system-zfs "/sbin/zpool")))
+    (list
+      (shepherd-service
+       (documentation "Load ZFS kernel module and import ZFS pools.")
+       (provision '(zfs-loader))
+       (requirement '(file-systems))
+       (one-shot? #t)
+       (modules `((srfi srfi-1)
+                  (srfi srfi-34)
+                  (srfi srfi-35)
+                  (rnrs io ports)
+                  ,@%default-modules))
+       (start #~(lambda _
+                  (if (not (file-exists? "/proc/sys/kernel/modprobe"))
+                      (begin (format (current-error-port) "error: ~a~%"
+                                     "Kernel is missing loadable module su=
pport.")
+                             #f)
+                      (and
+                        (let ((modprobe (call-with-input-file
+                                          "/proc/sys/kernel/modprobe" get-=
line)))
+                          (guard (c ((message-condition? c)
+                                     (format (current-error-port)
+                                             "error loading 'zfs' kernel m=
odule: ~a~%"
+                                             (condition-message c))
+                                     #f))
+                            (invoke/quiet modprobe "--" "zfs")))
+                        (guard (c ((message-condition? c)
+                                   (format (current-error-port)
+                                           "error importing zpools: ~a~%"
+                                           (condition-message c))
+                                   #f))
+                          ;; 'current-output-port' is typically connected =
to /dev/klog
+                          ;; in PID 1, so redirect it to the console so we=
 are talking
+                          ;; to the user if zpool sees an encrpyted fs tha=
t needs a
+                          ;; passphrase.
+                          (with-output-to-port (current-error-port)
+                            (lambda ()
+                              (invoke #$zpool "import" "-a" "-l"))))))))))=
))
+
+(define-public zfs-loader-service-type
+  (service-type
+   (name 'zfs-loader)
+   (description "Load ZFS kernel module and import ZFS pools.")
+   (extensions
+    (list (service-extension shepherd-root-service-type zfs-loader-shepher=
d-service)
+          (service-extension user-processes-service-type (const '(zfs-load=
er)))))))
+
--
2.29.2





Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#45643] [PATCH 2/3] gnu: Make 'file-systems' target extensible.
References: <KsQRoKgO0OqFaU5n-6nXB2fBwhViqfa-T12IzGcIDCtZFGhGfKz_8cVrnk2IVYQERMjIhw7MV6nOQxMZ0nZn2ddHQFQi4jJJf_spXGkUgkg=@protonmail.com>
In-Reply-To: <KsQRoKgO0OqFaU5n-6nXB2fBwhViqfa-T12IzGcIDCtZFGhGfKz_8cVrnk2IVYQERMjIhw7MV6nOQxMZ0nZn2ddHQFQi4jJJf_spXGkUgkg=@protonmail.com>
Resent-From: raid5atemyhomework <raid5atemyhomework@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Mon, 04 Jan 2021 01:07:02 +0000
Resent-Message-ID: <handler.45643.B45643.160972240614080 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 45643
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: "45643 <at> debbugs.gnu.org" <45643 <at> debbugs.gnu.org>
Reply-To: raid5atemyhomework <raid5atemyhomework@HIDDEN>
Received: via spool by 45643-submit <at> debbugs.gnu.org id=B45643.160972240614080
          (code B ref 45643); Mon, 04 Jan 2021 01:07:02 +0000
Received: (at 45643) by debbugs.gnu.org; 4 Jan 2021 01:06:46 +0000
Received: from localhost ([127.0.0.1]:39004 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kwEKb-0003f2-Jb
	for submit <at> debbugs.gnu.org; Sun, 03 Jan 2021 20:06:45 -0500
Received: from mail-40137.protonmail.ch ([185.70.40.137]:54403)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raid5atemyhomework@HIDDEN>)
 id 1kwEKa-0003ep-5J
 for 45643 <at> debbugs.gnu.org; Sun, 03 Jan 2021 20:06:44 -0500
Date: Mon, 04 Jan 2021 01:06:29 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail; t=1609722397;
 bh=Ld4GwnJKPEAGjcPN4LQCNb/ZTUuHB+22DrU5vZk6xDw=;
 h=Date:To:From:Reply-To:Subject:From;
 b=yI5a0tE1GFKjCrTls3qQnN7cTmuPC6ooUyTxb+tzsrP+BQWtYbywYd0MoHk6Yw4Ez
 76aLFEX+aa8U768oo1w50K1EReNbvx5rzLReUYwvPWqkWgH7Szo00gXmo3OekVIkeN
 NX2mxmpWL+UhVnut52D6oSJQc9qIlWX8luYhvibM=
From: raid5atemyhomework <raid5atemyhomework@HIDDEN>
Message-ID: <jEYheQNgKAst_NT1rsSJiKBjWyhGsVPH0eIV0q3pdA7e0-1fPBxiIKzqTXWSGLTNVypyerCiYYN4MqwzaO9vm3q_HmcRn6eSck1MmVQJL6Y=@protonmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED,
 DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM shortcircuit=no
 autolearn=disabled version=3.4.4
X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on
 mailout.protonmail.ch
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

From fc4538963960550b678713ec46ac461cfbd6173e Mon Sep 17 00:00:00 2001
From: raid5atemyhomework <raid5atemyhomework@HIDDEN>
Date: Sun, 3 Jan 2021 21:09:02 +0800
Subject: [PATCH 2/3] gnu: Make 'file-systems' target extensible.

This is to support something like ZFS, which has a service that mounts
ZFS file systems and does not normally use /etc/fstab
---
 doc/guix.texi                 |  9 +++++++--
 gnu/services/base.scm         | 37 +++++++++++++++++++++++++----------
 gnu/services/file-systems.scm |  5 +++--
 3 files changed, 37 insertions(+), 14 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 5ad3907dbe..4544b481b0 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -13982,8 +13982,13 @@ mount ZFS pools that have a non-@code{legacy} moun=
tpoint. If ZFS
 finds mountable ZFS filesystems that are encrypted by passphrase, it
 will prompt for passphrases on the console.

-ZFS as root filesystem is not supported yet. ZFS for @code{/home} is
-also probably not easily doable yet.
+You can put @code{/home} on a ZFS filesystem by setting it as the
+mountpoint of some ZFS filesystem. However, ZFS will refuse to mount
+onto a non-empty directory, so if you already have an existing
+@code{/home} you have to remove all files in it, then reboot to let
+ZFS mount into @code{/home}.
+
+ZFS as root filesystem is not supported yet.

 @node Mapped Devices
 @section Mapped Devices
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 945b546607..deffd49154 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -66,6 +66,7 @@
                %default-substitute-urls)
   #:export (fstab-service-type
             root-file-system-service
+            file-systems-service-type
             file-system-service-type
             swap-service
             host-name-service
@@ -362,18 +363,30 @@ FILE-SYSTEM."
                        (gnu system file-systems)
                        ,@%default-modules)))))))

+(define (file-systems-service requirements)
+  (list
+    (shepherd-service
+     (provision '(file-systems))
+     (requirement (cons* 'root-file-system 'user-file-systems requirements=
))
+     (documentation "Target for all the initially-mounted file systems")
+     (start #~(const #t))
+     (stop #~(const #t)))))
+
+(define file-systems-service-type
+  (service-type
+    (name 'file-systems)
+    (extensions (list (service-extension shepherd-root-service-type
+                                         file-systems-service)))
+    (compose concatenate)
+    (extend append)
+    ;; Extensions can add new services to this list.
+    (default-value '())
+    (description "The @code{file-systems} service is the target that is st=
arted
+when all file systems have been mounted.")))
+
 (define (file-system-shepherd-services file-systems)
   "Return the list of Shepherd services for FILE-SYSTEMS."
   (let* ((file-systems (filter file-system-mount? file-systems)))
-    (define sink
-      (shepherd-service
-       (provision '(file-systems))
-       (requirement (cons* 'root-file-system 'user-file-systems
-                           (map file-system->shepherd-service-name
-                                file-systems)))
-       (documentation "Target for all the initially-mounted file systems")
-       (start #~(const #t))
-       (stop #~(const #f))))

     (define known-mount-points
       (map file-system-mount-point file-systems))
@@ -403,7 +416,7 @@ FILE-SYSTEM."
                            (filter (negate known?) (mount-points)))
                  #f))))

-    (cons* sink user-unmount
+    (cons* user-unmount
            (map file-system-shepherd-service file-systems))))

 (define (file-system-fstab-entries file-systems)
@@ -431,6 +444,10 @@ FILE-SYSTEM."
                        (service-extension fstab-service-type
                                           file-system-fstab-entries)

+                       ;; Have 'file-systems' depend on each file-system
+                       (service-extension file-systems-service-type
+                                          (cut map file-system->shepherd-s=
ervice-name <>))
+
                        ;; Have 'user-processes' depend on 'file-systems'.
                        (service-extension user-processes-service-type
                                           (const '(file-systems)))))
diff --git a/gnu/services/file-systems.scm b/gnu/services/file-systems.scm
index bdc33f4028..73a6d52538 100644
--- a/gnu/services/file-systems.scm
+++ b/gnu/services/file-systems.scm
@@ -19,6 +19,7 @@
 (define-module (gnu services file-systems)
   #:use-module (guix gexp)
   #:use-module (gnu services)
+  #:use-module (gnu services base)
   #:use-module (gnu services shepherd))

 ;;; ZFS
@@ -28,7 +29,7 @@
       (shepherd-service
        (documentation "Load ZFS kernel module and import ZFS pools.")
        (provision '(zfs-loader))
-       (requirement '(file-systems))
+       (requirement '(root-file-system))
        (one-shot? #t)
        (modules `((srfi srfi-1)
                   (srfi srfi-34)
@@ -68,5 +69,5 @@
    (description "Load ZFS kernel module and import ZFS pools.")
    (extensions
     (list (service-extension shepherd-root-service-type zfs-loader-shepher=
d-service)
-          (service-extension user-processes-service-type (const '(zfs-load=
er)))))))
+          (service-extension file-systems-service-type (const '(zfs-loader=
)))))))

--
2.29.2





Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#45643] [PATCH 3/3] gnu, guix: Support mounting legacy-mounted ZFS in operating-system form.
References: <KsQRoKgO0OqFaU5n-6nXB2fBwhViqfa-T12IzGcIDCtZFGhGfKz_8cVrnk2IVYQERMjIhw7MV6nOQxMZ0nZn2ddHQFQi4jJJf_spXGkUgkg=@protonmail.com>
In-Reply-To: <KsQRoKgO0OqFaU5n-6nXB2fBwhViqfa-T12IzGcIDCtZFGhGfKz_8cVrnk2IVYQERMjIhw7MV6nOQxMZ0nZn2ddHQFQi4jJJf_spXGkUgkg=@protonmail.com>
Resent-From: raid5atemyhomework <raid5atemyhomework@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Mon, 04 Jan 2021 01:10:02 +0000
Resent-Message-ID: <handler.45643.B45643.160972259114339 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 45643
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: "45643 <at> debbugs.gnu.org" <45643 <at> debbugs.gnu.org>
Reply-To: raid5atemyhomework <raid5atemyhomework@HIDDEN>
Received: via spool by 45643-submit <at> debbugs.gnu.org id=B45643.160972259114339
          (code B ref 45643); Mon, 04 Jan 2021 01:10:02 +0000
Received: (at 45643) by debbugs.gnu.org; 4 Jan 2021 01:09:51 +0000
Received: from localhost ([127.0.0.1]:39008 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kwENb-0003jD-7w
	for submit <at> debbugs.gnu.org; Sun, 03 Jan 2021 20:09:51 -0500
Received: from mail4.protonmail.ch ([185.70.40.27]:35108)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raid5atemyhomework@HIDDEN>)
 id 1kwENY-0003iz-R8
 for 45643 <at> debbugs.gnu.org; Sun, 03 Jan 2021 20:09:49 -0500
Date: Mon, 04 Jan 2021 01:09:35 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail; t=1609722582;
 bh=H87PBleY3IgFM5yRiyzugIx+XG1IQXiF0pwTOlb2BPU=;
 h=Date:To:From:Reply-To:Subject:From;
 b=DYcRs2p++7LkvChB4nv4XDIZcBCQ53Uox3EVoahAWFRlon83aHMjL3FLYczFwGRva
 1u9SClxJkjhZ8PoRmIFYlB4LJfXeMbwB0F5NStpyJlchJTRMVR2K/LMUg5A4UsE/WS
 R4RTlYtyDOPBlNJqZdIjNoofNXh92WTiQRLcx6LU=
From: raid5atemyhomework <raid5atemyhomework@HIDDEN>
Message-ID: <JQwrx0zllfKouhNkLC3SdQXURha-g0cP1d37GCcZZc_Kq1WqlDJzKYyJxBlUsMscWI9cNq6I32GJ46E2JZwZOdRJVNlWjtwrIDZQ4YAOuEU=@protonmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED,
 DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM shortcircuit=no
 autolearn=disabled version=3.4.4
X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on
 mailout.protonmail.ch
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

From 59c9bd5642e33962798c01f4dcf30be38ead4ab8 Mon Sep 17 00:00:00 2001
From: raid5atemyhomework <raid5atemyhomework@HIDDEN>
Date: Mon, 4 Jan 2021 08:22:01 +0800
Subject: [PATCH 3/3] gnu, guix: Support mounting legacy-mounted ZFS in
 operating-system form.

---
 doc/guix.texi              | 18 ++++++++++++++++++
 gnu/build/file-systems.scm |  2 ++
 gnu/machine/ssh.scm        |  3 +++
 gnu/services/base.scm      |  5 ++++-
 guix/scripts/system.scm    |  3 +++
 5 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 4544b481b0..2909674302 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -13982,6 +13982,24 @@ mount ZFS pools that have a non-@code{legacy} moun=
tpoint. If ZFS
 finds mountable ZFS filesystems that are encrypted by passphrase, it
 will prompt for passphrases on the console.

+You should @emph{not} put ZFS datasets with a non-@code{legacy} mountpoint
+into the @code{file-systems} field of your @code{operating-sstem}. However=
,
+if you want to declare them in your @code{file-systems} field, you can
+set their ZFS mountpoints to @code{legacy} and add a @code{file-system}
+declaration for them, using the ZFS pool dataset name as the @code{device}
+field:
+
+@example
+zfs set mountpoint=3Dlegacy pool/filesystem
+@end example
+
+@lisp
+(file-system
+  (device "pool/filesystem")
+  (mount-point "/path/to/mountpoint")
+  (type "zfs"))
+@end lisp
+
 You can put @code{/home} on a ZFS filesystem by setting it as the
 mountpoint of some ZFS filesystem. However, ZFS will refuse to mount
 onto a non-empty directory, so if you already have an existing
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index ddf6117b67..af75aee2b6 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -828,6 +828,8 @@ containing ':/')."
      ((string-prefix? "f2fs" type) check-f2fs-file-system)
      ((string-prefix? "ntfs" type) check-ntfs-file-system)
      ((string-prefix? "nfs" type) (const 'pass))
+     ;; "ZFS doesn't need fsck."
+     ((string-prefix? "zfs" type) (const 'pass))
      (else #f)))

   (if check-procedure
diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm
index 08c653ba17..cdd8913a00 100644
--- a/gnu/machine/ssh.scm
+++ b/gnu/machine/ssh.scm
@@ -175,6 +175,9 @@ exist on the machine."
                                 %pseudo-file-system-types))
                    ;; Don't try to validate network file systems.
                    (not (string-prefix? "nfs" (file-system-type fs)))
+                   ;; Don't try to validate ZFS file systems.
+                   ;; XXX We should validate these by 'zfs status'.
+                   (not (string-prefix? "zfs" (file-system-type fs)))
                    (not (memq 'bind-mount (file-system-flags fs)))))
             (operating-system-file-systems (machine-operating-system machi=
ne))))

diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index deffd49154..dcacc5b4b8 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -322,7 +322,10 @@ FILE-SYSTEM."
            (shepherd-service
             (provision (list (file-system->shepherd-service-name file-syst=
em)))
             (requirement `(root-file-system udev
-                           ,@(map dependency->shepherd-service-name depend=
encies)))
+                           ,@(map dependency->shepherd-service-name depend=
encies)
+                           ,@(if (string-prefix? "zfs" (file-system-type f=
ile-system))
+                                 '(zfs-loader)
+                                 '())))
             (documentation "Check, mount, and unmount the given file syste=
m.")
             (start #~(lambda args
                        #$(if create?
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index 0dcf2b3afe..1515062ada 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -564,6 +564,9 @@ any, are available.  Raise an error if they're not."
                                 %pseudo-file-system-types))
                    ;; Don't try to validate network file systems.
                    (not (string-prefix? "nfs" (file-system-type fs)))
+                   ;; Don't try to validate ZFS file systems.
+                   ;; XXX We should validate these by 'zfs status'.
+                   (not (string-prefix? "zfs" (file-system-type fs)))
                    (not (memq 'bind-mount (file-system-flags fs)))))
             file-systems))

--
2.29.2





Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 10 Feb 2021 15:48:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Feb 10 10:48:02 2021
Received: from localhost ([127.0.0.1]:56947 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l9rij-0005il-T4
	for submit <at> debbugs.gnu.org; Wed, 10 Feb 2021 10:48:02 -0500
Received: from eggs.gnu.org ([209.51.188.92]:40306)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1l9rii-0005iT-Gb
 for control <at> debbugs.gnu.org; Wed, 10 Feb 2021 10:48:00 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e]:45659)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <ludo@HIDDEN>) id 1l9rid-0007jf-9N
 for control <at> debbugs.gnu.org; Wed, 10 Feb 2021 10:47:55 -0500
Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=43372 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1l9ric-0000li-SD
 for control <at> debbugs.gnu.org; Wed, 10 Feb 2021 10:47:55 -0500
Date: Wed, 10 Feb 2021 16:47:53 +0100
Message-Id: <87wnvf6i1i.fsf@HIDDEN>
To: control <at> debbugs.gnu.org
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
Subject: control message for bug #45692
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: control
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

merge 45692 45643
quit






Last modified: Wed, 10 Feb 2021 16:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.