summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarren Hart <dvhart@linux.intel.com>2011-12-02 03:20:15 (GMT)
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-12-02 15:28:43 (GMT)
commit6a18c3b5660f99080a614180cea9f9cb655aa6fc (patch)
tree9e1619f7e6f1d19cfd439823c5ad86f0f904125d
parentd428862860f8ac7f464818977ef5aa9d733293bd (diff)
downloadpoky-6a18c3b5660f99080a614180cea9f9cb655aa6fc.tar.gz
bootimage: Use ${S} explicitly for generated config files
The syslinux and grub-efi classes were generating config files in the current working directory. This caused a failure due to a race in the creation of the directories leading to cwd changing and the build failing to find the config files. While this has been addressed in bitbake, it is better to use an explicit path. While ${WORKDIR} may seem a more appropriate place, the recipe already uses ${S} for the "hdd" and "cd" construction, so we use ${S} here to keep things consolidated and consistent and address the issue with minimal change. (From OE-Core rev: 2c4b1675eb3c8c599e3b7f33e459aa608c2b93f2) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/grub-efi.bbclass8
-rw-r--r--meta/classes/syslinux.bbclass4
2 files changed, 5 insertions, 7 deletions
diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass
index 333e6c5..36b5831 100644
--- a/meta/classes/grub-efi.bbclass
+++ b/meta/classes/grub-efi.bbclass
@@ -16,7 +16,7 @@
16 16
17do_bootimg[depends] += "grub-efi-${TARGET_ARCH}-native:do_deploy" 17do_bootimg[depends] += "grub-efi-${TARGET_ARCH}-native:do_deploy"
18 18
19GRUBCFG = "grub.cfg" 19GRUBCFG = "${S}/grub.cfg"
20GRUB_TIMEOUT ?= "10" 20GRUB_TIMEOUT ?= "10"
21#FIXME: build this from the machine config 21#FIXME: build this from the machine config
22GRUB_OPTS ?= "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1" 22GRUB_OPTS ?= "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"
@@ -56,7 +56,7 @@ grubefi_iso_populate() {
56 56
57 # FIXUP the <EFIDIR> token in the config 57 # FIXUP the <EFIDIR> token in the config
58 # FIXME: This can be dropped once mkdosfs is fixed 58 # FIXME: This can be dropped once mkdosfs is fixed
59 sed -i "s@<EFIDIR>@${EFIDIR}@g" ${GRUB_ISODIR}/${GRUBCFG} 59 sed -i "s@<EFIDIR>@${EFIDIR}@g" ${GRUB_ISODIR}/$(basename "${GRUBCFG}")
60} 60}
61 61
62grubefi_hddimg_populate() { 62grubefi_hddimg_populate() {
@@ -64,7 +64,7 @@ grubefi_hddimg_populate() {
64 64
65 # FIXUP the <EFIDIR> token in the config 65 # FIXUP the <EFIDIR> token in the config
66 # FIXME: This can be dropped once mkdosfs is fixed 66 # FIXME: This can be dropped once mkdosfs is fixed
67 sed -i "s@<EFIDIR>@@g" ${GRUB_HDDDIR}/${GRUBCFG} 67 sed -i "s@<EFIDIR>@@g" ${GRUB_HDDDIR}/$(basename "${GRUBCFG}")
68} 68}
69 69
70# FIXME: The <EFIDIR> token can be replaced with ${EFIDIR} once the 70# FIXME: The <EFIDIR> token can be replaced with ${EFIDIR} once the
@@ -90,8 +90,6 @@ python build_grub_cfg() {
90 if not cfile: 90 if not cfile:
91 raise bb.build.FuncFailed('Unable to read GRUBCFG') 91 raise bb.build.FuncFailed('Unable to read GRUBCFG')
92 92
93 #bb.mkdirhier(os.path.dirname(cfile))
94
95 try: 93 try:
96 cfgfile = file(cfile, 'w') 94 cfgfile = file(cfile, 'w')
97 except OSError: 95 except OSError:
diff --git a/meta/classes/syslinux.bbclass b/meta/classes/syslinux.bbclass
index 6eb804b..91c4275 100644
--- a/meta/classes/syslinux.bbclass
+++ b/meta/classes/syslinux.bbclass
@@ -15,8 +15,8 @@
15do_bootimg[depends] += "syslinux:do_populate_sysroot \ 15do_bootimg[depends] += "syslinux:do_populate_sysroot \
16 syslinux-native:do_populate_sysroot" 16 syslinux-native:do_populate_sysroot"
17 17
18SYSLINUXCFG = "syslinux.cfg" 18SYSLINUXCFG = "${S}/syslinux.cfg"
19SYSLINUXMENU = "menu" 19SYSLINUXMENU = "${S}/menu"
20 20
21SYSLINUX_ISODIR = "${ISODIR}/isolinux" 21SYSLINUX_ISODIR = "${ISODIR}/isolinux"
22SYSLINUX_HDDDIR = "${HDDDIR}" 22SYSLINUX_HDDDIR = "${HDDDIR}"