[PATCH 0/4] Add EFI tools.

  • Done
  • quality assurance status badge
Details
2 participants
  • Danny Milosavljevic
  • Ricardo Wurmus
Owner
unassigned
Submitted by
Danny Milosavljevic
Severity
normal

Debbugs page

Danny Milosavljevic wrote 6 years ago
(address . guix-patches@gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20190123000035.11320-1-dannym@scratchpost.org
Danny Milosavljevic (4):
gnu: Add gnu-efi.
gnu: Add sbsigntools.
gnu: Add efitools.
gnu: Add efilinux.

gnu/local.mk | 1 +
gnu/packages/efi.scm | 218 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 219 insertions(+)
create mode 100644 gnu/packages/efi.scm
Danny Milosavljevic wrote 6 years ago
[PATCH 1/4] gnu: Add gnu-efi.
(address . 34175@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20190123000304.11385-1-dannym@scratchpost.org
* gnu/packages/efi.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
gnu/local.mk | 1 +
gnu/packages/efi.scm | 52 ++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 53 insertions(+)
create mode 100644 gnu/packages/efi.scm

Toggle diff (70 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 750e67d2f..4260f4591 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -152,6 +152,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/ebook.scm \
%D%/packages/ed.scm \
%D%/packages/education.scm \
+ %D%/packages/efi.scm \
%D%/packages/electronics.scm \
%D%/packages/elf.scm \
%D%/packages/elixir.scm \
diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm
new file mode 100644
index 000000000..3a92370ef
--- /dev/null
+++ b/gnu/packages/efi.scm
@@ -0,0 +1,52 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
+;;;
+;;; 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 packages efi)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (guix packages)
+ #:use-module (guix utils))
+
+(define-public gnu-efi
+ (package
+ (name "gnu-efi")
+ (version "3.0.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/gnu-efi/"
+ name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1w3p4aqlc5j93q44la7dc8cr3hky20zvsd0h0k2lyzhwmrzfl5b7"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; None exist.
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (synopsis "EFI toolchain")
+ (description "This package provides an EFI (Extensible Firmware
+Interface) toolchain for building programs that can run in the
+environment presented by Intel's EFI.")
+ (home-page "https://directory.fsf.org/wiki/GNU_EFI")
+ ;; FIXME: https://metadata.ftp-master.debian.org/changelogs/main/g/gnu-efi/gnu-efi_3.0.9-1_copyright
+ (license license:gpl2)))
Danny Milosavljevic wrote 6 years ago
[PATCH 3/4] gnu: Add efitools.
(address . 34175@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20190123000304.11385-3-dannym@scratchpost.org
* gnu/packages/efi.scm (efitools): New variable.
---
gnu/packages/efi.scm | 62 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)

Toggle diff (77 lines)
diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm
index 124a4bef8..cef37b62a 100644
--- a/gnu/packages/efi.scm
+++ b/gnu/packages/efi.scm
@@ -21,6 +21,7 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls)
#:use-module ((guix licenses) #:prefix license:)
@@ -115,3 +116,64 @@ environment presented by Intel's EFI.")
(description "This package provides tools for signing EFI binaries.")
(home-page "https://git.kernel.org/pub/scm/linux/kernel/git/jejb/sbsigntools.git/")
(license license:gpl3+)))
+
+(define-public efitools
+ (package
+ (name "efitools")
+ (version "1.9.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://git.kernel.org/pub/scm/linux/kernel/git/jejb/efitools.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0jabgl2pxvfl780yvghq131ylpf82k7banjz0ksjhlm66ik8gb1i"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests exist.
+ #:make-flags
+ '("CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "Make.rules"
+ (("/usr/include/efi")
+ (string-append (assoc-ref inputs "gnu-efi")
+ "/include/efi"))
+ (("\\$\\(DESTDIR\\)/usr")
+ (string-append (assoc-ref outputs "out")))
+ (("/usr/lib/gnuefi")
+ (string-append (assoc-ref inputs "gnu-efi")
+ "/lib")))
+ #t))
+ (add-after 'unpack 'patch-more-shebangs
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "xxdi.pl"
+ (("#!.*")
+ (string-append "#!"
+ (assoc-ref inputs "perl")
+ "/bin/perl\n")))
+ #t))
+ (delete 'configure))))
+ (native-inputs
+ `(("help2man" ,help2man)
+ ("perl" ,perl)
+ ("perl-file-slurp" ,perl-file-slurp)
+ ("sbsigntools" ,sbsigntools)))
+ (inputs
+ `(("gnu-efi" ,gnu-efi)
+ ("openssl" ,openssl)))
+ (synopsis "EFI tools (key management, variable management)")
+ (description "This package provides EFI tools for EFI key management
+and EFI variable management.")
+ (home-page "https://blog.hansenpartnership.com/efitools-1-4-with-linux-key-manipulation-utilities-released/")
+ ;; Programs are under GPL 2.
+ ;; Library routines (in lib/) are under LGPL 2.1.
+ ;; Compiling/linking/using OpenSSL is permitted.
+ (license (list license:gpl2
+ license:lgpl2.1))))
Danny Milosavljevic wrote 6 years ago
[PATCH 4/4] gnu: Add efilinux.
(address . 34175@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20190123000304.11385-4-dannym@scratchpost.org
* gnu/packages/efi.scm (efilinux): New variable.
---
gnu/packages/efi.scm | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm
index cef37b62a..3ef06dd22 100644
--- a/gnu/packages/efi.scm
+++ b/gnu/packages/efi.scm
@@ -177,3 +177,42 @@ and EFI variable management.")
;; Compiling/linking/using OpenSSL is permitted.
(license (list license:gpl2
license:lgpl2.1))))
+
+(define-public efilinux
+ (package
+ (name "efilinux")
+ (version "1.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mfleming/efilinux.git")
+ (commit (string-append "efilinux-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0b4nxzr3wl5v4b52r79iw1arfgasz26xb38r2blw9v2qz2s1q9w2"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (list "CC=gcc"
+ (string-append "INCDIR=" (assoc-ref %build-inputs "gnu-efi")
+ "/include")
+ (string-append "LIBDIR=" (assoc-ref %build-inputs "gnu-efi")
+ "/lib"))
+ #:tests? #f ; No tests exist.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "efilinux.efi"
+ (string-append (assoc-ref outputs "out")
+ "/libexec"))
+ #t)))))
+ (inputs
+ `(("gnu-efi" ,gnu-efi)))
+ (synopsis "Minimal Linux loader for UEFI")
+ (description "This package provides a minimal Linux loader as an UEFI
+program.")
+ (home-page "https://github.com/mfleming/efilinux")
+ (license license:bsd-2)))
Danny Milosavljevic wrote 6 years ago
[PATCH 2/4] gnu: Add sbsigntools.
(address . 34175@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20190123000304.11385-2-dannym@scratchpost.org
* gnu/packages/efi.scm (sbsigntools): New variable.
---
gnu/packages/efi.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 65 insertions(+)

Toggle diff (83 lines)
diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm
index 3a92370ef..124a4bef8 100644
--- a/gnu/packages/efi.scm
+++ b/gnu/packages/efi.scm
@@ -17,9 +17,16 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages efi)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages man)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages tls)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils))
@@ -50,3 +57,61 @@ environment presented by Intel's EFI.")
(home-page "https://directory.fsf.org/wiki/GNU_EFI")
;; FIXME: https://metadata.ftp-master.debian.org/changelogs/main/g/gnu-efi/gnu-efi_3.0.9-1_copyright
(license license:gpl2)))
+
+(define-public sbsigntools
+ (package
+ (name "sbsigntools")
+ (version "0.9.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://git.kernel.org/pub/scm/linux/kernel/git/jejb/sbsigntools.git")
+ (commit (string-append "v" version))
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "116649ixr6gvw9fqiljfflxsv4293hgm73bmba5ilxrzn4kpbzvb"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-more-shebangs
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "lib/ccan.git/tools/create-ccan-tree"
+ (("#!/bin/bash")
+ (string-append "#!"
+ (assoc-ref inputs "bash")
+ "/bin/bash")))
+ #t))
+ (add-after 'unpack 'patch
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* '("configure.ac"
+ "tests/Makefile.am")
+ (("/usr/include/efi")
+ (string-append (assoc-ref inputs "gnu-efi")
+ "/include/efi"))
+ (("/usr/lib/gnuefi")
+ (string-append (assoc-ref inputs "gnu-efi")
+ "/lib")))
+ #t))
+ (add-after 'unpack 'setenv
+ (lambda _
+ (setenv "CC" "gcc")
+ #t)))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("bash" ,bash)
+ ("help2man" ,help2man)
+ ("pkg-config" ,pkg-config)
+ ("util-linux" ,util-linux))) ; getopt
+ (inputs
+ `(("gnu-efi" ,gnu-efi)
+ ("openssl" ,openssl)))
+ (synopsis "EFI signing tools")
+ (description "This package provides tools for signing EFI binaries.")
+ (home-page "https://git.kernel.org/pub/scm/linux/kernel/git/jejb/sbsigntools.git/")
+ (license license:gpl3+)))
Ricardo Wurmus wrote 6 years ago
Re: [bug#34175] [PATCH 1/4] gnu: Add gnu-efi.
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 34175@debbugs.gnu.org)
87sgxj7q8u.fsf@elephly.net
Hi Danny,

Toggle quote (2 lines)
> * gnu/packages/efi.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
[…]
Toggle quote (9 lines)
> diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm
> new file mode 100644
> index 000000000..3a92370ef
> --- /dev/null
> +++ b/gnu/packages/efi.scm
> @@ -0,0 +1,52 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>

It’s 2019.

Toggle quote (28 lines)
> +(define-public gnu-efi
> + (package
> + (name "gnu-efi")
> + (version "3.0.9")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (string-append "mirror://sourceforge/gnu-efi/"
> + name "-" version ".tar.bz2"))
> + (sha256
> + (base32
> + "1w3p4aqlc5j93q44la7dc8cr3hky20zvsd0h0k2lyzhwmrzfl5b7"))))
> + (build-system gnu-build-system)
> + (arguments
> + `(#:tests? #f ; None exist.
> + #:make-flags
> + (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
> + #:phases
> + (modify-phases %standard-phases
> + (delete 'configure))))
> + (synopsis "EFI toolchain")
> + (description "This package provides an EFI (Extensible Firmware
> +Interface) toolchain for building programs that can run in the
> +environment presented by Intel's EFI.")
> + (home-page "https://directory.fsf.org/wiki/GNU_EFI")
> + ;; FIXME: https://metadata.ftp-master.debian.org/changelogs/main/g/gnu-efi/gnu-efi_3.0.9-1_copyright
> + (license license:gpl2)))

What does the FIXME tell us to do? Should this be

;; The code can be distributed under the terms of either license
(license (list license:gpl2+ license:expat))

--
Ricardo
Ricardo Wurmus wrote 6 years ago
Re: [bug#34175] [PATCH 2/4] gnu: Add sbsigntools.
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 34175@debbugs.gnu.org)
87r2d37q4t.fsf@elephly.net
Danny Milosavljevic <dannym@scratchpost.org> writes:

Toggle quote (1 lines)
> * gnu/packages/efi.scm (sbsigntools): New variable.
[…]
Toggle quote (5 lines)
> + (add-after 'unpack 'setenv
> + (lambda _
> + (setenv "CC" "gcc")
> + #t)))))

Could this be done via #:make-flags instead?

--
Ricardo
Ricardo Wurmus wrote 6 years ago
Re: [bug#34175] [PATCH 3/4] gnu: Add efitools.
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 34175@debbugs.gnu.org)
87pnsn7q28.fsf@elephly.net
Danny Milosavljevic <dannym@scratchpost.org> writes:

Toggle quote (2 lines)
> * gnu/packages/efi.scm (efitools): New variable.

LGTM!

--
Ricardo
Ricardo Wurmus wrote 6 years ago
Re: [bug#34175] [PATCH 4/4] gnu: Add efilinux.
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 34175@debbugs.gnu.org)
87o9877pyf.fsf@elephly.net
Danny Milosavljevic <dannym@scratchpost.org> writes:

Toggle quote (1 lines)
> * gnu/packages/efi.scm (efilinux): New variable.
[…]
Toggle quote (8 lines)
> + (arguments
> + `(#:make-flags
> + (list "CC=gcc"
> + (string-append "INCDIR=" (assoc-ref %build-inputs "gnu-efi")
> + "/include")
> + (string-append "LIBDIR=" (assoc-ref %build-inputs "gnu-efi")
> + "/lib"))

Nitpick: I’d use a let binding for (assoc-ref %build-inputs "gnu-efi").

Toggle quote (10 lines)
> + #:tests? #f ; No tests exist.
> + #:phases
> + (modify-phases %standard-phases
> + (delete 'configure)
> + (replace 'install
> + (lambda* (#:key outputs #:allow-other-keys)
> + (install-file "efilinux.efi"
> + (string-append (assoc-ref outputs "out")
> + "/libexec"))

The indentation of "/libexec" is off.

Otherwise LGTM.

--
Ricardo
Danny Milosavljevic wrote 6 years ago
Re: [bug#34175] [PATCH 2/4] gnu: Add sbsigntools.
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34175@debbugs.gnu.org)
20190123150930.4cc4251d@scratchpost.org
Hi Ricardo,

On Wed, 23 Jan 2019 09:08:18 +0100
Ricardo Wurmus <rekado@elephly.net> wrote:

Toggle quote (11 lines)
> Danny Milosavljevic <dannym@scratchpost.org> writes:
>
> > * gnu/packages/efi.scm (sbsigntools): New variable.
> […]
> > + (add-after 'unpack 'setenv
> > + (lambda _
> > + (setenv "CC" "gcc")
> > + #t)))))
>
> Could this be done via #:make-flags instead?

No, they call a submake in a shellscript and via "make"
rather than "${MAKE} ${MAKEFLAGS}", so the option will get lost
along the way.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlxIdZoACgkQ5xo1VCww
uqUZMgf/S8woGGYhPzZi0AS6mTcCU08GDM2pWqVPvl8HHHr0NoF7aJHK9JARnhIM
ndDvfPcgjOodDRdwuC7iJxcBwwvyq61WmqmS9z+SBhz+oktW0aau1mQP7tVRBqqQ
kNcwk0Owda3+0UfsfHpllDRcYIAzYMWGOMi/O/ztF0gFot9q2/YlX+A0UFU5dm0y
7KnWQJUZmzI98U/hKufUtckcmFgG5fxBfi+37A8PBQzHhINYMxCQIlVOz60U6BjE
IOiAkd3+Q5TV5cL+ZlLBkykSw3whuAXEo5MwfpazqdKvfRdK0hbud1CQ+1C/fC+5
C8eWHXuBSS2UbW3GgOsHf6yqjU3dDA==
=3D5C
-----END PGP SIGNATURE-----


Danny Milosavljevic wrote 6 years ago
Re: [bug#34175] [PATCH 1/4] gnu: Add gnu-efi.
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34175@debbugs.gnu.org)
20190125184824.52fb680e@scratchpost.org
Hi,

On Wed, 23 Jan 2019 09:05:53 +0100
Ricardo Wurmus <rekado@elephly.net> wrote:

Toggle quote (16 lines)
> Hi Danny,
>
> > * gnu/packages/efi.scm: New file.
> > * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
> […]
> > diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm
> > new file mode 100644
> > index 000000000..3a92370ef
> > --- /dev/null
> > +++ b/gnu/packages/efi.scm
> > @@ -0,0 +1,52 @@
> > +;;; GNU Guix --- Functional package management for GNU
> > +;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
>
> It’s 2019.

Ah, it must be a new low of me getting the year wrong ;-)

Toggle quote (8 lines)
> > + (license license:gpl2)))
>
> What does the FIXME tell us to do? Should this be
>
> ;; The code can be distributed under the terms of either license
> (license (list license:gpl2+ license:expat))

I wanted the reuse the work Debian already did. They list:

* BSD-3-clause-HP
* BSD-2-clause-Linaro or gpl-2+
* BSD-2-clause-Intel
* Expat
* BSD-4-clause-Intel
* GPL-2+

BSD-4-clause is incompatible with GPL.
Therefore, it's lucky that they say "BSD-2-clause-Linaro OR gpl-2+", otherwise
we could not have distributed gnu-efi.

So I suggest:

;; Distribution is allowed only when accepting all those licenses.
(license (list license:bsd-2 license:bsd-3 license:bsd-4 license:expat))

What do you think?
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlxLS+gACgkQ5xo1VCww
uqWxDQf/QD8gt6fqa6nGIzzvn641R+MTUc1XPN7mB53E3X/7JhPuPVyTQcYPSb8R
jtLEgoP6QSAoHvNtIYEp67Yi3s5+9cK4oBElGddZStxvC9z2SKyUV+q9otgdUdB3
VIGMsswZydADBAlMy3+L+9pgujWdARw7Wg3Pgq8tJ3hUipxUUBGlr6W9ZP/MawTp
p3iOSwfU8++d2D7Mvg+PMzTj3RJaF6DrgR800L+ta2AjHnn234Ap+2e7q6PIyghR
1DoMbuPijjz8OMEfDYB1uLXX+EfSavG8yMgsfgzAjsq/yE8eN1PgOSsd3eJzA4x+
OhcLigJPTO255eJt9WerlHwEpPi3jw==
=iXZI
-----END PGP SIGNATURE-----


Danny Milosavljevic wrote 6 years ago
(no subject)
(address . control@debbugs.gnu.org)
20190204001532.19c74218@scratchpost.org
close 34175
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlxXdhQACgkQ5xo1VCww
uqVUswf9FAYpQFXl9vRl7gjqbO+Cx1WVYVe6f2oprB1Eej6Ff7G0Q02ZNtR5NsL1
lGXb+l3BEkmyqWWBLsOS69OfCH3PJIISeT1jjoiaQsNp+i7IhBET1bVb02RUddNq
pBMrG+nmcv+c9AtOJqvg456SVnobS+JYuucDsWvD+CdD04tmfSOMXUMeSdCtn0Bf
Bd5VWVOKukz9hpQIUtF6YH+JqusYww3Fn31ab040uJ0YWpQPJ8TQb+1frMIuvHjw
ZSixu869Hncl6R4MHlWxU+p/NQXNiw8JWP/NNJcc2D70yvT2XD9MfYF3ypIiYT0u
yzt3RRkfuxyMp+MK17KhQtErNxzNDQ==
=t0Z3
-----END PGP SIGNATURE-----


?
Your comment

This issue is archived.

To comment on this conversation send an email to 34175@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 34175
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help