Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | SUMMARY = "GRUB2 is the next-generation GRand Unified Bootloader" |
| 2 | |
| 3 | DESCRIPTION = "GRUB2 is the next generaion of a GPLed bootloader \ |
| 4 | intended to unify bootloading across x86 operating systems. In \ |
| 5 | addition to loading the Linux kernel, it implements the Multiboot \ |
| 6 | standard, which allows for flexible loading of multiple boot images." |
| 7 | |
| 8 | HOMEPAGE = "http://www.gnu.org/software/grub/" |
| 9 | SECTION = "bootloaders" |
| 10 | |
| 11 | LICENSE = "GPLv3" |
| 12 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" |
| 13 | |
| 14 | SRC_URI = "ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \ |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 15 | file://grub-module-explicitly-keeps-symbole-.module_license.patch \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 16 | file://grub-2.00-fpmath-sse-387-fix.patch \ |
| 17 | file://check-if-liblzma-is-disabled.patch \ |
| 18 | file://fix-issue-with-flex-2.5.37.patch \ |
| 19 | file://grub-2.00-add-oe-kernel.patch \ |
| 20 | file://grub-install.in.patch \ |
| 21 | file://remove-gets.patch \ |
| 22 | file://fix-endianness-problem.patch \ |
| 23 | file://grub2-remove-sparc64-setup-from-x86-builds.patch \ |
| 24 | file://grub-2.00-fix-enable_execute_stack-check.patch \ |
| 25 | file://grub-no-unused-result.patch \ |
| 26 | file://grub-efi-allow-a-compilation-without-mcmodel-large.patch \ |
| 27 | file://grub-efi-fix-with-glibc-2.20.patch \ |
| 28 | file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ |
| 29 | file://0001-parse_dhcp_vendor-Add-missing-const-qualifiers.patch \ |
| 30 | file://grub2-fix-initrd-size-bug.patch \ |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 31 | file://0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch \ |
| 32 | file://0001-Remove-direct-_llseek-code-and-require-long-filesyst.patch \ |
| 33 | file://fix-texinfo.patch \ |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 34 | file://0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 35 | " |
| 36 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 37 | DEPENDS = "flex-native bison-native autogen-native" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 38 | |
| 39 | SRC_URI[md5sum] = "e927540b6eda8b024fb0391eeaa4091c" |
| 40 | SRC_URI[sha256sum] = "65b39a0558f8c802209c574f4d02ca263a804e8a564bc6caf1cd0fd3b3cc11e3" |
| 41 | |
| 42 | COMPATIBLE_HOST = '(x86_64.*|i.86.*)-(linux|freebsd.*)' |
| 43 | |
| 44 | inherit autotools gettext texinfo |
| 45 | |
| 46 | PACKAGECONFIG ??= "" |
| 47 | PACKAGECONFIG[grub-mount] = "--enable-grub-mount,--disable-grub-mount,fuse" |
| 48 | PACKAGECONFIG[device-mapper] = "--enable-device-mapper,--disable-device-mapper,lvm2" |
| 49 | |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 50 | # grub2 creates its own set of -nostdinc / -isystem / -ffreestanding CFLAGS and |
| 51 | # OE's default BUILD_CFLAGS (assigned to CFLAGS for native builds) etc, conflict |
| 52 | # with that. Note that since BUILD_CFLAGS etc are not used by grub2 target |
| 53 | # builds, it's safe to clear them unconditionally for both target and native. |
| 54 | BUILD_CPPFLAGS = "" |
| 55 | BUILD_CFLAGS = "" |
| 56 | BUILD_CXXFLAGS = "" |
| 57 | BUILD_LDFLAGS = "" |
| 58 | |
| 59 | do_configure_prepend() { |
| 60 | # The grub2 configure script uses variables such as TARGET_CFLAGS etc |
| 61 | # for its own purposes. Remove the OE versions from the environment to |
| 62 | # avoid conflicts. |
| 63 | unset TARGET_CPPFLAGS TARGET_CFLAGS TARGET_CXXFLAGS TARGET_LDFLAGS |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 64 | ( cd ${S} |
| 65 | ${S}/autogen.sh ) |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 66 | } |
| 67 | |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 68 | # grub and grub-efi's sysroot/${datadir}/grub/grub-mkconfig_lib are |
| 69 | # conflicted, remove it since no one uses it. |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 70 | SYSROOT_DIRS_BLACKLIST += "${datadir}/grub/grub-mkconfig_lib" |