[oe] [PATCH] sourceipk: fix race condition with compileconfigs
Khem Raj
raj.khem at gmail.com
Sat Feb 12 00:06:53 UTC 2011
On (31/01/11 16:15), Chase Maupin wrote:
> * This patch adds an empty compileconfigs function to the
> sourceipk class.
> * This is required because when making a sourceipk of a
> package using the multi-kernel.inc functionality you will
> have a race condition between the compileconfigs of the
> multi-kernel file building the kernel and sourceipk trying
> to copy and patch the sources. The resulting conditions
> can then occur:
> - You will package some interim build files, yielding
> a sourceipk that is not consistent between builds
> - You will try to copy interim build files as they are
> being deleted which will result in an error and break
> the build.
> * The empty compileconfigs function is overwritten by the
> real compileconfigs function when the multi-kernel.inc file
> is used.
>
> Signed-off-by: Chase Maupin <Chase.Maupin at ti.com>
Acked-by: Khem Raj <raj.khem at gmail.com>
> ---
> classes/sourceipk.bbclass | 13 ++++++++++++-
> 1 files changed, 12 insertions(+), 1 deletions(-)
>
> diff --git a/classes/sourceipk.bbclass b/classes/sourceipk.bbclass
> index 8a92115..1b4a318 100644
> --- a/classes/sourceipk.bbclass
> +++ b/classes/sourceipk.bbclass
> @@ -144,7 +144,18 @@ EXPORT_FUNCTIONS do_create_srcipk
>
> do_create_srcipk[deptask] = "do_patch"
>
> -addtask create_srcipk after do_patch before do_configure
> +# Add a blank compileconfigs task. This allows the sourceipk to schedule
> +# its copy of the sources for kernels using the multi-kernel functionality
> +# before the compileconfigs task. Failure to do this results in a race
> +# condition where in the best case the sources packaged may contain binary
> +# builds and in the worst case binary files being cleaned cause an error
> +# in the copy command for the sourceipk.
> +do_compileconfigs() {
> + :
> +}
> +addtask compileconfigs after do_patch before do_configure
> +
> +addtask create_srcipk after do_patch before do_compileconfigs
>
> #Add source packages to list of packages OE knows about
> PACKAGES_DYNAMIC += "${PN}-src"
> --
> 1.7.0.4
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
More information about the Openembedded-devel
mailing list