[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