Files
poky/meta/recipes-bsp/grub/grub_2.02.bb
Hongxu Jia 4e9bb03238 grub/grub-efi: fix conflict
While installing grub and grub-efi, there are conflict files
in ${sysconfdir} ${datadir} ${bindir} ${sbindir}.

- Since all of the conflicted files are tools which is
  common for grub and grub-efi, we split them (except
  grub-editenv) to grub-common in grub.

- The package grub-common runtime depends grub-editenv

- The package grub-editenv runtime provides grub-efi-editenv

- Remove SYSROOT_DIRS_BLACKLIST

- The recipe grub-efi does not generate the duplicated files
  and use runtime depends grub-common to instead

Debian and Fedora do the similar thing.

Debian use a common package grub-common for both of pc bios and efi,
and use package grub-pc-bin for pc bios, grub-efi-amd64-bin for efi.
Both of grub-pc-bin and grub-efi-amd64-bin requires grub-common.
https://packages.debian.org/sid/grub-common
https://packages.debian.org/jessie/grub-pc-bin
https://packages.debian.org/jessie/grub-efi-amd64-bin

Fedora use a common package grub2-tools for both of pc bios and efi,
and use package grub2 for pc bios, grub2-efi-modules for efi.
Both of grub2 and grub2-efi-modules requires grub2-tools.
https://www.rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/g/grub2-tools-2.02-0.34.fc24.x86_64.html
https://www.rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/g/grub2-2.02-0.34.fc24.x86_64.html
https://www.rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/g/grub2-efi-modules-2.02-0.34.fc24.x86_64.html

[YOCTO #11639]

(From OE-Core rev: 6fd0bc313c6035b7de5b7a62cbbcd1d6f546c7f9)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-19 12:37:14 +00:00

30 lines
730 B
BlitzBasic

require grub2.inc
RDEPENDS_${PN}-common += "${PN}-editenv"
RDEPENDS_${PN} += "diffutils freetype ${PN}-common"
RPROVIDES_${PN}-editenv += "${PN}-efi-editenv"
PACKAGES =+ "${PN}-editenv ${PN}-common"
FILES_${PN}-editenv = "${bindir}/grub-editenv"
FILES_${PN}-common = " \
${bindir} \
${sysconfdir} \
${sbindir} \
${datadir}/grub \
"
do_install_append () {
install -d ${D}${sysconfdir}/grub.d
# Remove build host references...
find "${D}" -name modinfo.sh -type f -exec \
sed -i \
-e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
-e 's|${DEBUG_PREFIX_MAP}||g' \
-e 's:${RECIPE_SYSROOT_NATIVE}::g' \
{} +
}
INSANE_SKIP_${PN} = "arch"
INSANE_SKIP_${PN}-dbg = "arch"