[OE-core] [PATCH 1/2 v3] archiver class: Use tasks instead of pre/post funcs with sstate
Richard Purdie
richard.purdie at linuxfoundation.org
Tue Jan 22 15:41:12 UTC 2013
On Tue, 2013-01-22 at 17:10 +0500, Shakeel, Muhammad wrote:
> From: Muhammad Shakeel <muhammad_shakeel at mentor.com>
>
> * Add tasks to move sources, script/logs and diff/env files in
> deploy directory.
> * Enable SSTATE for 'do_archive_scripts_logs' task
> * Enable SSTATE for 'do_dumpdata_create_diff_gz' task
> * SSTATE is not used for sources/patches archiver task because source
> archive package can result into a very large file. It will be an
> unnecessary overhead to keep sources in DL_DIR and cached-binaries.
> * If 'SOURCE_ARCHIVE_PACKAGE_TYPE' is 'srpm' then use pre/post functions
> because in this case we do not want to use tasks to move sources/logs
> in DEPLOY_DIR. 'do_package_write_rpm' is responsible for handling
> archiver packages.
>
> [YOCTO #3449]
>
> Signed-off-by: Muhammad Shakeel <muhammad_shakeel at mentor.com>
> Signed-off-by: Noor Ahsan <noor_ahsan at mentor.com>
> Signed-off-by: Christopher Larson <chris_larson at mentor.com>
> ---
> meta/classes/archive-configured-source.bbclass | 47 ++++++++++++++++++++++--
> meta/classes/archive-original-source.bbclass | 47 ++++++++++++++++++++++--
> meta/classes/archive-patched-source.bbclass | 47 ++++++++++++++++++++++--
> meta/classes/archiver.bbclass | 40 ++++++++++++++------
> 4 files changed, 161 insertions(+), 20 deletions(-)
>
> diff --git a/meta/classes/archive-configured-source.bbclass b/meta/classes/archive-configured-source.bbclass
> index 1eaaf4c..ae70be3 100644
> --- a/meta/classes/archive-configured-source.bbclass
> +++ b/meta/classes/archive-configured-source.bbclass
> @@ -8,10 +8,51 @@
> inherit archiver
>
> # Get archiving package with configured sources including patches
> -do_configure[postfuncs] += "do_archive_configured_sources "
> +addtask do_archive_configured_sources after do_configure
>
> # Get archiving package with temp(logs) and scripts(.bb and inc files)
> -do_package_write_rpm[prefuncs] += "do_archive_scripts_logs "
> +addtask do_archive_scripts_logs after do_package_write_rpm
>
> # Get dump date and create diff file
> -do_package_write_rpm[postfuncs] += "do_dumpdata_create_diff_gz "
> +addtask do_dumpdata_create_diff_gz after do_package_write_rpm before do_build
> +
> +python () {
> + if d.getVar('SOURCE_ARCHIVE_PACKAGE_TYPE', True) != 'srpm':
> + """
> + If package type is not 'srpm' then add tasks to move archive packages of
> + configured sources and scripts/logs in ${DEPLOY_DIR}/sources.
> + """
> + d.appendVarFlag('do_compile', 'deps', ['do_archive_configured_sources'])
> + d.appendVarFlag('do_build', 'recrdeptask', ' do_archive_configured_sources')
> + d.appendVarFlag('do_build', 'deps', ['do_archive_scripts_logs'])
> +
Did you try using deptask instead of deps as I suggested in the previous
feedback?
Cheers,
Richard
More information about the Openembedded-core
mailing list