From: Saul Wold <sgw@linux.intel.com>
To: Jonathan Liu <net147@gmail.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 2/2] bootimg: Scope HDDDIR and ISODIR variables to avoid conflicts
Date: Thu, 02 May 2013 15:33:31 -0700 [thread overview]
Message-ID: <5182E9BB.1010304@linux.intel.com> (raw)
In-Reply-To: <1367528193-10516-3-git-send-email-net147@gmail.com>
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 <net147@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
>
next prev parent reply other threads:[~2013-05-02 22:51 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-02 20:56 [PATCH 0/2] Scope variables in image classes to avoid conflicts Jonathan Liu
2013-05-02 20:56 ` [PATCH 1/2] boot-directdisk: Scope HDDDIR and HDDIMG variables " Jonathan Liu
2013-05-02 20:56 ` [PATCH 2/2] bootimg: Scope HDDDIR and ISODIR " Jonathan Liu
2013-05-02 22:33 ` Saul Wold [this message]
2013-05-02 22:55 ` Jonathan Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5182E9BB.1010304@linux.intel.com \
--to=sgw@linux.intel.com \
--cc=net147@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox