On 05/02/2013 01:56 PM, Jonathan Liu wrote:
These variables should not be shared with other image classes.
The boot-directdisk class also has an HDDDIR variable that could be
overwritten if executing concurrently in the same image recipe.

Signed-off-by: Jonathan Liu <net...@gmail.com>
---
  meta/classes/bootimg.bbclass | 25 +++++++++++++------------
  1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
index b7ddf42..11b3294 100644
--- a/meta/classes/bootimg.bbclass
+++ b/meta/classes/bootimg.bbclass
@@ -29,9 +29,6 @@ do_bootimg[depends] += "dosfstools-native:do_populate_sysroot 
\
  PACKAGES = " "
  EXCLUDE_FROM_WORLD = "1"

-HDDDIR = "${S}/hddimg"
-ISODIR = "${S}/iso"
-
NAK!

What about the usage of these in grub-efi.bbclass and syslinux.bbclass?

Both are used in those classes via inherits of either the EFI_CLASS or PCBIOS_CLASS.

Sau!


  BOOTIMG_VOLUME_ID   ?= "boot"
  BOOTIMG_EXTRA_SPACE ?= "512"

@@ -76,13 +73,15 @@ populate() {
  }

  build_iso() {
+       ISODIR="${S}/iso"
+
        # Only create an ISO if we have an INITRD and NOISO was not set
        if [ -z "${INITRD}" ] || [ ! -s "${INITRD}" ] || [ "${NOISO}" = "1" ]; 
then
                bbnote "ISO image will not be created."
                return
        fi

-       populate ${ISODIR}
+       populate $ISODIR

        if [ "${PCBIOS}" = "1" ]; then
                syslinux_iso_populate
@@ -95,12 +94,12 @@ build_iso() {
                mkisofs -V ${BOOTIMG_VOLUME_ID} \
                        -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.iso \
                        -b ${ISO_BOOTIMG} -c ${ISO_BOOTCAT} -r \
-                       ${MKISOFS_OPTIONS} ${ISODIR}
+                       ${MKISOFS_OPTIONS} $ISODIR
        else
                bbnote "EFI-only ISO images are untested, please provide 
feedback."
                mkisofs -V ${BOOTIMG_VOLUME_ID} \
                        -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.iso \
-                       -r ${ISODIR}
+                       -r $ISODIR
        fi

        isohybrid ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.iso
@@ -111,9 +110,11 @@ build_iso() {
  }

  build_hddimg() {
+       HDDDIR="${S}/hddimg"
+
        # Create an HDD image
        if [ "${NOHDD}" != "1" ] ; then
-               populate ${HDDDIR}
+               populate $HDDDIR

                if [ "${PCBIOS}" = "1" ]; then
                        syslinux_hddimg_populate
@@ -128,7 +129,7 @@ build_hddimg() {
                #  Blocks: 1024 bytes

                # Determine the sector count just for the data
-               SECTORS=$(expr $(du --apparent-size -ks ${HDDDIR} | cut -f 1) 
\* 2)
+               SECTORS=$(expr $(du --apparent-size -ks $HDDDIR | cut -f 1) \* 
2)

                # Account for the filesystem overhead. This includes directory
                # entries in the clusters as well as the FAT itself.
@@ -140,13 +141,13 @@ build_hddimg() {
                #   8.3 filenames only

                # 32 bytes per dir entry
-               DIR_BYTES=$(expr $(find ${HDDDIR} | tail -n +2 | wc -l) \* 32)
+               DIR_BYTES=$(expr $(find $HDDDIR | tail -n +2 | wc -l) \* 32)
                # 32 bytes for every end-of-directory dir entry
-               DIR_BYTES=$(expr $DIR_BYTES + $(expr $(find ${HDDDIR} -type d | 
tail -n +2 | wc -l) \* 32))
+               DIR_BYTES=$(expr $DIR_BYTES + $(expr $(find $HDDDIR -type d | 
tail -n +2 | wc -l) \* 32))
                # 4 bytes per FAT entry per sector of data
                FAT_BYTES=$(expr $SECTORS \* 4)
                # 4 bytes per FAT entry per end-of-cluster list
-               FAT_BYTES=$(expr $FAT_BYTES + $(expr $(find ${HDDDIR} -type d | 
tail -n +2 | wc -l) \* 4))
+               FAT_BYTES=$(expr $FAT_BYTES + $(expr $(find $HDDDIR -type d | 
tail -n +2 | wc -l) \* 4))

                # Use a ceiling function to determine FS overhead in sectors
                DIR_SECTORS=$(expr $(expr $DIR_BYTES + 511) / 512)
@@ -173,7 +174,7 @@ build_hddimg() {
                IMG=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg
                mkdosfs ${FATSIZE} -n ${BOOTIMG_VOLUME_ID} -S 512 -C ${IMG} 
${BLOCKS}
                # Copy HDDDIR recursively into the image file directly
-               mcopy -i ${IMG} -s ${HDDDIR}/* ::/
+               mcopy -i ${IMG} -s $HDDDIR/* ::/

                if [ "${PCBIOS}" = "1" ]; then
                        syslinux_hddimg_install


_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to