summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-boot')
-rw-r--r--sys-boot/grub/ChangeLog15
-rw-r--r--sys-boot/grub/files/2.02_beta2/0001-Makefile.util.def-Link-grub-ofpathname-with-zfs-libs.patch28
-rw-r--r--sys-boot/grub/files/2.02_beta2/0002-grub-install-support-for-partitioned-partx-loop-devi.patch42
-rw-r--r--sys-boot/grub/files/2.02_beta2/0003-Fix-grub-probe-0-option.patch43
-rw-r--r--sys-boot/grub/files/2.02_beta2/0004-Fix-partmap-cryptodisk-and-abstraction-handling-in-g.patch333
-rw-r--r--sys-boot/grub/files/2.02_beta2/0005-Fix-typo-gettext_print-instead-of-gettext_printf.patch27
-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.ebuild325
-rw-r--r--sys-boot/grub/grub-2.02_beta2.ebuild319
12 files changed, 14 insertions, 1307 deletions
diff --git a/sys-boot/grub/ChangeLog b/sys-boot/grub/ChangeLog
index 1aa77a69b675..ea3334bec7d0 100644
--- a/sys-boot/grub/ChangeLog
+++ b/sys-boot/grub/ChangeLog
@@ -1,6 +1,19 @@
# 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.330 2014/12/04 09:37:37 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/ChangeLog,v 1.331 2014/12/05 02:35:21 floppym Exp $
+
+ 05 Dec 2014; Mike Gilbert <floppym@gentoo.org> -files/2.02_beta2/0001-Makefile
+ .util.def-Link-grub-ofpathname-with-zfs-libs.patch, -files/2.02_beta2/0002-gru
+ b-install-support-for-partitioned-partx-loop-devi.patch,
+ -files/2.02_beta2/0003-Fix-grub-probe-0-option.patch, -files/2.02_beta2/0004-F
+ ix-partmap-cryptodisk-and-abstraction-handling-in-g.patch,
+ -files/2.02_beta2/0005-Fix-typo-gettext_print-instead-of-gettext_printf.patch,
+ -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.ebuild:
+ Remove obsolete ebuilds.
*grub-2.02_beta2-r4 (04 Dec 2014)
diff --git a/sys-boot/grub/files/2.02_beta2/0001-Makefile.util.def-Link-grub-ofpathname-with-zfs-libs.patch b/sys-boot/grub/files/2.02_beta2/0001-Makefile.util.def-Link-grub-ofpathname-with-zfs-libs.patch
deleted file mode 100644
index 0537fc872ab8..000000000000
--- a/sys-boot/grub/files/2.02_beta2/0001-Makefile.util.def-Link-grub-ofpathname-with-zfs-libs.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From fd5146df14bdcb3fcae4ba8c72d816124a4598af Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Sat, 18 Jan 2014 19:41:15 +0100
-Subject: [PATCH 1/5] * Makefile.util.def: Link grub-ofpathname with zfs
- libs.
-
-Conflicts:
- ChangeLog
----
- Makefile.util.def | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.util.def b/Makefile.util.def
-index 985e76c..9bfe47e 100644
---- a/Makefile.util.def
-+++ b/Makefile.util.def
-@@ -384,7 +384,7 @@ program = {
- ldadd = libgrubgcry.a;
- ldadd = libgrubkern.a;
- ldadd = grub-core/gnulib/libgnu.a;
-- ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBGEOM)';
-+ ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
- };
-
- program = {
---
-2.1.0
-
diff --git a/sys-boot/grub/files/2.02_beta2/0002-grub-install-support-for-partitioned-partx-loop-devi.patch b/sys-boot/grub/files/2.02_beta2/0002-grub-install-support-for-partitioned-partx-loop-devi.patch
deleted file mode 100644
index f36e4d6526f9..000000000000
--- a/sys-boot/grub/files/2.02_beta2/0002-grub-install-support-for-partitioned-partx-loop-devi.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From e407b6f1e9bf71877104eee2ed513b4065667f60 Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Sun, 26 Jan 2014 02:56:04 +0100
-Subject: [PATCH 2/5] grub-install: support for partitioned partx loop
- devices.
-
- * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Detect
- /dev/loopX as being the parent of /dev/loopXpY.
-
-Conflicts:
- ChangeLog
----
- grub-core/osdep/linux/getroot.c | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/grub-core/osdep/linux/getroot.c b/grub-core/osdep/linux/getroot.c
-index 772de0a..19581d3 100644
---- a/grub-core/osdep/linux/getroot.c
-+++ b/grub-core/osdep/linux/getroot.c
-@@ -883,6 +883,19 @@ grub_util_part_to_disk (const char *os_dev, struct stat *st,
- *pp = '\0';
- return path;
- }
-+
-+ /* If this is a loop device */
-+ if ((strncmp ("loop", p, 4) == 0) && p[4] >= '0' && p[4] <= '9')
-+ {
-+ char *pp = p + 4;
-+ while (*pp >= '0' && *pp <= '9')
-+ pp++;
-+ if (*pp == 'p')
-+ *is_part = 1;
-+ /* /dev/loop[0-9]+p[0-9]* */
-+ *pp = '\0';
-+ return path;
-+ }
- }
-
- return path;
---
-2.1.0
-
diff --git a/sys-boot/grub/files/2.02_beta2/0003-Fix-grub-probe-0-option.patch b/sys-boot/grub/files/2.02_beta2/0003-Fix-grub-probe-0-option.patch
deleted file mode 100644
index ebf8eb922dec..000000000000
--- a/sys-boot/grub/files/2.02_beta2/0003-Fix-grub-probe-0-option.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From ed2d3ef84e798d42ec361d109485ec20eafe9831 Mon Sep 17 00:00:00 2001
-From: Colin Watson <cjwatson@ubuntu.com>
-Date: Mon, 31 Mar 2014 13:51:17 +0100
-Subject: [PATCH 3/5] Fix grub-probe -0 option
-
-* util/grub-probe,c (options): Make -0 work again (broken by
-conversion to argp).
-(main): Simplify logic.
-
-Conflicts:
- ChangeLog
----
- util/grub-probe.c | 7 ++-----
- 1 file changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/util/grub-probe.c b/util/grub-probe.c
-index 1f3b59f..80509be 100644
---- a/util/grub-probe.c
-+++ b/util/grub-probe.c
-@@ -711,6 +711,7 @@ static struct argp_option options[] = {
- N_("use FILE as the device map [default=%s]"), 0},
- {"target", 't', N_("TARGET"), 0, 0, 0},
- {"verbose", 'v', 0, 0, N_("print verbose messages."), 0},
-+ {0, '0', 0, 0, N_("separate items in output using ASCII NUL characters"), 0},
- { 0, 0, 0, 0, 0, 0 }
- };
-
-@@ -884,11 +885,7 @@ main (int argc, char *argv[])
- else
- probe (arguments.devices[0], NULL, delim);
-
-- if (!arguments.zero_delim && (print == PRINT_BIOS_HINT
-- || print == PRINT_IEEE1275_HINT
-- || print == PRINT_BAREMETAL_HINT
-- || print == PRINT_EFI_HINT
-- || print == PRINT_ARC_HINT))
-+ if (delim == ' ')
- putchar ('\n');
-
- /* Free resources. */
---
-2.1.0
-
diff --git a/sys-boot/grub/files/2.02_beta2/0004-Fix-partmap-cryptodisk-and-abstraction-handling-in-g.patch b/sys-boot/grub/files/2.02_beta2/0004-Fix-partmap-cryptodisk-and-abstraction-handling-in-g.patch
deleted file mode 100644
index f047126cfc6c..000000000000
--- a/sys-boot/grub/files/2.02_beta2/0004-Fix-partmap-cryptodisk-and-abstraction-handling-in-g.patch
+++ /dev/null
@@ -1,333 +0,0 @@
-From 04461ee8175e18ea784301fd416b6e0dc574a288 Mon Sep 17 00:00:00 2001
-From: Colin Watson <cjwatson@ubuntu.com>
-Date: Mon, 31 Mar 2014 14:48:33 +0100
-Subject: [PATCH 4/5] Fix partmap, cryptodisk, and abstraction handling in
- grub-mkconfig.
-
-Commit 588744d0dc655177d5883bdcb8f72ff5160109ed caused grub-mkconfig
-no longer to be forgiving of trailing spaces on grub-probe output
-lines, which among other things means that util/grub.d/10_linux.in
-no longer detects LVM. To fix this, make grub-probe's output
-delimiting more consistent. As a bonus, this improves the coverage
-of the -0 option.
-
-Fixes Debian bug #735935.
-
-* grub-core/disk/cryptodisk.c
-(grub_util_cryptodisk_get_abstraction): Add a user-data argument.
-* grub-core/disk/diskfilter.c (grub_diskfilter_get_partmap):
-Likewise.
-* include/grub/cryptodisk.h (grub_util_cryptodisk_get_abstraction):
-Update prototype.
-* include/grub/diskfilter.h (grub_diskfilter_get_partmap): Likewise.
-* util/grub-install.c (push_partmap_module, push_cryptodisk_module,
-probe_mods): Adjust for extra user-data arguments.
-* util/grub-probe.c (do_print, probe_partmap, probe_cryptodisk_uuid,
-probe_abstraction): Use configured delimiter. Update callers.
-
-Conflicts:
- ChangeLog
----
- grub-core/disk/cryptodisk.c | 19 ++++++++++---------
- grub-core/disk/diskfilter.c | 5 +++--
- include/grub/cryptodisk.h | 3 ++-
- include/grub/diskfilter.h | 3 ++-
- util/grub-install.c | 14 ++++++++++----
- util/grub-probe.c | 46 ++++++++++++++++++++++-----------------------
- 6 files changed, 49 insertions(+), 41 deletions(-)
-
-diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c
-index 75c6e1f..f0e3a90 100644
---- a/grub-core/disk/cryptodisk.c
-+++ b/grub-core/disk/cryptodisk.c
-@@ -762,25 +762,26 @@ grub_cryptodisk_cheat_insert (grub_cryptodisk_t newdev, const char *name,
-
- void
- grub_util_cryptodisk_get_abstraction (grub_disk_t disk,
-- void (*cb) (const char *val))
-+ void (*cb) (const char *val, void *data),
-+ void *data)
- {
- grub_cryptodisk_t dev = (grub_cryptodisk_t) disk->data;
-
-- cb ("cryptodisk");
-- cb (dev->modname);
-+ cb ("cryptodisk", data);
-+ cb (dev->modname, data);
-
- if (dev->cipher)
-- cb (dev->cipher->cipher->modname);
-+ cb (dev->cipher->cipher->modname, data);
- if (dev->secondary_cipher)
-- cb (dev->secondary_cipher->cipher->modname);
-+ cb (dev->secondary_cipher->cipher->modname, data);
- if (dev->essiv_cipher)
-- cb (dev->essiv_cipher->cipher->modname);
-+ cb (dev->essiv_cipher->cipher->modname, data);
- if (dev->hash)
-- cb (dev->hash->modname);
-+ cb (dev->hash->modname, data);
- if (dev->essiv_hash)
-- cb (dev->essiv_hash->modname);
-+ cb (dev->essiv_hash->modname, data);
- if (dev->iv_hash)
-- cb (dev->iv_hash->modname);
-+ cb (dev->iv_hash->modname, data);
- }
-
- const char *
-diff --git a/grub-core/disk/diskfilter.c b/grub-core/disk/diskfilter.c
-index 28b70c6..e8a3bcb 100644
---- a/grub-core/disk/diskfilter.c
-+++ b/grub-core/disk/diskfilter.c
-@@ -354,7 +354,8 @@ grub_diskfilter_memberlist (grub_disk_t disk)
-
- void
- grub_diskfilter_get_partmap (grub_disk_t disk,
-- void (*cb) (const char *pm))
-+ void (*cb) (const char *pm, void *data),
-+ void *data)
- {
- struct grub_diskfilter_lv *lv = disk->data;
- struct grub_diskfilter_pv *pv;
-@@ -376,7 +377,7 @@ grub_diskfilter_get_partmap (grub_disk_t disk,
- continue;
- }
- for (s = 0; pv->partmaps[s]; s++)
-- cb (pv->partmaps[s]);
-+ cb (pv->partmaps[s], data);
- }
- }
-
-diff --git a/include/grub/cryptodisk.h b/include/grub/cryptodisk.h
-index 66f3e1e..f2ad2a7 100644
---- a/include/grub/cryptodisk.h
-+++ b/include/grub/cryptodisk.h
-@@ -145,7 +145,8 @@ grub_cryptodisk_cheat_insert (grub_cryptodisk_t newdev, const char *name,
- grub_disk_t source, const char *cheat);
- void
- grub_util_cryptodisk_get_abstraction (grub_disk_t disk,
-- void (*cb) (const char *val));
-+ void (*cb) (const char *val, void *data),
-+ void *data);
-
- char *
- grub_util_get_geli_uuid (const char *dev);
-diff --git a/include/grub/diskfilter.h b/include/grub/diskfilter.h
-index 042fe04..1aedcd3 100644
---- a/include/grub/diskfilter.h
-+++ b/include/grub/diskfilter.h
-@@ -202,7 +202,8 @@ grub_diskfilter_get_pv_from_disk (grub_disk_t disk,
- struct grub_diskfilter_vg **vg);
- void
- grub_diskfilter_get_partmap (grub_disk_t disk,
-- void (*cb) (const char *val));
-+ void (*cb) (const char *val, void *data),
-+ void *data);
- #endif
-
- #endif /* ! GRUB_RAID_H */
-diff --git a/util/grub-install.c b/util/grub-install.c
-index 8cfe0ea..663166f 100644
---- a/util/grub-install.c
-+++ b/util/grub-install.c
-@@ -381,7 +381,7 @@ probe_raid_level (grub_disk_t disk)
- }
-
- static void
--push_partmap_module (const char *map)
-+push_partmap_module (const char *map, void *data __attribute__ ((unused)))
- {
- char buf[50];
-
-@@ -396,6 +396,12 @@ push_partmap_module (const char *map)
- }
-
- static void
-+push_cryptodisk_module (const char *mod, void *data __attribute__ ((unused)))
-+{
-+ grub_install_push_module (mod);
-+}
-+
-+static void
- probe_mods (grub_disk_t disk)
- {
- grub_partition_t part;
-@@ -406,11 +412,11 @@ probe_mods (grub_disk_t disk)
- grub_util_info ("no partition map found for %s", disk->name);
-
- for (part = disk->partition; part; part = part->parent)
-- push_partmap_module (part->partmap->name);
-+ push_partmap_module (part->partmap->name, NULL);
-
- if (disk->dev->id == GRUB_DISK_DEVICE_DISKFILTER_ID)
- {
-- grub_diskfilter_get_partmap (disk, push_partmap_module);
-+ grub_diskfilter_get_partmap (disk, push_partmap_module, NULL);
- have_abstractions = 1;
- }
-
-@@ -426,7 +432,7 @@ probe_mods (grub_disk_t disk)
- if (disk->dev->id == GRUB_DISK_DEVICE_CRYPTODISK_ID)
- {
- grub_util_cryptodisk_get_abstraction (disk,
-- grub_install_push_module);
-+ push_cryptodisk_module, NULL);
- have_abstractions = 1;
- have_cryptodisk = 1;
- }
-diff --git a/util/grub-probe.c b/util/grub-probe.c
-index 80509be..ecb7b6b 100644
---- a/util/grub-probe.c
-+++ b/util/grub-probe.c
-@@ -130,13 +130,14 @@ get_targets_string (void)
- }
-
- static void
--do_print (const char *x)
-+do_print (const char *x, void *data)
- {
-- grub_printf ("%s ", x);
-+ char delim = *(const char *) data;
-+ grub_printf ("%s%c", x, delim);
- }
-
- static void
--probe_partmap (grub_disk_t disk)
-+probe_partmap (grub_disk_t disk, char delim)
- {
- grub_partition_t part;
- grub_disk_memberlist_t list = NULL, tmp;
-@@ -147,10 +148,10 @@ probe_partmap (grub_disk_t disk)
- }
-
- for (part = disk->partition; part; part = part->parent)
-- printf ("%s ", part->partmap->name);
-+ printf ("%s%c", part->partmap->name, delim);
-
- if (disk->dev->id == GRUB_DISK_DEVICE_DISKFILTER_ID)
-- grub_diskfilter_get_partmap (disk, do_print);
-+ grub_diskfilter_get_partmap (disk, do_print, &delim);
-
- /* In case of LVM/RAID, check the member devices as well. */
- if (disk->dev->memberlist)
-@@ -159,7 +160,7 @@ probe_partmap (grub_disk_t disk)
- }
- while (list)
- {
-- probe_partmap (list->disk);
-+ probe_partmap (list->disk, delim);
- tmp = list->next;
- free (list);
- list = tmp;
-@@ -167,7 +168,7 @@ probe_partmap (grub_disk_t disk)
- }
-
- static void
--probe_cryptodisk_uuid (grub_disk_t disk)
-+probe_cryptodisk_uuid (grub_disk_t disk, char delim)
- {
- grub_disk_memberlist_t list = NULL, tmp;
-
-@@ -178,7 +179,7 @@ probe_cryptodisk_uuid (grub_disk_t disk)
- }
- while (list)
- {
-- probe_cryptodisk_uuid (list->disk);
-+ probe_cryptodisk_uuid (list->disk, delim);
- tmp = list->next;
- free (list);
- list = tmp;
-@@ -186,7 +187,7 @@ probe_cryptodisk_uuid (grub_disk_t disk)
- if (disk->dev->id == GRUB_DISK_DEVICE_CRYPTODISK_ID)
- {
- const char *uu = grub_util_cryptodisk_get_uuid (disk);
-- grub_printf ("%s ", uu);
-+ grub_printf ("%s%c", uu, delim);
- }
- }
-
-@@ -210,7 +211,7 @@ probe_raid_level (grub_disk_t disk)
- }
-
- static void
--probe_abstraction (grub_disk_t disk)
-+probe_abstraction (grub_disk_t disk, char delim)
- {
- grub_disk_memberlist_t list = NULL, tmp;
- int raid_level;
-@@ -219,7 +220,7 @@ probe_abstraction (grub_disk_t disk)
- list = disk->dev->memberlist (disk);
- while (list)
- {
-- probe_abstraction (list->disk);
-+ probe_abstraction (list->disk, delim);
-
- tmp = list->next;
- free (list);
-@@ -229,26 +230,26 @@ probe_abstraction (grub_disk_t disk)
- if (disk->dev->id == GRUB_DISK_DEVICE_DISKFILTER_ID
- && (grub_memcmp (disk->name, "lvm/", sizeof ("lvm/") - 1) == 0 ||
- grub_memcmp (disk->name, "lvmid/", sizeof ("lvmid/") - 1) == 0))
-- printf ("lvm ");
-+ printf ("lvm%c", delim);
-
- if (disk->dev->id == GRUB_DISK_DEVICE_DISKFILTER_ID
- && grub_memcmp (disk->name, "ldm/", sizeof ("ldm/") - 1) == 0)
-- printf ("ldm ");
-+ printf ("ldm%c", delim);
-
- if (disk->dev->id == GRUB_DISK_DEVICE_CRYPTODISK_ID)
-- grub_util_cryptodisk_get_abstraction (disk, do_print);
-+ grub_util_cryptodisk_get_abstraction (disk, do_print, &delim);
-
- raid_level = probe_raid_level (disk);
- if (raid_level >= 0)
- {
-- printf ("diskfilter ");
-+ printf ("diskfilter%c", delim);
- if (disk->dev->raidname)
-- printf ("%s ", disk->dev->raidname (disk));
-+ printf ("%s%c", disk->dev->raidname (disk), delim);
- }
- if (raid_level == 5)
-- printf ("raid5rec ");
-+ printf ("raid5rec%c", delim);
- if (raid_level == 6)
-- printf ("raid6rec ");
-+ printf ("raid6rec%c", delim);
- }
-
- static void
-@@ -630,16 +631,14 @@ probe (const char *path, char **device_names, char delim)
-
- if (print == PRINT_ABSTRACTION)
- {
-- probe_abstraction (dev->disk);
-- putchar (delim);
-+ probe_abstraction (dev->disk, delim);
- grub_device_close (dev);
- continue;
- }
-
- if (print == PRINT_CRYPTODISK_UUID)
- {
-- probe_cryptodisk_uuid (dev->disk);
-- putchar (delim);
-+ probe_cryptodisk_uuid (dev->disk, delim);
- grub_device_close (dev);
- continue;
- }
-@@ -647,8 +646,7 @@ probe (const char *path, char **device_names, char delim)
- if (print == PRINT_PARTMAP)
- {
- /* Check if dev->disk itself is contained in a partmap. */
-- probe_partmap (dev->disk);
-- putchar (delim);
-+ probe_partmap (dev->disk, delim);
- grub_device_close (dev);
- continue;
- }
---
-2.1.0
-
diff --git a/sys-boot/grub/files/2.02_beta2/0005-Fix-typo-gettext_print-instead-of-gettext_printf.patch b/sys-boot/grub/files/2.02_beta2/0005-Fix-typo-gettext_print-instead-of-gettext_printf.patch
deleted file mode 100644
index be2c09265b3f..000000000000
--- a/sys-boot/grub/files/2.02_beta2/0005-Fix-typo-gettext_print-instead-of-gettext_printf.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 61dcf8704027844fbcad45ef13452e996ca02c41 Mon Sep 17 00:00:00 2001
-From: Andrey Borzenkov <arvidjaar@gmail.com>
-Date: Thu, 14 Aug 2014 21:02:31 +0400
-Subject: [PATCH 5/5] Fix typo (gettext_print instead of gettext_printf)
-
-Conflicts:
- ChangeLog
----
- util/grub-mkconfig.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
-index ca040dd..d1fae49 100644
---- a/util/grub-mkconfig.in
-+++ b/util/grub-mkconfig.in
-@@ -124,7 +124,7 @@ set $grub_probe dummy
- if test -f "$1"; then
- :
- else
-- gettext_print "%s: Not found.\n" "$1" 1>&2
-+ gettext_printf "%s: Not found.\n" "$1" 1>&2
- exit 1
- fi
-
---
-2.1.0
-
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
deleted file mode 100644
index d61e3f934042..000000000000
--- a/sys-boot/grub/files/2.02_beta2/0006-change-stop-condition-to-avoid-infinite-loops.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 86c07c2f060c..000000000000
--- a/sys-boot/grub/files/2.02_beta2/0007-Improve-LVM-logical_volumes-string-matching.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index ba0c029234bf..000000000000
--- a/sys-boot/grub/files/2.02_beta2/0008-Fix-an-infinite-loop-in-grub-mkconfig.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-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
deleted file mode 100644
index bedf1f05b23e..000000000000
--- a/sys-boot/grub/files/2.02_beta2/0009-Fix-incorrect-address-reference-in-btrfs.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-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-r2.ebuild b/sys-boot/grub/grub-2.02_beta2-r2.ebuild
deleted file mode 100644
index 4f66eb5360d4..000000000000
--- a/sys-boot/grub/grub-2.02_beta2-r2.ebuild
+++ /dev/null
@@ -1,325 +0,0 @@
-# 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-r2.ebuild,v 1.4 2014/10/22 21:03:02 floppym Exp $
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF=1
-GRUB_AUTOGEN=1
-
-if [[ -n ${GRUB_AUTOGEN} ]]; then
- PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3,3_4} )
- inherit python-any-r1
-fi
-
-inherit autotools-utils bash-completion-r1 eutils flag-o-matic mount-boot multibuild pax-utils toolchain-funcs versionator
-
-if [[ ${PV} != 9999 ]]; then
- if [[ ${PV} == *_alpha* || ${PV} == *_beta* || ${PV} == *_rc* ]]; then
- # The quote style is to work with <=bash-4.2 and >=bash-4.3 #503860
- MY_P=${P/_/'~'}
- SRC_URI="mirror://gnu-alpha/${PN}/${MY_P}.tar.xz"
- S=${WORKDIR}/${MY_P}
- else
- SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
- mirror://gentoo/${P}.tar.xz
- http://dev.gentoo.org/~floppym/dist/${P}.tar.xz"
- S=${WORKDIR}/${P%_*}
- fi
- KEYWORDS="amd64 ~x86"
- PATCHES=()
-else
- inherit git-r3
- EGIT_REPO_URI="git://git.sv.gnu.org/grub.git
- http://git.savannah.gnu.org/r/grub.git"
-fi
-
-DEJAVU=dejavu-sans-ttf-2.34
-UNIFONT=unifont-7.0.01
-SRC_URI+=" mirror://gnu/unifont/${UNIFONT}/${UNIFONT}.pcf.gz
- truetype? ( mirror://sourceforge/dejavu/${DEJAVU}.zip )"
-
-DESCRIPTION="GNU GRUB boot loader"
-HOMEPAGE="http://www.gnu.org/software/grub/"
-
-# Includes licenses for dejavu and unifont
-LICENSE="GPL-3 truetype? ( BitstreamVera GPL-2-with-font-exception )"
-SLOT="2"
-IUSE="debug device-mapper doc efiemu mount +multislot nls static sdl test truetype libzfs"
-
-GRUB_ALL_PLATFORMS=(
- # everywhere:
- emu
- # mips only:
- qemu-mips loongson
- # amd64, x86, ppc, ppc64:
- ieee1275
- # amd64, x86:
- coreboot multiboot efi-32 pc qemu xen
- # amd64, ia64:
- efi-64
-)
-IUSE+=" ${GRUB_ALL_PLATFORMS[@]/#/grub_platforms_}"
-
-# os-prober: Used on runtime to detect other OSes
-# xorriso (dev-libs/libisoburn): Used on runtime for mkrescue
-RDEPEND="
- app-arch/xz-utils
- >=sys-libs/ncurses-5.2-r5
- debug? (
- sdl? ( media-libs/libsdl )
- )
- device-mapper? ( >=sys-fs/lvm2-2.02.45 )
- libzfs? ( sys-fs/zfs )
- mount? ( sys-fs/fuse )
- truetype? ( media-libs/freetype:2= )
- ppc? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
- ppc64? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
-"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- app-misc/pax-utils
- sys-devel/flex
- sys-devel/bison
- sys-apps/help2man
- sys-apps/texinfo
- grub_platforms_coreboot? ( media-libs/freetype:2 )
- grub_platforms_qemu? ( media-libs/freetype:2 )
- grub_platforms_ieee1275? ( media-libs/freetype:2 )
- grub_platforms_loongson? ( media-libs/freetype:2 )
- grub_platforms_xen? ( app-emulation/xen-tools )
- static? (
- app-arch/xz-utils[static-libs(+)]
- truetype? (
- app-arch/bzip2[static-libs(+)]
- media-libs/freetype[static-libs(+)]
- sys-libs/zlib[static-libs(+)]
- )
- )
- test? (
- dev-libs/libisoburn
- app-emulation/qemu
- )
- truetype? ( app-arch/unzip )
-"
-RDEPEND+="
- kernel_linux? (
- grub_platforms_efi-32? ( sys-boot/efibootmgr )
- grub_platforms_efi-64? ( sys-boot/efibootmgr )
- )
- !multislot? ( !sys-boot/grub:0 )
- nls? ( sys-devel/gettext )
-"
-
-STRIP_MASK="*/grub/*/*.{mod,img}"
-RESTRICT="test"
-
-QA_EXECSTACK="
- usr/bin/grub*-emu*
- usr/lib*/grub/*/*.mod
- usr/lib*/grub/*/*.module
- usr/lib*/grub/*/kernel.exec
- usr/lib*/grub/*/kernel.img
-"
-
-QA_WX_LOAD="
- usr/lib*/grub/*/kernel.exec
- usr/lib*/grub/*/kernel.img
- usr/lib*/grub/*/*.image
-"
-
-QA_PRESTRIPPED="
- usr/lib.*/grub/.*/kernel.img
-"
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # Bug 439082
- if ! test-flags-CC -fuse-ld=bfd > /dev/null &&
- $(tc-getLD) --version | grep -q "GNU gold"; then
- eerror "GRUB does not function correctly when built with the gold linker."
- eerror "Please select the bfd linker with binutils-config."
- die "GNU gold detected"
- fi
- fi
-}
-
-src_unpack() {
- if [[ ${PV} == 9999 ]]; then
- git-r3_src_unpack
- fi
- default_src_unpack
-}
-
-src_prepare() {
- EPATCH_SOURCE="${FILESDIR}/${PV}" \
- EPATCH_SUFFIX="patch" \
- EPATCH_FORCE="yes" \
- epatch
-
- [[ ${PATCHES} ]] && epatch "${PATCHES[@]}"
-
- sed -i -e /autoreconf/d autogen.sh || die
-
- if use multislot; then
- # fix texinfo file name, bug 416035
- sed -i -e 's/^\* GRUB:/* GRUB2:/' -e 's/(grub)/(grub2)/' docs/grub.texi || die
- fi
-
- epatch_user
-
- if [[ -n ${GRUB_AUTOGEN} ]]; then
- python_setup
- bash autogen.sh || die
- fi
-
- if [[ -n ${AUTOTOOLS_AUTORECONF} ]]; then
- autopoint() { return 0; }
- eautoreconf
- fi
-}
-
-setup_fonts() {
- ln -s "${WORKDIR}/${UNIFONT}.pcf" unifont.pcf || die
- if use truetype; then
- ln -s "${WORKDIR}/${DEJAVU}/ttf/DejaVuSans.ttf" DejaVuSans.ttf || die
- fi
-}
-
-grub_configure() {
- local platform
-
- case ${MULTIBUILD_VARIANT} in
- efi-32)
- platform=efi
- if [[ ${CTARGET:-${CHOST}} == x86_64* ]]; then
- local CTARGET=${CTARGET:-i386}
- fi ;;
- efi-64)
- platform=efi
- if [[ ${CTARGET:-${CHOST}} == i?86* ]]; then
- local CTARGET=${CTARGET:-x86_64}
- local TARGET_CFLAGS="-Os -march=x86-64 ${TARGET_CFLAGS}"
- local TARGET_CPPFLAGS="-march=x86-64 ${TARGET_CPPFLAGS}"
- export TARGET_CFLAGS TARGET_CPPFLAGS
- fi ;;
- guessed) ;;
- *) platform=${MULTIBUILD_VARIANT} ;;
- esac
-
- local myeconfargs=(
- --disable-werror
- --program-prefix=
- --libdir="${EPREFIX}"/usr/lib
- --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
- $(use_enable debug mm-debug)
- $(use_enable debug grub-emu-usb)
- $(use_enable device-mapper)
- $(use_enable mount grub-mount)
- $(use_enable nls)
- $(use_enable truetype grub-mkfont)
- $(use_enable libzfs)
- $(use sdl && use_enable debug grub-emu-sdl)
- ${platform:+--with-platform=}${platform}
-
- # Let configure detect this where supported
- $(usex efiemu '' '--disable-efiemu')
- )
-
- if use multislot; then
- myeconfargs+=( --program-transform-name="s,grub,grub2," )
- fi
-
- mkdir -p "${BUILD_DIR}" || die
- run_in_build_dir setup_fonts
-
- autotools-utils_src_configure
-}
-
-src_configure() {
- # Bug 508758.
- replace-flags -O3 -O2
-
- # We don't want to leak flags onto boot code.
- export HOST_CCASFLAGS=${CCASFLAGS}
- export HOST_CFLAGS=${CFLAGS}
- export HOST_CPPFLAGS=${CPPFLAGS}
- export HOST_LDFLAGS=${LDFLAGS}
- unset CCASFLAGS CFLAGS CPPFLAGS LDFLAGS
-
- use static && HOST_LDFLAGS+=" -static"
-
- export TARGET_LDFLAGS+=" $(test-flags-CC -fuse-ld=bfd)"
-
- tc-export CC NM OBJCOPY STRIP
- export TARGET_CC=${TARGET_CC:-${CC}}
- tc-export BUILD_CC # Bug 485592
-
- # Portage will take care of cleaning up GRUB_PLATFORMS
- MULTIBUILD_VARIANTS=( ${GRUB_PLATFORMS:-guessed} )
- multibuild_parallel_foreach_variant grub_configure
-}
-
-src_compile() {
- # Sandbox bug 404013.
- use libzfs && addpredict /etc/dfs:/dev/zfs
-
- multibuild_foreach_variant autotools-utils_src_compile
-
- use doc && multibuild_for_best_variant \
- autotools-utils_src_compile -C docs html
-}
-
-src_test() {
- # The qemu dependency is a bit complex.
- # You will need to adjust QEMU_SOFTMMU_TARGETS to match the cpu/platform.
- multibuild_foreach_variant autotools-utils_src_test
-}
-
-src_install() {
- multibuild_foreach_variant autotools-utils_src_install \
- bashcompletiondir="$(get_bashcompdir)"
-
- use doc && multibuild_for_best_variant run_in_build_dir \
- emake -C docs DESTDIR="${D}" install-html
-
- if use multislot; then
- mv "${ED%/}"/usr/share/info/grub{,2}.info || die
- fi
-
- insinto /etc/default
- newins "${FILESDIR}"/grub.default-3 grub
-}
-
-pkg_postinst() {
- mount-boot_mount_boot_partition
-
- if [[ -e "${ROOT%/}/boot/grub2/grub.cfg" ]]; then
- ewarn "The grub directory has changed from /boot/grub2 to /boot/grub."
- ewarn "Please run grub2-install and grub2-mkconfig -o /boot/grub/grub.cfg."
-
- if [[ ! -e "${ROOT%/}/boot/grub/grub.cfg" ]]; then
- mkdir -p "${ROOT%/}/boot/grub"
- ln -s ../grub2/grub.cfg "${ROOT%/}/boot/grub/grub.cfg"
- fi
- fi
-
- mount-boot_pkg_postinst
-
- elog "For information on how to configure GRUB2 please refer to the guide:"
- elog " http://wiki.gentoo.org/wiki/GRUB2_Quick_Start"
-
- if has_version 'sys-boot/grub:0'; then
- elog "A migration guide for GRUB Legacy users is available:"
- elog " http://www.gentoo.org/doc/en/grub2-migration.xml"
- fi
-
- if [[ -z ${REPLACING_VERSIONS} ]]; then
- if ! has_version sys-boot/os-prober; then
- elog "Install sys-boot/os-prober to enable detection of other operating systems using grub2-mkconfig."
- fi
- if ! has_version dev-libs/libisoburn; then
- elog "Install dev-libs/libisoburn to enable creation of rescue media using grub2-mkrescue."
- fi
- fi
-}
diff --git a/sys-boot/grub/grub-2.02_beta2.ebuild b/sys-boot/grub/grub-2.02_beta2.ebuild
deleted file mode 100644
index f19536b36d83..000000000000
--- a/sys-boot/grub/grub-2.02_beta2.ebuild
+++ /dev/null
@@ -1,319 +0,0 @@
-# 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.ebuild,v 1.11 2014/09/10 01:20:36 floppym Exp $
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF=1
-GRUB_AUTOGEN=1
-
-if [[ -n ${GRUB_AUTOGEN} ]]; then
- PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3,3_4} )
- inherit python-any-r1
-fi
-
-inherit autotools-utils bash-completion-r1 eutils flag-o-matic mount-boot multibuild pax-utils toolchain-funcs versionator
-
-if [[ ${PV} != 9999 ]]; then
- if [[ ${PV} == *_alpha* || ${PV} == *_beta* || ${PV} == *_rc* ]]; then
- # The quote style is to work with <=bash-4.2 and >=bash-4.3 #503860
- MY_P=${P/_/'~'}
- SRC_URI="mirror://gnu-alpha/${PN}/${MY_P}.tar.xz"
- S=${WORKDIR}/${MY_P}
- else
- SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
- mirror://gentoo/${P}.tar.xz
- http://dev.gentoo.org/~floppym/dist/${P}.tar.xz"
- S=${WORKDIR}/${P%_*}
- fi
- KEYWORDS="amd64 ~x86"
- PATCHES=( "${FILESDIR}/${P}-libzfs.patch" )
-else
- inherit git-r3
- EGIT_REPO_URI="git://git.sv.gnu.org/grub.git
- http://git.savannah.gnu.org/r/grub.git"
-fi
-
-DEJAVU=dejavu-sans-ttf-2.34
-UNIFONT=unifont-7.0.01
-SRC_URI+=" truetype? (
- mirror://sourceforge/dejavu/${DEJAVU}.zip
- mirror://gnu/unifont/${UNIFONT}/${UNIFONT}.pcf.gz
-)"
-
-DESCRIPTION="GNU GRUB boot loader"
-HOMEPAGE="http://www.gnu.org/software/grub/"
-
-# Includes licenses for dejavu and unifont
-LICENSE="GPL-3 truetype? ( BitstreamVera GPL-2-with-font-exception )"
-SLOT="2"
-IUSE="debug device-mapper doc efiemu mount +multislot nls static sdl test truetype libzfs"
-
-GRUB_ALL_PLATFORMS=(
- # everywhere:
- emu
- # mips only:
- qemu-mips loongson
- # amd64, x86, ppc, ppc64:
- ieee1275
- # amd64, x86:
- coreboot multiboot efi-32 pc qemu xen
- # amd64, ia64:
- efi-64
-)
-IUSE+=" ${GRUB_ALL_PLATFORMS[@]/#/grub_platforms_}"
-
-# os-prober: Used on runtime to detect other OSes
-# xorriso (dev-libs/libisoburn): Used on runtime for mkrescue
-RDEPEND="
- app-arch/xz-utils
- >=sys-libs/ncurses-5.2-r5
- debug? (
- sdl? ( media-libs/libsdl )
- )
- device-mapper? ( >=sys-fs/lvm2-2.02.45 )
- libzfs? ( sys-fs/zfs )
- mount? ( sys-fs/fuse )
- truetype? ( media-libs/freetype:2= )
- ppc? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
- ppc64? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
-"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- app-misc/pax-utils
- sys-devel/flex
- sys-devel/bison
- sys-apps/help2man
- sys-apps/texinfo
- grub_platforms_coreboot? ( media-libs/freetype:2 )
- grub_platforms_qemu? ( media-libs/freetype:2 )
- grub_platforms_ieee1275? ( media-libs/freetype:2 )
- grub_platforms_loongson? ( media-libs/freetype:2 )
- grub_platforms_xen? ( app-emulation/xen-tools )
- static? (
- app-arch/xz-utils[static-libs(+)]
- truetype? (
- app-arch/bzip2[static-libs(+)]
- media-libs/freetype[static-libs(+)]
- sys-libs/zlib[static-libs(+)]
- )
- )
- test? (
- dev-libs/libisoburn
- app-emulation/qemu
- )
- truetype? ( app-arch/unzip )
-"
-RDEPEND+="
- kernel_linux? (
- grub_platforms_efi-32? ( sys-boot/efibootmgr )
- grub_platforms_efi-64? ( sys-boot/efibootmgr )
- )
- !multislot? ( !sys-boot/grub:0 )
- nls? ( sys-devel/gettext )
-"
-
-STRIP_MASK="*/grub/*/*.{mod,img}"
-RESTRICT="test"
-
-QA_EXECSTACK="
- usr/bin/grub*-emu*
- usr/lib*/grub/*/*.mod
- usr/lib*/grub/*/*.module
- usr/lib*/grub/*/kernel.exec
- usr/lib*/grub/*/kernel.img
-"
-
-QA_WX_LOAD="
- usr/lib*/grub/*/kernel.exec
- usr/lib*/grub/*/kernel.img
- usr/lib*/grub/*/*.image
-"
-
-QA_PRESTRIPPED="
- usr/lib.*/grub/.*/kernel.img
-"
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # Bug 439082
- if ! version_is_at_least 4.8 "$(gcc-version)" &&
- $(tc-getLD) --version | grep -q "GNU gold"; then
- eerror "GRUB does not function correctly when built with the gold linker."
- eerror "Please select the bfd linker with binutils-config."
- die "GNU gold detected"
- fi
- fi
-}
-
-src_unpack() {
- if [[ ${PV} == 9999 ]]; then
- git-r3_src_unpack
- fi
- default_src_unpack
-}
-
-src_prepare() {
- [[ ${PATCHES} ]] && epatch "${PATCHES[@]}"
- sed -i -e /autoreconf/d autogen.sh || die
- if use multislot; then
- # fix texinfo file name, bug 416035
- sed -i -e 's/^\* GRUB:/* GRUB2:/' -e 's/(grub)/(grub2)/' docs/grub.texi || die
- fi
- epatch_user
- if [[ -n ${GRUB_AUTOGEN} ]]; then
- python_setup
- bash autogen.sh || die
- fi
- if [[ -n ${AUTOTOOLS_AUTORECONF} ]]; then
- autopoint() { return 0; }
- eautoreconf
- fi
-}
-
-setup_fonts() {
- ln -s "${WORKDIR}/${DEJAVU}/ttf/DejaVuSans.ttf" DejaVuSans.ttf || die
- ln -s "${WORKDIR}/${UNIFONT}.pcf" unifont.pcf || die
-}
-
-grub_configure() {
- local platform
-
- case ${MULTIBUILD_VARIANT} in
- efi-32)
- platform=efi
- if [[ ${CTARGET:-${CHOST}} == x86_64* ]]; then
- local CTARGET=${CTARGET:-i386}
- fi ;;
- efi-64)
- platform=efi
- if [[ ${CTARGET:-${CHOST}} == i?86* ]]; then
- local CTARGET=${CTARGET:-x86_64}
- local TARGET_CFLAGS="-Os -march=x86-64 ${TARGET_CFLAGS}"
- local TARGET_CPPFLAGS="-march=x86-64 ${TARGET_CPPFLAGS}"
- export TARGET_CFLAGS TARGET_CPPFLAGS
- fi ;;
- guessed) ;;
- *) platform=${MULTIBUILD_VARIANT} ;;
- esac
-
- local myeconfargs=(
- --disable-werror
- --program-prefix=
- --libdir="${EPREFIX}"/usr/lib
- --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
- $(use_enable debug mm-debug)
- $(use_enable debug grub-emu-usb)
- $(use_enable device-mapper)
- $(use_enable mount grub-mount)
- $(use_enable nls)
- $(use_enable truetype grub-mkfont)
- $(use_enable libzfs)
- $(use sdl && use_enable debug grub-emu-sdl)
- ${platform:+--with-platform=}${platform}
-
- # Let configure detect this where supported
- $(usex efiemu '' '--disable-efiemu')
- )
-
- if use multislot; then
- myeconfargs+=( --program-transform-name="s,grub,grub2," )
- fi
-
- if use truetype; then
- mkdir -p "${BUILD_DIR}" || die
- run_in_build_dir setup_fonts
- fi
-
- autotools-utils_src_configure
-}
-
-src_configure() {
- # Bug 508758.
- replace-flags -O3 -O2
-
- # We don't want to leak flags onto boot code.
- export HOST_CCASFLAGS=${CCASFLAGS}
- export HOST_CFLAGS=${CFLAGS}
- export HOST_CPPFLAGS=${CPPFLAGS}
- export HOST_LDFLAGS=${LDFLAGS}
- unset CCASFLAGS CFLAGS CPPFLAGS LDFLAGS
-
- use static && HOST_LDFLAGS+=" -static"
-
- if version_is_at_least 4.8 "$(gcc-version)"; then
- export TARGET_LDFLAGS+=" -fuse-ld=bfd"
- fi
-
- tc-export CC NM OBJCOPY STRIP
- export TARGET_CC=${TARGET_CC:-${CC}}
- tc-export BUILD_CC # Bug 485592
-
- # Portage will take care of cleaning up GRUB_PLATFORMS
- MULTIBUILD_VARIANTS=( ${GRUB_PLATFORMS:-guessed} )
- multibuild_parallel_foreach_variant grub_configure
-}
-
-src_compile() {
- # Sandbox bug 404013.
- use libzfs && addpredict /etc/dfs:/dev/zfs
-
- multibuild_foreach_variant autotools-utils_src_compile
-
- use doc && multibuild_for_best_variant \
- autotools-utils_src_compile -C docs html
-}
-
-src_test() {
- # The qemu dependency is a bit complex.
- # You will need to adjust QEMU_SOFTMMU_TARGETS to match the cpu/platform.
- multibuild_foreach_variant autotools-utils_src_test
-}
-
-src_install() {
- multibuild_foreach_variant autotools-utils_src_install \
- bashcompletiondir="$(get_bashcompdir)"
-
- use doc && multibuild_for_best_variant run_in_build_dir \
- emake -C docs DESTDIR="${D}" install-html
-
- if use multislot; then
- mv "${ED%/}"/usr/share/info/grub{,2}.info || die
- fi
-
- insinto /etc/default
- newins "${FILESDIR}"/grub.default-3 grub
-}
-
-pkg_postinst() {
- mount-boot_mount_boot_partition
-
- if [[ -e "${ROOT%/}/boot/grub2/grub.cfg" ]]; then
- ewarn "The grub directory has changed from /boot/grub2 to /boot/grub."
- ewarn "Please run grub2-install and grub2-mkconfig -o /boot/grub/grub.cfg."
-
- if [[ ! -e "${ROOT%/}/boot/grub/grub.cfg" ]]; then
- mkdir -p "${ROOT%/}/boot/grub"
- ln -s ../grub2/grub.cfg "${ROOT%/}/boot/grub/grub.cfg"
- fi
- fi
-
- mount-boot_pkg_postinst
-
- elog "For information on how to configure GRUB2 please refer to the guide:"
- elog " http://wiki.gentoo.org/wiki/GRUB2_Quick_Start"
-
- if has_version 'sys-boot/grub:0'; then
- elog "A migration guide for GRUB Legacy users is available:"
- elog " http://www.gentoo.org/doc/en/grub2-migration.xml"
- fi
-
- if [[ -z ${REPLACING_VERSIONS} ]]; then
- if ! has_version sys-boot/os-prober; then
- elog "Install sys-boot/os-prober to enable detection of other operating systems using grub2-mkconfig."
- fi
- if ! has_version dev-libs/libisoburn; then
- elog "Install dev-libs/libisoburn to enable creation of rescue media using grub2-mkrescue."
- fi
- fi
-}