[OE-core] [PATCH 0/5 V2] refactor the archiver*.bbclass

Burton, Ross ross.burton at intel.com
Tue Feb 25 12:40:57 UTC 2014


Hi,

One point: enabling the archiver causes the stamps for various steps
to change (fetch, configure, package: wherever it hooks) which means a
full rebuild.  Can the archiver hide itself from the stamps so this
doesn't happen?

This appears to be some of the work required:

+do_configure[vardepsexclude] += "do_deploy_archives"
+do_patch[vardepsexclude] += "do_create_diff_gz"
+do_unpack[vardepsexclude] += "do_ar_unpacked"

But I'm still getting a stamp change in do_package that I haven't
chased down yet.

Ross

On 24 February 2014 15:56, Robert Yang <liezhi.yang at windriver.com> wrote:
> === V2:
> * Fix the warning between different machines which is reported by Martin
> * Fix the error when the archiver.bbclass is not inherited but
>   ARCHIVER_MODE[type] = "srpm" is set, reported by Ross.
> * Fix the archiving for gcc staff which uses the shared source according
>   to the recently changes of prefuncs and postfuncs in bitbake, so it only
>   works well with bitbake's up to date master branch, if we want to backport it,
>   we also need backport the pre/postfuncs related patches.
>
> === V1:
> * The archive*.bbclass didn't work, and there were a few problems, for
>   example:
>   1) There were a few duplicated code
>   2) There was no src_dir.org (or orig), but the diff command still use
>      it, and it is not easy to fix this issue if we don't change a lot
>      of the code.
>   3) It didn't archive the source for the native or gcc
>   4) The work flow is not very well
>   5) The "subprocess.call('fakeroot cp xxxx'" should be removed
>   6) And others ...
>
> * So that we have to refactor it, the benefits are:
>   1) Fix the problems and make it work well.
>   2) Reduce more than 400 lines in total.
>   3) Make it easy to use.
>
> // Robert
>
> The following changes since commit 0e5cfef90ff762b33da6dc301dfc9cb3947c8a02:
>
>   runqemu: enforce right CPU type for qemux86/x86-64 (2014-02-13 17:48:47 +0000)
>
> are available in the git repository at:
>
>   git://git.openembedded.org/openembedded-core-contrib rbt/archiver
>   http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/archiver
>
> Robert Yang (5):
>   classes/archive*.bbclass: remove archive-*-source.bbclass
>   archiver.bbclass: refactor it
>   package_rpm.bbclass: archive the source to srpm package
>   archiver.bbclass: move a few code to copyleft_compliance.bbclass
>   local.conf.sample.extended: update for the archiver
>
>  meta/classes/archive-configured-source.bbclass |  65 ---
>  meta/classes/archive-original-source.bbclass   |  65 ---
>  meta/classes/archive-patched-source.bbclass    |  65 ---
>  meta/classes/archiver.bbclass                  | 735 ++++++++-----------------
>  meta/classes/copyleft_compliance.bbclass       |  55 +-
>  meta/classes/package_rpm.bbclass               |  31 +-
>  meta/conf/local.conf.sample.extended           |  72 +--
>  7 files changed, 327 insertions(+), 761 deletions(-)
>  delete mode 100644 meta/classes/archive-configured-source.bbclass
>  delete mode 100644 meta/classes/archive-original-source.bbclass
>  delete mode 100644 meta/classes/archive-patched-source.bbclass
>
> --
> 1.8.3.1
>



More information about the Openembedded-core mailing list