All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] externalsrc: No single-task lock if S != B
@ 2020-10-09  5:31 Douglas
  2020-10-09  6:36 ` [OE-core] " Ola x Nilsson
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Douglas @ 2020-10-09  5:31 UTC (permalink / raw)
  To: OE Core mailing list

Allow different recipes to build things from the one external source tree in
parallel, but only if the build is happening outside the source tree.

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
---
meta/classes/externalsrc.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/externalsrc.bbclass
b/meta/classes/externalsrc.bbclass
index d200129987..73bbb2be3c 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -85,7 +85,7 @@ python () {
if task.endswith("_setscene"):
# sstate is never going to work for external source trees, disable it
bb.build.deltask(task, d)
- else:
+ elif externalsrc == externalsrcbuild:
# Since configure will likely touch ${S}, ensure only we lock so one
task has access at a time
d.appendVarFlag(task, "lockfiles", " ${S}/singletask.lock")

--
2.17.1

-- 
This Communication is Confidential. We only send and receive email on the
basis of the terms set out at www.taitradio.com/email_disclaimer 
<http://www.taitradio.com/email_disclaimer>

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

* Re: [OE-core] [PATCH] externalsrc: No single-task lock if S != B
  2020-10-09  5:31 [PATCH] externalsrc: No single-task lock if S != B Douglas
@ 2020-10-09  6:36 ` Ola x Nilsson
  2020-10-12  0:07 ` Douglas
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Ola x Nilsson @ 2020-10-09  6:36 UTC (permalink / raw)
  To: douglas.royds; +Cc: Douglas via lists.openembedded.org, openembedded-core



On Fri, Oct 09 2020, Douglas via lists.openembedded.org wrote:

> Allow different recipes to build things from the one external source tree in
> parallel, but only if the build is happening outside the source tree.
>
> Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
> ---
> meta/classes/externalsrc.bbclass | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes/externalsrc.bbclass
> b/meta/classes/externalsrc.bbclass
> index d200129987..73bbb2be3c 100644
> --- a/meta/classes/externalsrc.bbclass
> +++ b/meta/classes/externalsrc.bbclass
> @@ -85,7 +85,7 @@ python () {
> if task.endswith("_setscene"):
> # sstate is never going to work for external source trees, disable it
> bb.build.deltask(task, d)
> - else:
> + elif externalsrc == externalsrcbuild:

If any of the paths contain a symlink they can point to the same dir
without being textually equal.  You need to normalize them first.

/Ola


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

* Re: [PATCH] externalsrc: No single-task lock if S != B
  2020-10-09  5:31 [PATCH] externalsrc: No single-task lock if S != B Douglas
  2020-10-09  6:36 ` [OE-core] " Ola x Nilsson
@ 2020-10-12  0:07 ` Douglas
  2020-10-12  1:31 ` [PATCH v2] " Douglas Royds
  2020-10-13  0:48 ` [PATCH v3] " Douglas Royds
  3 siblings, 0 replies; 6+ messages in thread
From: Douglas @ 2020-10-12  0:07 UTC (permalink / raw)
  To: OE Core mailing list

Allow different recipes to build things from the one external source tree in
parallel, but only if the build is happening outside the source tree.

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
---
 meta/classes/externalsrc.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index 3618b99a86..88408add71 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -86,7 +86,7 @@ python () {
             if task.endswith("_setscene"):
                 # sstate is never going to work for external source
trees, disable it
                 bb.build.deltask(task, d)
-            else:
+            elif os.path.realpath(externalsrc) ==
os.path.realpath(externalsrcbuild):
                 # Since configure will likely touch ${S}, ensure only
we lock so one task has access at a time
                 d.appendVarFlag(task, "lockfiles", " ${S}/singletask.lock")

-- 
2.17.1

-- 
This Communication is Confidential. We only send and receive email on the
basis of the terms set out at www.taitradio.com/email_disclaimer 
<http://www.taitradio.com/email_disclaimer>

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

* [PATCH v2] externalsrc: No single-task lock if S != B
  2020-10-09  5:31 [PATCH] externalsrc: No single-task lock if S != B Douglas
  2020-10-09  6:36 ` [OE-core] " Ola x Nilsson
  2020-10-12  0:07 ` Douglas
@ 2020-10-12  1:31 ` Douglas Royds
  2020-10-12 18:12   ` [OE-core] " Richard Purdie
  2020-10-13  0:48 ` [PATCH v3] " Douglas Royds
  3 siblings, 1 reply; 6+ messages in thread
From: Douglas Royds @ 2020-10-12  1:31 UTC (permalink / raw)
  To: openembedded-core; +Cc: Douglas Royds

From: Douglas Royds <douglas.royds@taitradio.com>

Allow different recipes to build things from the one external source tree in
parallel, but only if the build is happening outside the source tree.

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
---
 meta/classes/externalsrc.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index 3618b99a86..88408add71 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -86,7 +86,7 @@ python () {
             if task.endswith("_setscene"):
                 # sstate is never going to work for external source trees, disable it
                 bb.build.deltask(task, d)
-            else:
+            elif os.path.realpath(externalsrc) == os.path.realpath(externalsrcbuild):
                 # Since configure will likely touch ${S}, ensure only we lock so one task has access at a time
                 d.appendVarFlag(task, "lockfiles", " ${S}/singletask.lock")

--
2.17.1


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

* Re: [OE-core] [PATCH v2] externalsrc: No single-task lock if S != B
  2020-10-12  1:31 ` [PATCH v2] " Douglas Royds
@ 2020-10-12 18:12   ` Richard Purdie
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Purdie @ 2020-10-12 18:12 UTC (permalink / raw)
  To: Douglas Royds, openembedded-core; +Cc: Douglas Royds

On Mon, 2020-10-12 at 14:31 +1300, Douglas Royds wrote:
> From: Douglas Royds <douglas.royds@taitradio.com>
> 
> Allow different recipes to build things from the one external source tree in
> parallel, but only if the build is happening outside the source tree.
> 
> Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
> ---
>  meta/classes/externalsrc.bbclass | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
> index 3618b99a86..88408add71 100644
> --- a/meta/classes/externalsrc.bbclass
> +++ b/meta/classes/externalsrc.bbclass
> @@ -86,7 +86,7 @@ python () {
>              if task.endswith("_setscene"):
>                  # sstate is never going to work for external source trees, disable it
>                  bb.build.deltask(task, d)
> -            else:
> +            elif os.path.realpath(externalsrc) == os.path.realpath(externalsrcbuild):
>                  # Since configure will likely touch ${S}, ensure only we lock so one task has access at a time
>                  d.appendVarFlag(task, "lockfiles", " ${S}/singletask.lock")

Failed in testing unfortunately, looks like these can be None:

https://autobuilder.yoctoproject.org/typhoon/#/builders/97/builds/1893/steps/8/logs/step1c

Cheers,

Richard


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

* [PATCH v3] externalsrc: No single-task lock if S != B
  2020-10-09  5:31 [PATCH] externalsrc: No single-task lock if S != B Douglas
                   ` (2 preceding siblings ...)
  2020-10-12  1:31 ` [PATCH v2] " Douglas Royds
@ 2020-10-13  0:48 ` Douglas Royds
  3 siblings, 0 replies; 6+ messages in thread
From: Douglas Royds @ 2020-10-13  0:48 UTC (permalink / raw)
  To: openembedded-core; +Cc: Douglas Royds

From: Douglas Royds <douglas.royds@taitradio.com>

Allow different recipes to build things from the one external source tree in
parallel, but only if the build is happening outside the source tree.

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
---
 meta/classes/externalsrc.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index d200129987..dd09395788 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -85,7 +85,7 @@ python () {
             if task.endswith("_setscene"):
                 # sstate is never going to work for external source trees, disable it
                 bb.build.deltask(task, d)
-            else:
+            elif os.path.realpath(d.getVar('S')) == os.path.realpath(d.getVar('B')):
                 # Since configure will likely touch ${S}, ensure only we lock so one task has access at a time
                 d.appendVarFlag(task, "lockfiles", " ${S}/singletask.lock")

--
2.17.1


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

end of thread, other threads:[~2020-10-13  0:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-09  5:31 [PATCH] externalsrc: No single-task lock if S != B Douglas
2020-10-09  6:36 ` [OE-core] " Ola x Nilsson
2020-10-12  0:07 ` Douglas
2020-10-12  1:31 ` [PATCH v2] " Douglas Royds
2020-10-12 18:12   ` [OE-core] " Richard Purdie
2020-10-13  0:48 ` [PATCH v3] " Douglas Royds

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.