summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2014-09-10 20:50:43 +0000
committerMike Gilbert <floppym@gentoo.org>2014-09-10 20:50:43 +0000
commitec916c4d830e6b0c028e0bc0ae9c8780756c7686 (patch)
treec55ca77660c4c1395cb13bb52f2b1172392e08e2 /sys-boot/grub
parentRemove old (diff)
downloadhistorical-ec916c4d830e6b0c028e0bc0ae9c8780756c7686.tar.gz
historical-ec916c4d830e6b0c028e0bc0ae9c8780756c7686.tar.bz2
historical-ec916c4d830e6b0c028e0bc0ae9c8780756c7686.zip
More backports, bug 522428.
Package-Manager: portage-2.2.12/cvs/Linux x86_64 Manifest-Sign-Key: 0x0BBEEA1FEA4843A4
Diffstat (limited to 'sys-boot/grub')
-rw-r--r--sys-boot/grub/ChangeLog12
-rw-r--r--sys-boot/grub/Manifest14
-rw-r--r--sys-boot/grub/files/2.02_beta2/0006-change-stop-condition-to-avoid-infinite-loops.patch34
-rw-r--r--sys-boot/grub/files/2.02_beta2/0007-Improve-LVM-logical_volumes-string-matching.patch34
-rw-r--r--sys-boot/grub/files/2.02_beta2/0008-Fix-an-infinite-loop-in-grub-mkconfig.patch83
-rw-r--r--sys-boot/grub/files/2.02_beta2/0009-Fix-incorrect-address-reference-in-btrfs.patch38
-rw-r--r--sys-boot/grub/grub-2.02_beta2-r2.ebuild (renamed from sys-boot/grub/grub-2.02_beta2-r1.ebuild)2
7 files changed, 210 insertions, 7 deletions
diff --git a/sys-boot/grub/ChangeLog b/sys-boot/grub/ChangeLog
index 835c3452ba79..92697981fbe0 100644
--- a/sys-boot/grub/ChangeLog
+++ b/sys-boot/grub/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for sys-boot/grub
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/ChangeLog,v 1.316 2014/09/10 01:20:36 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/ChangeLog,v 1.317 2014/09/10 20:50:40 floppym Exp $
+
+*grub-2.02_beta2-r2 (10 Sep 2014)
+
+ 10 Sep 2014; Mike Gilbert <floppym@gentoo.org>
+ +files/2.02_beta2/0006-change-stop-condition-to-avoid-infinite-loops.patch,
+ +files/2.02_beta2/0007-Improve-LVM-logical_volumes-string-matching.patch,
+ +files/2.02_beta2/0008-Fix-an-infinite-loop-in-grub-mkconfig.patch,
+ +files/2.02_beta2/0009-Fix-incorrect-address-reference-in-btrfs.patch,
+ +grub-2.02_beta2-r2.ebuild, -grub-2.02_beta2-r1.ebuild:
+ More backports, bug 522428.
10 Sep 2014; Mike Gilbert <floppym@gentoo.org> grub-2.02_beta2-r1.ebuild,
grub-2.02_beta2.ebuild, grub-9999-r1.ebuild:
diff --git a/sys-boot/grub/Manifest b/sys-boot/grub/Manifest
index f8366443a9ae..abb2a086bcbe 100644
--- a/sys-boot/grub/Manifest
+++ b/sys-boot/grub/Manifest
@@ -6,6 +6,10 @@ AUX 2.02_beta2/0002-grub-install-support-for-partitioned-partx-loop-devi.patch 1
AUX 2.02_beta2/0003-Fix-grub-probe-0-option.patch 1269 SHA256 84070873cc0cf254cf6c6f54d9c13593efcec5c19d8b1025d21817fcd13c4398 SHA512 109d49804d003bbc189d3d7933d97b55fbb505514f9f6d7bf9d2ffbcf53d9ff850bcc2f2b66019c1da7d02d513e7199898f1938ed888cd653a5c79460dbeaec9 WHIRLPOOL 9643047c2565a578eee3960ba4cf55d8a223d76eabe76b31658b45ad43a831954d73d5c96524f59f0d0ea80744908204342ee6880add94301313b056d0cef1d7
AUX 2.02_beta2/0004-Fix-partmap-cryptodisk-and-abstraction-handling-in-g.patch 10395 SHA256 03e1db8686eeb7566f625b909b78fc74975c85f5bfb99dc7179529d620f32fa1 SHA512 56dbad590c6b11ff6f937677504e1bacc4f86912511718cb75129fa18fd4e274b071a32c26e07820e2cff9306797e5d0326b5099db2384d75d271d89030f20ad WHIRLPOOL 9f7b4dd99faedc5d876d60cfd5cda0f14a75dd0fa87a6fbbec38f75d120df13162cf8457e42104cbbf92e9f83fbed40391db9c804bf1782c278b098152b75803
AUX 2.02_beta2/0005-Fix-typo-gettext_print-instead-of-gettext_printf.patch 680 SHA256 decf480d874cee3e5cd5c93144fae1646ce56981ec3fc2279e82c87c3472e8a5 SHA512 7cfabbbe8e53dadc1fbf670515bddfe8b511d06b16eca49e077e4fab88c8ccb6091aed45756a8ce0e8f59580f58fc62c6d5a350b12cbf62e3be325855891859d WHIRLPOOL c9232691110fc524977d83e4fca8437478cf246bd3ef50f9608c526623cef58cecf48842fa63f9a78bf4d3c88bfd803337d84a7167244e4afa44aaace3ee533d
+AUX 2.02_beta2/0006-change-stop-condition-to-avoid-infinite-loops.patch 1080 SHA256 ee9e78a98085739bef39e41357e5905416d1a54f6f156b8199d2462d1d8e7a83 SHA512 d70c491d5df187481e616128798ad257373a1837f96c4c024a83b9f5ba36e134df15f071aec0e2224e470928258db6a1cbc5ad3c289c29b7251e76fa75afe003 WHIRLPOOL 0e1ec341c5b2422780927309268bbad5f66a05aca5ff272f3fad4ae947919f24df46758a15d3f22a06bf33ea37e769f54e6af41fcc1e362aec7e1a0b4b4215a0
+AUX 2.02_beta2/0007-Improve-LVM-logical_volumes-string-matching.patch 920 SHA256 30c8894c24fa57c73fc8fff74d9ed8e4d02e1e1cc86b335447e4954783f54f25 SHA512 1a912f67439bb565f5207ed41a34a7552047181efa9765356ac79ad6306f015061830e952b0169fb52334110e377b63766213d3866c4bd609ffcecccf387c6d7 WHIRLPOOL 42047c2bf01155fd0520a4d6176396f31b37af6626406c6b951ee294e95c14b4c7509a1936b8c116bba4279a5d2c817170793b710065b4a22dd099fd7c42e4e1
+AUX 2.02_beta2/0008-Fix-an-infinite-loop-in-grub-mkconfig.patch 2863 SHA256 1f1f0b764ccb6ea462b18801ba99e87cbdc001a0fe744030189476b05ef3595a SHA512 1bd1cea5624fa74455ef99840daf60c2b97a858e7a1cecd6bd864ddbc53c9a4b71ce9753ed1997ab20c93a5a2d494cfa8a2a8ba1bff93daf0e2064c8642b9a20 WHIRLPOOL d0b72d01652badf8c618b7ac110c832ba7c7b4ce83249798334183055d8b916f475aff1fec868a930e4e7b384462709e9afc876d2f224510beab426789522de7
+AUX 2.02_beta2/0009-Fix-incorrect-address-reference-in-btrfs.patch 1325 SHA256 99d180975be674eb36f079a7cf747e58a5753b10f008d4326d98af91a211d5ac SHA512 72d1ea98eab8739e23c2dc8eabb98ceb90f6f378ebd089c80ea6239dcfd7fbb7763b577b4ed4798f63464c439bcc88a9c597156860746f2db19a5f5f6bdbb122 WHIRLPOOL dab297c2fca123c07ea9b07affadd510864f0c261280bc164f46d4231a05526112767f5033a231138726746053c0aefe8efc8123fcf671dbe06181a296d459e9
AUX grub-2.00-freetype-2.5.1.patch 752 SHA256 95ddb348097df2bdf51a36529935118ad4bb51cb780038d149ed0ae3bf0693c9 SHA512 e9d05de956364b923e01d8f71d77f05d6c0815b7ae21ec5d34875de09770ce42b52f7d410314f7e4a273256350d7cbf311cf95a5d83e469c7a83b9b69879caff WHIRLPOOL 67751eaad605cf064106f2a304657bf1fe1ea1f4bb3f6efe436f2d7e6b84e80b56327e51cff4db63a7f34e7f21a456d3c7517d6ee6da5f8f2cbd7816f34d4016
AUX grub-2.02_beta2-libzfs.patch 612 SHA256 f2de3680168e7a88261ac3f0fab6131ad3e22ce732ce969c0dc0efbf583aaddb SHA512 17810d390c90e39df63121af4d8dd670a87703d3f589aa26edde7c7e9f8f6e88dfb93a156040062c6cfe03615126970b3b073d688b3ec52cfb6ae401ad31754c WHIRLPOOL 0f19a0684b04bd7494068686fb6596a5f7c4a2e1dc47edb21c4841342876414b5caf367c0cb777e1b42f82e8db1d8eccb20151f89c36da7050aeb9db1616ad4f
AUX grub.conf.gentoo 627 SHA256 914b15af252210a32776196437cd8013e10e57d5780e66877ef3fe9a2b4b9776 SHA512 5ee586c151b025a153867d2854b73e2e18a6af38e9d65069b7114a55af776803ba947b4901b0806e79fa8f36aeac90daad608b9ec2a4a8526301d1beb36e4ef3 WHIRLPOOL fcaef85cd7c2c446c882874cf4ec8a2241d1fc97720973a0a0cd1add259da599d4dae4d0b429ba2dff0307ed2d4598d5939cbc1b11127a0dedb3a54249ec9f81
@@ -22,15 +26,15 @@ DIST unifont-7.0.01.pcf.gz 1358916 SHA256 7618a96ad50703213848af8ecae816828f528b
EBUILD grub-0.97-r12.ebuild 9233 SHA256 d5486666e1f8339a8308489607c9108cd34e8ebc696a956e2ff8dafad1c71815 SHA512 332a89395331ef04654345f960f2939340ce9b47ae6ac755e54f4ecc85f6243060890e7553b515468aaffd8346bbb5a0b7fbd26d23911b847f12c557854e96f1 WHIRLPOOL 1a20c9df999954ce431ca50eaaa5651721c939229b3a55d820445620218ffa64d43ba6251e88b1df6f54163f6914265596698db513a47d3c415ccaa01b51e61d
EBUILD grub-0.97-r13.ebuild 9384 SHA256 c694ab37f477548da2b98c9beb2c5432ddd799e40fcbf82273cd2da3fdb072e1 SHA512 615e4d11ba91c7bc2fcb926bfc791d1aa3151a06dd336f9597ccc5b22a4b6a1bbffde5f7622ec6cc4c04216c63d99becfc9cf38bcf8fed476773bd3b7930fad2 WHIRLPOOL 91d94e1f90393bb5137b791bfa2d73b418938091d81ec44b783d749ea08ee3a615a5ca4d07a841c66429f6ff7d480ae2ad4f0626576ddaab459f111106160761
EBUILD grub-2.00_p5107-r2.ebuild 8180 SHA256 1db3f6266e63332ef89d9c32895189fee3307a5ca2f687620df43c5a9d52547a SHA512 f95264d8eff99a1dd8420d64539aef4b7eb464edc8119076af7c175fac418d0e554ee7bb0ae4edb57c3a1a5b82f32da51db6b7ffc4a9a62dc7541d3694b65faa WHIRLPOOL d1dd247120f6de17aaea2899760fd7daf3eb242a3945f6ae2c03eae71c33e3c6bb780639a030d9ba46f4b9b8f23d383fc6559306e40a82be293466ce6d6270a5
-EBUILD grub-2.02_beta2-r1.ebuild 8372 SHA256 f6d471f82189477c546b43b6bc877ff7f76926a235efceb78ffa335eb94aeaa3 SHA512 3eaec87917b6ad6f78f1933b8e41fd45d760e9cfe51c5781603280b7e292fc55ca8816cad188356e105c974f286014661d376dae9ed811d3d19d6874b7942300 WHIRLPOOL fbc4b67bcb84b13655c802bce826af7f27f5edefedf5c1906a9dc7f2aa2c35416036c4e6995d8d1bf2735b897af97d031f96a96ccbaf9644cb91c4ad54dffcfc
+EBUILD grub-2.02_beta2-r2.ebuild 8372 SHA256 69c4df3a1b7cba26f4330c667de9e31b1b1d725339751c0720c6c8e275aac159 SHA512 63703cb741a76794bc9925cfac987541300fea74a7e9f5afa5c54fc0ddc512200fd0b6e65f96913799c1690ed0cdb2b77b9901c06c3801f5918c314cfa96be19 WHIRLPOOL 69f56d61b22ea429edaf113fc5de2a874e15fdcf58ba159d9e898efe3e9cacd8d0dd6450c10895f7c1e0fabadef00b617db637ada5311449965d09b5442c909d
EBUILD grub-2.02_beta2.ebuild 8304 SHA256 7c41c4abbb6daef697960d00f9f44f2779095b4918ac975c97799c0fd38b958f SHA512 07ee0e1605e12899d5544db3e3672d4c91f7dcc6b65556d27c32ab1edf9a39a183a6b7be6eeb4ad1f5c4be84dee3a0e18af90867241069c253e4be7185163f54 WHIRLPOOL dc310d7dbea7e310da6f7ee3b1f0563014cba9102f325603cf7d3f7ce6047a93fa4f50777e3b86097c04a372c659eb12ab06ded3293585b0c87c74872c31b5fc
EBUILD grub-9999-r1.ebuild 8308 SHA256 e6a8a3c6f0a9540802f65b43e63c20648cea25c5cc1261534d254c31f5d97193 SHA512 51939a575a06e299e860621c3d5bc23c059b27fdff0336fef8a005afe813435af6ca50a07ee71aa02dee09a158bb437bb7690bc9bc4c794d5431045db601052c WHIRLPOOL b59e25ce068dfce03d8fb4c413e890af414209f4d44045fe29d255e0c7d52299527db2468cb1e187a8678b4774279ad407c1decced069fa22a441fbfd9a9bd6d
-MISC ChangeLog 60345 SHA256 9a8f27369dd9be0615e57bd1347be40cb2c95e57c78beae499538720521c7c25 SHA512 f1f4baadf3f5212a5caff0e4c07bbc6e8188bbd6d035976ee0c9247d373440403ea2906780932fc2cf44913aa3971bf215d83311f9ddebaf56d52dd71018a66e WHIRLPOOL 4d42e412e2f0f12c08cfc566e74d751bf924dd8644c44f13ed5f09be4d5db80e885f7e340fd8e459a4adff3ae773efdd19c2933b72c43158b796c9cb7d079e15
+MISC ChangeLog 60815 SHA256 18e0209922da176eba2d74a9dc675c55b7791e4638aff6ef08416c1367f9893d SHA512 df77572ba1872fe177a513702b76b0dfe243521058a0572925529a9225067fa6cf9d8440ee9c146ed52ce09ea3e6720564716bd9aa171699e3afe7c0362181dd WHIRLPOOL fdb64d18c0f793474414f86fe97829a1ef5767dfe7ff1b4d29f5a8cda11f9e65739ff852dc1527aa565279a1718710440ffa413e7206913dd10da5c460c4d42e
MISC metadata.xml 838 SHA256 01beea9f20f03e00fdc21576a1311d3c21874980cdd57a9f2ed08a9d7cda1c46 SHA512 f6266f2f77db089d2f9289be079ef5a3637726b0906c5e96a7d8b7e29a8105cb7c48b9739f5607c0fdac2545db0e87f35132769f82b12db11a6f0018cc3c92f2 WHIRLPOOL 528d4f57ca38b0f0d4c34cd6bd60c7aeefc0fabd1e1e7be8efe0fcba04824d047a6e04288f1fbbd8e865c7435b53e84caffe7d4196809b157ee76e0d2be6f8df
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
-iF4EAREIAAYFAlQQYnAACgkQC77qH+pIQ6SNkQD/ULfsTE/vKQdS1zRkIv3ZQMjw
-vXrb6TUQSC3P+KmJHk4A/jY7C6A/sCBF4gMH0J46rwMk4L78t6l1UlJKxsIxfHPu
-=jE5x
+iF4EAREIAAYFAlQQuaIACgkQC77qH+pIQ6ShQQD/XFqb6P50jHST6WdVuEl9PEGI
+toukXhtFVBj1i9QGXgEA/R+VF37WzSwXl+Vc35ssj+9T9VBHtQQpQF8zMVdTAqJT
+=XxG+
-----END PGP SIGNATURE-----
diff --git a/sys-boot/grub/files/2.02_beta2/0006-change-stop-condition-to-avoid-infinite-loops.patch b/sys-boot/grub/files/2.02_beta2/0006-change-stop-condition-to-avoid-infinite-loops.patch
new file mode 100644
index 000000000000..d61e3f934042
--- /dev/null
+++ b/sys-boot/grub/files/2.02_beta2/0006-change-stop-condition-to-avoid-infinite-loops.patch
@@ -0,0 +1,34 @@
+From 6b0b3e87bc4de54e97c698f7c381e7c13589b19c Mon Sep 17 00:00:00 2001
+From: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
+Date: Tue, 21 Jan 2014 10:49:39 -0200
+Subject: [PATCH 6/8] change stop condition to avoid infinite loops
+
+In net/net.c there is a while (1) that only exits if there is a stop
+condition and more then 10 packages or if there is no package received.
+
+If GRUB is idle and enter in this loop, the only condition to leave is
+if it doesn't have incoming packages. In a network with heavy traffic
+this never happens.
+
+Conflicts:
+ ChangeLog
+---
+ grub-core/net/net.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grub-core/net/net.c b/grub-core/net/net.c
+index 0e57e93..56355f3 100644
+--- a/grub-core/net/net.c
++++ b/grub-core/net/net.c
+@@ -1453,7 +1453,7 @@ receive_packets (struct grub_net_card *card, int *stop_condition)
+ }
+ card->opened = 1;
+ }
+- while (1)
++ while (received < 100)
+ {
+ /* Maybe should be better have a fixed number of packets for each card
+ and just mark them as used and not used. */
+--
+2.1.0
+
diff --git a/sys-boot/grub/files/2.02_beta2/0007-Improve-LVM-logical_volumes-string-matching.patch b/sys-boot/grub/files/2.02_beta2/0007-Improve-LVM-logical_volumes-string-matching.patch
new file mode 100644
index 000000000000..86c07c2f060c
--- /dev/null
+++ b/sys-boot/grub/files/2.02_beta2/0007-Improve-LVM-logical_volumes-string-matching.patch
@@ -0,0 +1,34 @@
+From da77623a6762c655ae47fc595eaa9251f5ce5d5d Mon Sep 17 00:00:00 2001
+From: Colin Watson <cjwatson@ubuntu.com>
+Date: Thu, 10 Apr 2014 14:42:41 +0100
+Subject: [PATCH 7/8] Improve LVM "logical_volumes" string matching
+
+* grub-core/disk/lvm.c (grub_lvm_detect): Search for
+"logical_volumes" block a little more accurately.
+
+Conflicts:
+ ChangeLog
+---
+ grub-core/disk/lvm.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c
+index 483c17e..862a966 100644
+--- a/grub-core/disk/lvm.c
++++ b/grub-core/disk/lvm.c
+@@ -333,10 +333,10 @@ grub_lvm_detect (grub_disk_t disk,
+ }
+ }
+
+- p = grub_strstr (p, "logical_volumes");
++ p = grub_strstr (p, "logical_volumes {");
+ if (p)
+ {
+- p += sizeof ("logical_volumes = ") - 1;
++ p += sizeof ("logical_volumes {") - 1;
+
+ /* And add all the lvs to the volume group. */
+ while (1)
+--
+2.1.0
+
diff --git a/sys-boot/grub/files/2.02_beta2/0008-Fix-an-infinite-loop-in-grub-mkconfig.patch b/sys-boot/grub/files/2.02_beta2/0008-Fix-an-infinite-loop-in-grub-mkconfig.patch
new file mode 100644
index 000000000000..ba0c029234bf
--- /dev/null
+++ b/sys-boot/grub/files/2.02_beta2/0008-Fix-an-infinite-loop-in-grub-mkconfig.patch
@@ -0,0 +1,83 @@
+From 21a85381a1586a0989f2cf9d151b746231984c92 Mon Sep 17 00:00:00 2001
+From: Colin Watson <cjwatson@ubuntu.com>
+Date: Tue, 8 Jul 2014 23:54:30 +0100
+Subject: [PATCH 8/8] Fix an infinite loop in grub-mkconfig
+
+* util/grub.d/10_hurd.in: Make kernel list progression not fail on
+kernels whose paths contain regex metacharacters.
+* util/grub.d/10_kfreebsd.in: Likewise.
+* util/grub.d/10_linux.in: Likewise.
+* util/grub.d/20_linux_xen.in: Likewise.
+
+Reported by: Heimo Stranner.
+
+Conflicts:
+ ChangeLog
+---
+ util/grub.d/10_hurd.in | 2 +-
+ util/grub.d/10_kfreebsd.in | 2 +-
+ util/grub.d/10_linux.in | 2 +-
+ util/grub.d/20_linux_xen.in | 4 ++--
+ 4 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/util/grub.d/10_hurd.in b/util/grub.d/10_hurd.in
+index 82dfe19..29b4554 100644
+--- a/util/grub.d/10_hurd.in
++++ b/util/grub.d/10_hurd.in
+@@ -168,7 +168,7 @@ while [ "x$kernels" != "x" ] ; do
+ hurd_entry "$kernel" advanced
+ hurd_entry "$kernel" recovery
+
+- kernels=`echo $kernels | tr ' ' '\n' | grep -vx $kernel | tr '\n' ' '`
++ kernels=`echo $kernels | tr ' ' '\n' | fgrep -vx "$kernel" | tr '\n' ' '`
+ done
+
+ # If at least one kernel was found, then we need to
+diff --git a/util/grub.d/10_kfreebsd.in b/util/grub.d/10_kfreebsd.in
+index a524762..ba7175b 100644
+--- a/util/grub.d/10_kfreebsd.in
++++ b/util/grub.d/10_kfreebsd.in
+@@ -228,7 +228,7 @@ while [ "x$list" != "x" ] ; do
+ kfreebsd_entry "${OS}" "${version}" recovery "-s"
+ fi
+
+- list=`echo $list | tr ' ' '\n' | grep -vx $kfreebsd | tr '\n' ' '`
++ list=`echo $list | tr ' ' '\n' | fgrep -vx "$kfreebsd" | tr '\n' ' '`
+ done
+
+ # If at least one kernel was found, then we need to
+diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
+index 00d1931..d2e2a8f 100644
+--- a/util/grub.d/10_linux.in
++++ b/util/grub.d/10_linux.in
+@@ -241,7 +241,7 @@ while [ "x$list" != "x" ] ; do
+ "single ${GRUB_CMDLINE_LINUX}"
+ fi
+
+- list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
++ list=`echo $list | tr ' ' '\n' | fgrep -vx "$linux" | tr '\n' ' '`
+ done
+
+ # If at least one kernel was found, then we need to
+diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
+index a608435..2e77758 100644
+--- a/util/grub.d/20_linux_xen.in
++++ b/util/grub.d/20_linux_xen.in
+@@ -255,12 +255,12 @@ while [ "x${xen_list}" != "x" ] ; do
+ "single ${GRUB_CMDLINE_LINUX}" "${GRUB_CMDLINE_XEN}"
+ fi
+
+- list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
++ list=`echo $list | tr ' ' '\n' | fgrep -vx "$linux" | tr '\n' ' '`
+ done
+ if [ x"$is_top_level" != xtrue ]; then
+ echo ' }'
+ fi
+- xen_list=`echo $xen_list | tr ' ' '\n' | grep -vx $current_xen | tr '\n' ' '`
++ xen_list=`echo $xen_list | tr ' ' '\n' | fgrep -vx "$current_xen" | tr '\n' ' '`
+ done
+
+ # If at least one kernel was found, then we need to
+--
+2.1.0
+
diff --git a/sys-boot/grub/files/2.02_beta2/0009-Fix-incorrect-address-reference-in-btrfs.patch b/sys-boot/grub/files/2.02_beta2/0009-Fix-incorrect-address-reference-in-btrfs.patch
new file mode 100644
index 000000000000..bedf1f05b23e
--- /dev/null
+++ b/sys-boot/grub/files/2.02_beta2/0009-Fix-incorrect-address-reference-in-btrfs.patch
@@ -0,0 +1,38 @@
+From c00568e2648bf7a9c4c517bf0acfbd0c62d48ef3 Mon Sep 17 00:00:00 2001
+From: Michael Chang <mchang@suse.com>
+Date: Thu, 14 Aug 2014 18:17:45 +0800
+Subject: [PATCH 9/9] Fix incorrect address reference in btrfs
+
+We encountered a weird random kernel initrd unpacking error on btrfs
+and finally found it was caused by incorrect address reference in range
+check for type GRUB_BTRFS_EXTENT_REGULAR and the entire result is
+unpredictable.
+
+This is a quick fix to make the address reference to the
+grub_btrfs_extent_data structure correctly, not the pointer variable
+to it.
+
+Any suggestions to this patch is welcome.
+
+Conflicts:
+ ChangeLog
+---
+ grub-core/fs/btrfs.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c
+index 89666b6..d1b930d 100644
+--- a/grub-core/fs/btrfs.c
++++ b/grub-core/fs/btrfs.c
+@@ -1051,7 +1051,7 @@ grub_btrfs_extent_read (struct grub_btrfs_data *data,
+
+ data->extend = data->extstart + grub_le_to_cpu64 (data->extent->size);
+ if (data->extent->type == GRUB_BTRFS_EXTENT_REGULAR
+- && (char *) &data->extent + elemsize
++ && (char *) data->extent + elemsize
+ >= (char *) &data->extent->filled + sizeof (data->extent->filled))
+ data->extend =
+ data->extstart + grub_le_to_cpu64 (data->extent->filled);
+--
+2.1.0
+
diff --git a/sys-boot/grub/grub-2.02_beta2-r1.ebuild b/sys-boot/grub/grub-2.02_beta2-r2.ebuild
index e833283bf515..af88035e4618 100644
--- a/sys-boot/grub/grub-2.02_beta2-r1.ebuild
+++ b/sys-boot/grub/grub-2.02_beta2-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-2.02_beta2-r1.ebuild,v 1.2 2014/09/10 01:20:36 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-2.02_beta2-r2.ebuild,v 1.1 2014/09/10 20:50:40 floppym Exp $
EAPI=5