* [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.