GNU bug report logs - #48951
[PATCH] gnu: grub: Update to 2.06.

Previous Next

Package: guix-patches;

Reported by: Tobias Geerinckx-Rice <me <at> tobias.gr>

Date: Fri, 11 Jun 2021 00:52:01 UTC

Severity: normal

Tags: patch

Done: Tobias Geerinckx-Rice <me <at> tobias.gr>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 48951 in the body.
You can then email your comments to 48951 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#48951; Package guix-patches. (Fri, 11 Jun 2021 00:52:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Tobias Geerinckx-Rice <me <at> tobias.gr>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 11 Jun 2021 00:52:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: grub: Update to 2.06.
Date: Fri, 11 Jun 2021 02:51:00 +0200
[source]: Remove upstreamed patches.
* gnu/packages/patches/grub-setup-root.patch: Update patch.
* gnu/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch,
gnu/packages/patches/grub-cross-system-i686.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
---

Now with sweet putative (and untested) LUKS2 support!

In fact everything's untested on metal since I can't risk a boot failure just yet.  That's strictly a week-end game.  Players welcome.

Kind regards,

T G-R

 gnu/local.mk                                  |  2 -
 gnu/packages/bootloaders.scm                  |  8 +-
 .../patches/grub-cross-system-i686.patch      | 96 ------------------
 gnu/packages/patches/grub-setup-root.patch    | 99 ++++++++++---------
 ...-verifiers-Blocklist-fallout-cleanup.patch | 41 --------
 5 files changed, 57 insertions(+), 189 deletions(-)
 delete mode 100644 gnu/packages/patches/grub-cross-system-i686.patch
 delete mode 100644 gnu/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index ac08fe4600..060061d91e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1171,10 +1171,8 @@ dist_patch_DATA =						\
   %D%/packages/patches/grocsvs-dont-use-admiral.patch		\
   %D%/packages/patches/gromacs-tinyxml2.patch			\
   %D%/packages/patches/groovy-add-exceptionutilsgenerator.patch	\
-  %D%/packages/patches/grub-cross-system-i686.patch		\
   %D%/packages/patches/grub-efi-fat-serial-number.patch		\
   %D%/packages/patches/grub-setup-root.patch			\
-  %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
   %D%/packages/patches/gspell-dash-test.patch			\
   %D%/packages/patches/gst-libav-64channels-stack-corruption.patch	\
   %D%/packages/patches/gst-plugins-bad-fix-overflow.patch	\
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index ae3752cec3..79ea9ea345 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -88,18 +88,16 @@
 (define-public grub
   (package
     (name "grub")
-    (version "2.04")
+    (version "2.06")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/grub/grub-" version ".tar.xz"))
              (sha256
               (base32
-               "0zgp5m3hmc9jh8wpjx6czzkh5id2y8n1k823x2mjvm2sk6b28ag5"))
+               "1qbycnxkx07arj9f2nlsi9kp0dyldspbv07ysdyd34qvz55a97mp"))
              (patches (search-patches
                        "grub-efi-fat-serial-number.patch"
-                       "grub-setup-root.patch"
-                       "grub-verifiers-Blocklist-fallout-cleanup.patch"
-                       "grub-cross-system-i686.patch"))))
+                       "grub-setup-root.patch"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
diff --git a/gnu/packages/patches/grub-cross-system-i686.patch b/gnu/packages/patches/grub-cross-system-i686.patch
deleted file mode 100644
index 2715345d63..0000000000
--- a/gnu/packages/patches/grub-cross-system-i686.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-Not upstreamed.
-Fixes cross-build for the Hurd, from i686-linux,
-see <https://bugs.gnu.org/41982>.
-
-From 17b242e7b80108f1467037e15b605595e4823b2e Mon Sep 17 00:00:00 2001
-From: "Jan (janneke) Nieuwenhuizen" <janneke <at> gnu.org>
-Date: Sun, 21 Jun 2020 15:10:40 +0200
-Subject: [PATCH v2] grub-core: Build fixes for i386
-Content-Transfer-Encoding: 8bit
-Content-Type: text/plain; charset=UTF-8
-
-* grub-core/lib/i386/relocator64.S: Avoid x86_64 instructions on i386.
----
- grub-core/lib/i386/relocator64.S | 33 +++++++++++++++++++++++++++++++-
- 1 file changed, 32 insertions(+), 1 deletion(-)
-
-diff --git a/grub-core/lib/i386/relocator64.S b/grub-core/lib/i386/relocator64.S
-index 148f38adb..ea39908c1 100644
---- a/grub-core/lib/i386/relocator64.S
-+++ b/grub-core/lib/i386/relocator64.S
-@@ -63,7 +63,9 @@ VARIABLE(grub_relocator64_cr3)
- 	movq	%rax, %cr3
- #endif
- 
-+#ifdef __x86_64__
- 	.code64
-+#endif
- 
- 	/* mov imm64, %rax */
- 	.byte 	0x48
-@@ -71,7 +73,14 @@ VARIABLE(grub_relocator64_cr3)
- VARIABLE(grub_relocator64_rsp)
- 	.quad	0
- 
-+#ifndef __x86_64__
-+	/* movq	%rax, %rsp */
-+	.byte 	0x48
-+	.byte	0x89
-+	.byte	0xc4
-+#else
- 	movq	%rax, %rsp
-+#endif
- 
- #ifdef GRUB_MACHINE_EFI
- 	jmp	LOCAL(skip_efi_stack_align)
-@@ -85,7 +94,14 @@ VARIABLE(grub_relocator64_rsp)
- 	 */
- VARIABLE(grub_relocator64_efi_start)
- 	/* Align the stack as UEFI spec requires. */
-+#ifndef __x86_64__
-+	.byte 0x48
-+        .byte 0x83
-+        .byte 0xe4
-+        .byte 0xf0
-+#else
- 	andq	$~15, %rsp
-+#endif
- 
- LOCAL(skip_efi_stack_align):
- #endif
-@@ -95,8 +111,15 @@ LOCAL(skip_efi_stack_align):
- VARIABLE(grub_relocator64_rsi)
- 	.quad	0
- 
-+#ifndef	__x86_64__
-+	/* movq	%rax, %rsi */
-+	.byte 	0x48
-+	.byte	0x89
-+	.byte 	0xc6
-+#else
- 	movq	%rax, %rsi
--	
-+#endif
-+
- 	/* mov imm64, %rax */
- 	.byte 	0x48
- 	.byte	0xb8
-@@ -128,6 +151,14 @@ VARIABLE(grub_relocator64_rdx)
- #ifdef __APPLE__
- 	.byte 0xff, 0x25
- 	.quad 0
-+#elif !defined (__x86_64__)
-+	/* jmp *LOCAL(jump_addr) (%rip) */
-+	.byte 0xff
-+        .byte 0x25
-+	.byte 0
-+	.byte 0
-+	.byte 0
-+	.byte 0
- #else
- 	jmp *LOCAL(jump_addr) (%rip)
- #endif
--- 
-Jan Nieuwenhuizen <janneke <at> gnu.org> | GNU LilyPond http://lilypond.org
-Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.com
-
diff --git a/gnu/packages/patches/grub-setup-root.patch b/gnu/packages/patches/grub-setup-root.patch
index 1abe9c383a..e64a7dd6be 100644
--- a/gnu/packages/patches/grub-setup-root.patch
+++ b/gnu/packages/patches/grub-setup-root.patch
@@ -1,9 +1,53 @@
 This patch is taken from OpenWrt, see:
 
-https://github.com/openwrt/openwrt/blob/master/package/boot/grub2/patches/100-grub_setup_root.patch.
+https://github.com/openwrt/openwrt/blob/master/package/boot/grub2/patches/100-grub_setup_root.patch
+
+nckx changed `char *root' to lazily pacify -Werror=discarded-qualifiers.
 
 It allows to use grub-bios-setup on a raw disk-images, without root permissions.
 
+--- a/include/grub/util/install.h
++++ b/include/grub/util/install.h
+@@ -198,13 +198,13 @@ grub_install_get_image_target (const char *arg);
+ void
+ grub_util_bios_setup (const char *dir,
+ 		      const char *boot_file, const char *core_file,
+-		      const char *dest, int force,
++		      char *root, const char *dest, int force,
+ 		      int fs_probe, int allow_floppy,
+ 		      int add_rs_codes, int warn_short_mbr_gap);
+ void
+ grub_util_sparc_setup (const char *dir,
+ 		       const char *boot_file, const char *core_file,
+-		       const char *dest, int force,
++		       char *root, const char *dest, int force,
+ 		       int fs_probe, int allow_floppy,
+ 		       int add_rs_codes, int warn_short_mbr_gap);
+ 
+diff --git a/util/grub-install.c b/util/grub-install.c
+index 0fbe7f78c..7f06aa1e3 100644
+--- a/util/grub-install.c
++++ b/util/grub-install.c
+@@ -1721,7 +1721,7 @@ main (int argc, char *argv[])
+ 	if (install_bootsector)
+ 	  {
+ 	    grub_util_bios_setup (platdir, "boot.img", "core.img",
+-				  install_drive, force,
++				  NULL, install_drive, force,
+ 				  fs_probe, allow_floppy, add_rs_codes,
+ 				  !grub_install_is_short_mbrgap_supported ());
+ 
+@@ -1752,7 +1752,7 @@ main (int argc, char *argv[])
+ 	if (install_bootsector)
+ 	  {
+ 	    grub_util_sparc_setup (platdir, "boot.img", "core.img",
+-				   install_drive, force,
++				   NULL, install_drive, force,
+ 				   fs_probe, allow_floppy,
+ 				   0 /* unused */, 0 /* unused */ );
+ 
+diff --git a/util/grub-setup.c b/util/grub-setup.c
+index 1783224dd..48cde4950 100644
 --- a/util/grub-setup.c
 +++ b/util/grub-setup.c
 @@ -87,6 +87,8 @@ static struct argp_option options[] = {
@@ -23,7 +67,7 @@ It allows to use grub-bios-setup on a raw disk-images, without root permissions.
    int  force;
    int  fs_probe;
    int allow_floppy;
-@@ -178,6 +181,13 @@ argp_parser (int key, char *arg, struct
+@@ -178,6 +181,13 @@ argp_parser (int key, char *arg, struct argp_state *state)
          arguments->dev_map = xstrdup (arg);
          break;
  
@@ -44,18 +88,21 @@ It allows to use grub-bios-setup on a raw disk-images, without root permissions.
 -		   dest_dev, arguments.force,
 +		   arguments.root_dev, dest_dev, arguments.force,
  		   arguments.fs_probe, arguments.allow_floppy,
- 		   arguments.add_rs_codes);
+ 		   arguments.add_rs_codes, 0);
  
+diff --git a/util/setup.c b/util/setup.c
+index da5f2c07f..193745a9c 100644
 --- a/util/setup.c
 +++ b/util/setup.c
-@@ -252,13 +252,12 @@ identify_partmap (grub_disk_t disk __att
+@@ -252,14 +252,13 @@ identify_partmap (grub_disk_t disk __attribute__ ((unused)),
  void
  SETUP (const char *dir,
         const char *boot_file, const char *core_file,
 -       const char *dest, int force,
 +       char *root, const char *dest, int force,
         int fs_probe, int allow_floppy,
-        int add_rs_codes __attribute__ ((unused))) /* unused on sparc64 */
+        int add_rs_codes __attribute__ ((unused)), /* unused on sparc64 */
+        int warn_small)
  {
    char *core_path;
    char *boot_img, *core_img, *boot_path;
@@ -63,7 +110,7 @@ It allows to use grub-bios-setup on a raw disk-images, without root permissions.
    size_t boot_size, core_size;
    grub_uint16_t core_sectors;
    grub_device_t root_dev = 0, dest_dev, core_dev;
-@@ -307,7 +306,10 @@ SETUP (const char *dir,
+@@ -311,7 +310,10 @@ SETUP (const char *dir,
  
    core_dev = dest_dev;
  
@@ -75,7 +122,7 @@ It allows to use grub-bios-setup on a raw disk-images, without root permissions.
      char **root_devices = grub_guess_root_devices (dir);
      char **cur;
      int found = 0;
-@@ -320,6 +322,8 @@ SETUP (const char *dir,
+@@ -324,6 +326,8 @@ SETUP (const char *dir,
  	char *drive;
  	grub_device_t try_dev;
  
@@ -84,41 +131,3 @@ It allows to use grub-bios-setup on a raw disk-images, without root permissions.
  	drive = grub_util_get_grub_dev (*cur);
  	if (!drive)
  	  continue;
---- a/include/grub/util/install.h
-+++ b/include/grub/util/install.h
-@@ -191,13 +191,13 @@ grub_install_get_image_target (const cha
- void
- grub_util_bios_setup (const char *dir,
- 		      const char *boot_file, const char *core_file,
--		      const char *dest, int force,
-+		      char *root, const char *dest, int force,
- 		      int fs_probe, int allow_floppy,
- 		      int add_rs_codes);
- void
- grub_util_sparc_setup (const char *dir,
- 		       const char *boot_file, const char *core_file,
--		       const char *dest, int force,
-+		       char *root, const char *dest, int force,
- 		       int fs_probe, int allow_floppy,
- 		       int add_rs_codes);
- 
---- a/util/grub-install.c
-+++ b/util/grub-install.c
-@@ -1712,7 +1712,7 @@ main (int argc, char *argv[])
- 	/*  Now perform the installation.  */
- 	if (install_bootsector)
- 	  grub_util_bios_setup (platdir, "boot.img", "core.img",
--				install_drive, force,
-+				NULL, install_drive, force,
- 				fs_probe, allow_floppy, add_rs_codes);
- 	break;
-       }
-@@ -1738,7 +1738,7 @@ main (int argc, char *argv[])
- 	/*  Now perform the installation.  */
- 	if (install_bootsector)
- 	  grub_util_sparc_setup (platdir, "boot.img", "core.img",
--				 install_drive, force,
-+				 NULL, install_drive, force,
- 				 fs_probe, allow_floppy,
- 				 0 /* unused */ );
- 	break;
diff --git a/gnu/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch b/gnu/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch
deleted file mode 100644
index 2bea74ea95..0000000000
--- a/gnu/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-This patch is needed to build Grub on the Hurd.
-
-Taken from upstream: https://git.savannah.gnu.org/cgit/grub.git/commit//?id=dabdfa1c6a80639197d05f683a445fa8615517fe
-
-From 7606547586b2d6ca1b384e15e0358d3a3ddc48a6 Mon Sep 17 00:00:00 2001
-From: David Michael <fedora.dm0 <at> gmail.com>
-Date: Fri, 5 Jul 2019 07:45:59 -0400
-Subject: verifiers: Blocklist fallout cleanup
-
-Blocklist fallout cleanup after commit 5c6f9bc15 (generic/blocklist: Fix
-implicit declaration of function grub_file_filter_disable_compression()).
-
-Signed-off-by: David Michael <fedora.dm0 <at> gmail.com>
-Reviewed-by: Daniel Kiper <daniel.kiper <at> oracle.com>
-
----
- grub-core/osdep/generic/blocklist.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/grub-core/osdep/generic/blocklist.c b/grub-core/osdep/generic/blocklist.c
-index ea2a511b6..2d9040302 100644
---- a/grub-core/osdep/generic/blocklist.c
-+++ b/grub-core/osdep/generic/blocklist.c
-@@ -59,7 +59,7 @@ grub_install_get_blocklist (grub_device_t root_dev,
- 
-       grub_disk_cache_invalidate_all ();
- 
--      file = grub_file_open (core_path_dev, GRUB_FILE_TYPE_NONE | FILE_TYPE_NO_DECOMPRESS);
-+      file = grub_file_open (core_path_dev, GRUB_FILE_TYPE_NONE | GRUB_FILE_TYPE_NO_DECOMPRESS);
-       if (file)
- 	{
- 	  if (grub_file_size (file) != core_size)
-@@ -116,7 +116,7 @@ grub_install_get_blocklist (grub_device_t root_dev,
- 
-   grub_file_t file;
-   /* Now read the core image to determine where the sectors are.  */
--  file = grub_file_open (core_path_dev, GRUB_FILE_TYPE_NONE | FILE_TYPE_NO_DECOMPRESS);
-+  file = grub_file_open (core_path_dev, GRUB_FILE_TYPE_NONE | GRUB_FILE_TYPE_NO_DECOMPRESS);
-   if (! file)
-     grub_util_error ("%s", grub_errmsg);
- 
-- 
2.32.0





Information forwarded to guix-patches <at> gnu.org:
bug#48951; Package guix-patches. (Sat, 12 Jun 2021 19:03:02 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
Cc: 48951-done <at> debbugs.gnu.org, guix-patches <at> gnu.org
Subject: Re: [bug#48951] [PATCH] gnu: grub: Update to 2.06.
Date: Sat, 12 Jun 2021 21:02:58 +0200
[Message part 1 (text/plain, inline)]
Pushed as 2d115ea7edd4d5d85df18424e1e691935184a8c8.

Kind regards,

T G-R
[signature.asc (application/pgp-signature, inline)]

Reply sent to Tobias Geerinckx-Rice <me <at> tobias.gr>:
You have taken responsibility. (Sat, 12 Jun 2021 19:03:02 GMT) Full text and rfc822 format available.

Notification sent to Tobias Geerinckx-Rice <me <at> tobias.gr>:
bug acknowledged by developer. (Sat, 12 Jun 2021 19:03:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 11 Jul 2021 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 288 days ago.

Previous Next


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