From: Randy Witt <randy.e.witt@linux.intel.com>
To: Chen Qi <Qi.Chen@windriver.com>,
openembedded-core@lists.openembedded.org
Subject: Re: [PATCH V2 1/1] populate_sdk_ext: set noexec flag for some tasks
Date: Thu, 14 May 2015 09:49:50 -0700 [thread overview]
Message-ID: <5554D22E.8080900@linux.intel.com> (raw)
In-Reply-To: <630a1e0551f0431f8d513f979198ee752653a5e3.1431569867.git.Qi.Chen@windriver.com>
On 05/13/2015 07:19 PM, Chen Qi wrote:
> For the SDK, what we are interested in is the sysroot part. So the
> only useful task is do_populate_sysroot. Other tasks like do_package
> don't need to run. So mark them as 'noexec' for SDK.
>
> This would result in two benefits:
> 1) The size of extensible SDK is larged reduced. For example, extensible
> SDK for core-image-minimal is reduced from 1.8G to 793M.
> 2) The installation time is reduced as a lot of tasks are not run.
>
> [YOCTO #7590]
>
> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> ---
> meta/classes/populate_sdk_ext.bbclass | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
> index dc2c58e..6c265b8 100644
> --- a/meta/classes/populate_sdk_ext.bbclass
> +++ b/meta/classes/populate_sdk_ext.bbclass
> @@ -141,8 +141,18 @@ python copy_buildsystem () {
> sigfile = d.getVar('WORKDIR', True) + '/locked-sigs.inc'
> oe.copy_buildsystem.generate_locked_sigs(sigfile, d)
>
> + # Mark tasks to be 'noexec' for the SDK as we only need the sysroot part
> + base_class_path = os.path.join(baseoutpath, core_meta_subdir, 'classes', 'base.bbclass')
Qi, I don't like the idea of modifying the source that is copied into the sdk.
Also, this will continue to persist if the user ever wants to start generating
images.
Ideally, we would only modify the behavior while setting up the sdk. And then
the behavior afterward would remain as when using a regular bitbake workspace.
> + if os.path.exists(base_class_path):
> + with open(base_class_path, 'a') as f:
> + noexec_tasks = ['do_package', 'do_packagedata', 'do_package_qa', 'do_package_write_rpm',
> + 'do_package_write_ipk', 'do_package_write_deb', 'do_deploy', 'do_populate_lic',
> + 'do_rootfs']
> + for t in noexec_tasks:
> + f.write('%s[noexec] = "1"\n' % t)
> +
> # Filter the locked signatures file to just the sstate tasks we are interested in
> - allowed_tasks = ['do_populate_lic', 'do_populate_sysroot', 'do_packagedata', 'do_package_write_ipk', 'do_package_write_rpm', 'do_package_write_deb', 'do_package_qa', 'do_deploy']
> + allowed_tasks = ['do_populate_sysroot']
> excluded_targets = d.getVar('SDK_TARGETS', True)
> lockedsigs_pruned = baseoutpath + '/conf/locked-sigs.inc'
> oe.copy_buildsystem.prune_lockedsigs(allowed_tasks,
>
next prev parent reply other threads:[~2015-05-14 16:49 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-14 2:19 [PATCH V2 0/1] Mark some tasks in extensible SDK as 'noexec' Chen Qi
2015-05-14 2:19 ` [PATCH V2 1/1] populate_sdk_ext: set noexec flag for some tasks Chen Qi
2015-05-14 16:49 ` Randy Witt [this message]
2015-05-14 17:10 ` Paul Eggleton
2015-05-15 2:32 ` ChenQi
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=5554D22E.8080900@linux.intel.com \
--to=randy.e.witt@linux.intel.com \
--cc=Qi.Chen@windriver.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