diff options
Diffstat (limited to 'sys-boot/grub')
-rw-r--r-- | sys-boot/grub/files/2.02_beta3-sysmacros.patch | 107 | ||||
-rw-r--r-- | sys-boot/grub/grub-2.02_beta3-r1.ebuild | 1 |
2 files changed, 108 insertions, 0 deletions
diff --git a/sys-boot/grub/files/2.02_beta3-sysmacros.patch b/sys-boot/grub/files/2.02_beta3-sysmacros.patch new file mode 100644 index 000000000000..8610f3a1a57c --- /dev/null +++ b/sys-boot/grub/files/2.02_beta3-sysmacros.patch @@ -0,0 +1,107 @@ +From 7a5b301e3adb8e054288518a325135a1883c1c6c Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppym@gentoo.org> +Date: Tue, 19 Apr 2016 14:27:22 -0400 +Subject: [PATCH] build: Use AC_HEADER_MAJOR to find device macros + +Depending on the OS/libc, device macros are defined in different +headers. This change ensures we include the right one. + +sys/types.h - BSD +sys/mkdev.h - Sun +sys/sysmacros.h - glibc (Linux) + +glibc currently pulls sys/sysmacros.h into sys/types.h, but this may +change in a future release. + +https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html +--- + configure.ac | 3 ++- + grub-core/osdep/devmapper/getroot.c | 6 ++++++ + grub-core/osdep/devmapper/hostdisk.c | 5 +++++ + grub-core/osdep/linux/getroot.c | 6 ++++++ + grub-core/osdep/unix/getroot.c | 4 +++- + 5 files changed, 22 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 57e1713..9ddfc53 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -388,7 +388,8 @@ fi + + # Check for functions and headers. + AC_CHECK_FUNCS(posix_memalign memalign getextmntent) +-AC_CHECK_HEADERS(sys/param.h sys/mount.h sys/mnttab.h sys/mkdev.h limits.h) ++AC_CHECK_HEADERS(sys/param.h sys/mount.h sys/mnttab.h limits.h) ++AC_HEADER_MAJOR + + AC_CHECK_MEMBERS([struct statfs.f_fstypename],,,[$ac_includes_default + #include <sys/param.h> +diff --git a/grub-core/osdep/devmapper/getroot.c b/grub-core/osdep/devmapper/getroot.c +index 05eda50..72e5582 100644 +--- a/grub-core/osdep/devmapper/getroot.c ++++ b/grub-core/osdep/devmapper/getroot.c +@@ -40,6 +40,12 @@ + #include <limits.h> + #endif + ++#if defined(MAJOR_IN_MKDEV) ++#include <sys/mkdev.h> ++#elif defined(MAJOR_IN_SYSMACROS) ++#include <sys/sysmacros.h> ++#endif ++ + #include <libdevmapper.h> + + #include <grub/types.h> +diff --git a/grub-core/osdep/devmapper/hostdisk.c b/grub-core/osdep/devmapper/hostdisk.c +index 19c1101..a697bcb 100644 +--- a/grub-core/osdep/devmapper/hostdisk.c ++++ b/grub-core/osdep/devmapper/hostdisk.c +@@ -24,6 +24,11 @@ + #include <errno.h> + #include <limits.h> + ++#if defined(MAJOR_IN_MKDEV) ++#include <sys/mkdev.h> ++#elif defined(MAJOR_IN_SYSMACROS) ++#include <sys/sysmacros.h> ++#endif + + #ifdef HAVE_DEVICE_MAPPER + # include <libdevmapper.h> +diff --git a/grub-core/osdep/linux/getroot.c b/grub-core/osdep/linux/getroot.c +index 10480b6..09e7e6e 100644 +--- a/grub-core/osdep/linux/getroot.c ++++ b/grub-core/osdep/linux/getroot.c +@@ -35,6 +35,12 @@ + #include <limits.h> + #endif + ++#if defined(MAJOR_IN_MKDEV) ++#include <sys/mkdev.h> ++#elif defined(MAJOR_IN_SYSMACROS) ++#include <sys/sysmacros.h> ++#endif ++ + #include <grub/types.h> + #include <sys/ioctl.h> /* ioctl */ + #include <sys/mount.h> +diff --git a/grub-core/osdep/unix/getroot.c b/grub-core/osdep/unix/getroot.c +index 1079a91..4bf37b0 100644 +--- a/grub-core/osdep/unix/getroot.c ++++ b/grub-core/osdep/unix/getroot.c +@@ -51,8 +51,10 @@ + #endif + + #include <sys/types.h> +-#if defined(HAVE_SYS_MKDEV_H) ++#if defined(MAJOR_IN_MKDEV) + #include <sys/mkdev.h> ++#elif defined(MAJOR_IN_SYSMACROS) ++#include <sys/sysmacros.h> + #endif + + #if defined(HAVE_LIBZFS) && defined(HAVE_LIBNVPAIR) +-- +2.8.1 + diff --git a/sys-boot/grub/grub-2.02_beta3-r1.ebuild b/sys-boot/grub/grub-2.02_beta3-r1.ebuild index 87d786d64fa3..43291a0473bd 100644 --- a/sys-boot/grub/grub-2.02_beta3-r1.ebuild +++ b/sys-boot/grub/grub-2.02_beta3-r1.ebuild @@ -34,6 +34,7 @@ PATCHES=( "${FILESDIR}"/gfxpayload.patch "${FILESDIR}"/grub-2.02_beta2-KERNEL_GLOBS.patch "${FILESDIR}"/2.02_beta3-10_linux-UUID.patch + "${FILESDIR}"/2.02_beta3-sysmacros.patch ) DEJAVU=dejavu-sans-ttf-2.35 |