All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] sourceipk: fix race condition with compileconfigs
@ 2011-01-31 22:15 Chase Maupin
  2011-02-12  0:06 ` Khem Raj
  0 siblings, 1 reply; 2+ messages in thread
From: Chase Maupin @ 2011-01-31 22:15 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Chase Maupin

* 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@ti.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




^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] sourceipk: fix race condition with compileconfigs
  2011-01-31 22:15 [PATCH] sourceipk: fix race condition with compileconfigs Chase Maupin
@ 2011-02-12  0:06 ` Khem Raj
  0 siblings, 0 replies; 2+ messages in thread
From: Khem Raj @ 2011-02-12  0:06 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Chase Maupin

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@ti.com>

Acked-by: Khem Raj <raj.khem@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@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-02-12  0:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-31 22:15 [PATCH] sourceipk: fix race condition with compileconfigs Chase Maupin
2011-02-12  0:06 ` Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.