summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErico Nunes <nunes.erico@gmail.com>2017-04-26 23:39:46 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2017-07-16 14:55:33 +0200
commit5ffafd2353f5d67dc74c7f3784dfe48d4080435e (patch)
treece6f048bc0fdffc95f6d70a711915fd28845370c
parentd4afb3288b679e34507756ade659690bb19ad4fb (diff)
downloadbuildroot-5ffafd2353f5d67dc74c7f3784dfe48d4080435e.tar.gz
buildroot-5ffafd2353f5d67dc74c7f3784dfe48d4080435e.zip
grub2: bump up version
After many years since the last release and a long time with grub 2.02 in beta, there is finally a release and it brings many bug fixes and interesting features such as support for ARM. Patch boot/grub2/0001-remove-gets.patch doesn't seem to be required anymore as grub-core/gnulib/stdio.in.h has changed significantly since "053cfcd Import new gnulib." and has another treatment for gets. Patch boot/grub2/0002-grub-core-gettext-gettext.c-main_context-secondary_c.patch was a backport which is present after the bump and therefore is also no longer necessary. Since we're adding a Config.in comment, we also introduce a BR2_TARGET_GRUB2_ARCH_SUPPORTS hidden boolean, in order to avoid repeating the architecture dependencies. Signed-off-by: Erico Nunes <nunes.erico@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> [Thomas: add BR2_TARGET_GRUB2_ARCH_SUPPORTS, remove bogus dependencies on ARM and AArch64, since enabling Grub2 on those architectures is done in another commit.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r--boot/grub2/0001-remove-gets.patch21
-rw-r--r--boot/grub2/0002-grub-core-gettext-gettext.c-main_context-secondary_c.patch39
-rw-r--r--boot/grub2/Config.in12
-rw-r--r--boot/grub2/grub2.hash4
-rw-r--r--boot/grub2/grub2.mk4
5 files changed, 15 insertions, 65 deletions
diff --git a/boot/grub2/0001-remove-gets.patch b/boot/grub2/0001-remove-gets.patch
deleted file mode 100644
index 0da71b3292..0000000000
--- a/boot/grub2/0001-remove-gets.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-Upstream-Status: Pending
-Index: grub-1.99/grub-core/gnulib/stdio.in.h
-===================================================================
---- grub-1.99.orig/grub-core/gnulib/stdio.in.h 2010-12-01 06:45:43.000000000 -0800
-+++ grub-1.99/grub-core/gnulib/stdio.in.h 2012-07-04 12:25:02.057099107 -0700
-@@ -140,8 +140,10 @@
- /* It is very rare that the developer ever has full control of stdin,
- so any use of gets warrants an unconditional warning. Assume it is
- always declared, since it is required by C89. */
-+#if defined gets
- #undef gets
- _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
-+#endif
-
- #if @GNULIB_FOPEN@
- # if @REPLACE_FOPEN@
diff --git a/boot/grub2/0002-grub-core-gettext-gettext.c-main_context-secondary_c.patch b/boot/grub2/0002-grub-core-gettext-gettext.c-main_context-secondary_c.patch
deleted file mode 100644
index 94be092710..0000000000
--- a/boot/grub2/0002-grub-core-gettext-gettext.c-main_context-secondary_c.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From f30c692c1f9ef0e93bee2b408a24baa017f1ca9d Mon Sep 17 00:00:00 2001
-From: Vladimir Serbinenko <phcoder@gmail.com>
-Date: Thu, 7 Nov 2013 01:01:47 +0100
-Subject: [PATCH] * grub-core/gettext/gettext.c (main_context),
- (secondary_context): Define after defining type and not before.
-
-[Thomas: backport from upstream commit
-f30c692c1f9ef0e93bee2b408a24baa017f1ca9d, and remove ChangeLog
-modifications to avoid conflicts.]
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- grub-core/gettext/gettext.c | 4 ++--
- 2 files changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/grub-core/gettext/gettext.c b/grub-core/gettext/gettext.c
-index df73570..4880cef 100644
---- a/grub-core/gettext/gettext.c
-+++ b/grub-core/gettext/gettext.c
-@@ -34,8 +34,6 @@ GRUB_MOD_LICENSE ("GPLv3+");
- http://www.gnu.org/software/autoconf/manual/gettext/MO-Files.html .
- */
-
--static struct grub_gettext_context main_context, secondary_context;
--
- static const char *(*grub_gettext_original) (const char *s);
-
- struct grub_gettext_msg
-@@ -69,6 +67,8 @@ struct grub_gettext_context
- struct grub_gettext_msg *grub_gettext_msg_list;
- };
-
-+static struct grub_gettext_context main_context, secondary_context;
-+
- #define MO_MAGIC_NUMBER 0x950412de
-
- static grub_err_t
---
-2.7.4
-
diff --git a/boot/grub2/Config.in b/boot/grub2/Config.in
index 2f4a3f069e..74f0e79076 100644
--- a/boot/grub2/Config.in
+++ b/boot/grub2/Config.in
@@ -1,6 +1,12 @@
+config BR2_TARGET_GRUB2_ARCH_SUPPORTS
+ bool
+ default y if BR2_i386
+ default y if BR2_x86_64
+
config BR2_TARGET_GRUB2
bool "grub2"
- depends on BR2_i386 || BR2_x86_64
+ depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS
+ depends on BR2_USE_WCHAR
help
GNU GRUB is a Multiboot boot loader. It was derived from
GRUB, the GRand Unified Bootloader, which was originally
@@ -167,3 +173,7 @@ config BR2_TARGET_GRUB2_BUILTIN_CONFIG
entries cannot be described in this embedded configuration.
endif # BR2_TARGET_GRUB2
+
+comment "grub2 needs a toolchain w/ wchar"
+ depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS
+ depends on !BR2_USE_WCHAR
diff --git a/boot/grub2/grub2.hash b/boot/grub2/grub2.hash
index 88839056fb..7f0679fe3a 100644
--- a/boot/grub2/grub2.hash
+++ b/boot/grub2/grub2.hash
@@ -1,2 +1,2 @@
-# Locally calculated after checking pgp signature
-sha256 784ec38e7edc32239ad75b8e66df04dc8bfb26d88681bc9f627133a6eb85c458 grub-2.00.tar.xz
+# Locally computed:
+sha256 810b3798d316394f94096ec2797909dbf23c858e48f7b3830826b8daa06b7b0f grub-2.02.tar.xz
diff --git a/boot/grub2/grub2.mk b/boot/grub2/grub2.mk
index eeda6ab27e..36f27d14ea 100644
--- a/boot/grub2/grub2.mk
+++ b/boot/grub2/grub2.mk
@@ -4,8 +4,8 @@
#
################################################################################
-GRUB2_VERSION = 2.00
-GRUB2_SITE = $(BR2_GNU_MIRROR)/grub
+GRUB2_VERSION = 2.02
+GRUB2_SITE = http://ftp.gnu.org/gnu/grub
GRUB2_SOURCE = grub-$(GRUB2_VERSION).tar.xz
GRUB2_LICENSE = GPL-3.0+
GRUB2_LICENSE_FILES = COPYING
OpenPOWER on IntegriCloud