Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Jason Wessel <jason.wessel@windriver.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>,
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 1/4] image_types_wic.bbclass: Copy the .wks and .env files to deploy image dir
Date: Thu, 8 Aug 2019 15:09:11 -0500	[thread overview]
Message-ID: <2917ac7f-96da-1e57-5f4f-0153d8a5bae4@windriver.com> (raw)
In-Reply-To: <572463162f995f87c9bd0d48db6541a34c8dd2a8.camel@linuxfoundation.org>

On 8/8/19 1:42 PM, Richard Purdie wrote:
> On Thu, 2019-08-08 at 05:55 -0700, Jason Wessel wrote:
>> When using a .wks.in file, the only place that the generated .wks file
>> exists in the tmp/work area.  A copy should be left behind in the
>> deploy directory so that you can easily run the wic tool to
>> re-generate or modify a new image without running bitbake.  Custom
>> .wks.in files can reference any number of bitbake variables, so it is
>> important to save the result.
>>
>> below is an example of using the generated .wks file in the deploy
>> area.  The full name of my generated .wks file was
>> core-image-minimal-ostree-uboot-ab.wks, but since you usually only
>> have a single .wks file per image you can use a wild card like:
>>
>>    cd tmp*/deploy/images/*
>>    wic create --vars . -e core-image-minimal -s -m core-image-minimal-*.wks
>>
>> Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
>> ---
>>   meta/classes/image_types_wic.bbclass | 9 +++++++++
>>   1 file changed, 9 insertions(+)
>>
>> diff --git a/meta/classes/image_types_wic.bbclass b/meta/classes/image_types_wic.bbclass
>> index 519aeb1b04..ce94138b3c 100644
>> --- a/meta/classes/image_types_wic.bbclass
>> +++ b/meta/classes/image_types_wic.bbclass
>> @@ -77,6 +77,11 @@ python do_write_wks_template () {
>>       wks_file = d.getVar('WKS_FULL_PATH')
>>       with open(wks_file, 'w') as f:
>>           f.write(template_body)
>> +    f.close()
>> +    # Copy the finalized wks file to the deploy directory for later use
>> +    depdir = d.getVar('DEPLOY_DIR_IMAGE')
>> +    basename = d.getVar('IMAGE_BASENAME')
>> +    bb.utils.copyfile(wks_file, "%s/%s" % (depdir, basename + '-' + os.path.basename(wks_file)))
>>   }
> 
> Nothing should be writing to DEPLOY_DIR_IMAGE directly as it means its
> not being managed by sstate and won't restore in a build from sstate.
> There is an intermediate directory it should be written to and the
> sstate code will put it into DEPLOY_DIR_IMAGE. For image classes it
> might be IMGDEPLOYDIR but you'd have to check this task/code runs
> between do_image and do_image_complete.
> 


Thank you for the pointer.  It works exactly as intended so long as the dependency
is changed properly, and the correct staging directory is used.
There is no directory creation required because the do_image() takes care of all
that.

I'll send v2 of the series, but this this the only patch that changed.

Jason.


      reply	other threads:[~2019-08-08 20:09 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-08 12:55 [PATCH 1/4] image_types_wic.bbclass: Copy the .wks and .env files to deploy image dir Jason Wessel
2019-08-08 12:55 ` [PATCH 2/4] wic: Add partition type for msdos partition tables Jason Wessel
2019-08-08 12:55 ` [PATCH 3/4] wic: Make disk partition size consistently computed Jason Wessel
2019-08-08 12:55 ` [PATCH 4/4] dpkg: Provide update-alternative for start-stop-daemon Jason Wessel
2019-08-08 16:45 ` [PATCH 1/4] image_types_wic.bbclass: Copy the .wks and .env files to deploy image dir Jason Wessel
2019-08-08 18:42 ` Richard Purdie
2019-08-08 20:09   ` Jason Wessel [this message]

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=2917ac7f-96da-1e57-5f4f-0153d8a5bae4@windriver.com \
    --to=jason.wessel@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=richard.purdie@linuxfoundation.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