[oe] [PATCH] grub: Split the grub-install script and friends into a separate package.

Michael Smith msmith at cbnco.com
Tue May 12 02:53:24 UTC 2009


In the main grub package, menu.lst and stage1/2 files will now be
installed in /boot/grub.

stage2_eltorito is split into its own package for bootable ISOs.

Signed-off-by: Michael Smith <msmith at cbnco.com>
---
 recipes/grub/grub_0.97.bb |   36 +++++++++++++++++++++---------------
 1 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/recipes/grub/grub_0.97.bb b/recipes/grub/grub_0.97.bb
index ef37af1..40adff9 100644
--- a/recipes/grub/grub_0.97.bb
+++ b/recipes/grub/grub_0.97.bb
@@ -2,8 +2,8 @@ DESCRIPTION = "GRand Unified Bootloader"
 HOMEPAGE = "http://www.gnu.org/software/grub"
 SECTION = "bootloaders"
 PRIORITY = "optional"
-RDEPENDS = "diffutils"
-PR = "r4"
+RDEPENDS_${PN}-install = "diffutils"
+PR = "r5"
 
 SRC_URI = "ftp://alpha.gnu.org/gnu/grub/grub-${PV}.tar.gz \
            file://automake-1.10.patch;patch=1 \
@@ -11,20 +11,26 @@ SRC_URI = "ftp://alpha.gnu.org/gnu/grub/grub-${PV}.tar.gz \
 
 inherit autotools
 
-python __anonymous () {
-    import re
-    host = bb.data.getVar('HOST_SYS', d, 1)
-    if not re.match('i.86.*-linux', host):
-        raise bb.parse.SkipPackage("incompatible with host %s" % host)
-}
-
 do_install_append() {
-        install -d ${D}/boot/
-	ln -sf ../usr/lib/grub/i386${TARGET_VENDOR}/ ${D}/boot/grub
+        install -m 0644 -D ${WORKDIR}/menu.lst ${D}/boot/grub/menu.lst
 
-	# TODO: better use grub-set-default script here?
-	install -m 0644  ${WORKDIR}/menu.lst ${D}/boot/grub
+        # Copy stage1/1_5/2 files to /boot/grub
+        GRUB_TARGET_ARCH=$(echo ${TARGET_ARCH} | sed -e 's/.86/386/')
+        install -m 0644 \
+                ${D}/${libdir}/grub/${GRUB_TARGET_ARCH}${TARGET_VENDOR}/* \
+                ${D}/boot/grub/
 }
 
-FILES_${PN}-doc = "${datadir}"
-FILES_${PN} = "/boot /usr"
+PACKAGES =+ "${PN}-install ${PN}-eltorito"
+
+FILES_${PN}-install = " \
+        ${sbindir}/grub-install \
+        ${sbindir}/grub-terminfo \
+        ${sbindir}/grub-md5-crypt \
+        ${bindir}/mbchk \
+        ${libdir}/grub \
+"
+FILES_${PN}-eltorito = "/boot/grub/stage2_eltorito"
+FILES_${PN} += "/boot"
+
+COMPATIBLE_HOST = "i.86.*-linux"
-- 
1.5.6.5





More information about the Openembedded-devel mailing list