* [PATCH] externalsrc: write task locks into ${T}, not into ${S}
@ 2022-07-05 16:39 Alexander Kanavin
2022-07-05 17:03 ` [OE-core] " Richard Purdie
0 siblings, 1 reply; 6+ messages in thread
From: Alexander Kanavin @ 2022-07-05 16:39 UTC (permalink / raw)
To: openembedded-core; +Cc: Alexander Kanavin
Otherwise lock files appearing and disappearing can interfere
with reproducibility code enumerating source files in do_unpack():
https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/3745/steps/14/logs/stdio
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
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 90792a737b..b326f10050 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -88,7 +88,7 @@ python () {
bb.build.deltask(task, d)
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")
+ d.appendVarFlag(task, "lockfiles", " ${T}/singletask.lock")
for funcname in [task, "base_" + task, "kernel_" + task]:
# We do not want our source to be wiped out, ever (kernel.bbclass does this for do_clean)
--
2.30.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [OE-core] [PATCH] externalsrc: write task locks into ${T}, not into ${S}
2022-07-05 16:39 [PATCH] externalsrc: write task locks into ${T}, not into ${S} Alexander Kanavin
@ 2022-07-05 17:03 ` Richard Purdie
2022-07-05 17:07 ` Alexander Kanavin
0 siblings, 1 reply; 6+ messages in thread
From: Richard Purdie @ 2022-07-05 17:03 UTC (permalink / raw)
To: Alexander Kanavin, openembedded-core; +Cc: Alexander Kanavin
On Tue, 2022-07-05 at 18:39 +0200, Alexander Kanavin wrote:
> Otherwise lock files appearing and disappearing can interfere
> with reproducibility code enumerating source files in do_unpack():
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/3745/steps/14/logs/stdio
>
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
> 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 90792a737b..b326f10050 100644
> --- a/meta/classes/externalsrc.bbclass
> +++ b/meta/classes/externalsrc.bbclass
> @@ -88,7 +88,7 @@ python () {
> bb.build.deltask(task, d)
> 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")
> + d.appendVarFlag(task, "lockfiles", " ${T}/singletask.lock")
>
> for funcname in [task, "base_" + task, "kernel_" + task]:
> # We do not want our source to be wiped out, ever (kernel.bbclass does this for do_clean)
Not an option I'm afraid as it is in ${S} for a reason. This is two
recipes both pointing at the same source (e.g. a recipe and it's
BBCLASSEXTEND native version) can work.
Cheers,
Richard
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [OE-core] [PATCH] externalsrc: write task locks into ${T}, not into ${S}
2022-07-05 17:03 ` [OE-core] " Richard Purdie
@ 2022-07-05 17:07 ` Alexander Kanavin
2022-07-05 21:48 ` Richard Purdie
0 siblings, 1 reply; 6+ messages in thread
From: Alexander Kanavin @ 2022-07-05 17:07 UTC (permalink / raw)
To: Richard Purdie; +Cc: OE-core, Alexander Kanavin
On Tue, 5 Jul 2022 at 19:03, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> Not an option I'm afraid as it is in ${S} for a reason. This is two
> recipes both pointing at the same source (e.g. a recipe and it's
> BBCLASSEXTEND native version) can work.
I considered adding an exclusion for the lock filename to the code
that tracebacks, but special casing like that is pretty ugh. Today
here, tomorrow elsewhere.
Alex
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [OE-core] [PATCH] externalsrc: write task locks into ${T}, not into ${S}
2022-07-05 17:07 ` Alexander Kanavin
@ 2022-07-05 21:48 ` Richard Purdie
2022-07-05 21:51 ` Alexander Kanavin
0 siblings, 1 reply; 6+ messages in thread
From: Richard Purdie @ 2022-07-05 21:48 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: OE-core, Alexander Kanavin
On Tue, 2022-07-05 at 19:07 +0200, Alexander Kanavin wrote:
> On Tue, 5 Jul 2022 at 19:03, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > Not an option I'm afraid as it is in ${S} for a reason. This is two
> > recipes both pointing at the same source (e.g. a recipe and it's
> > BBCLASSEXTEND native version) can work.
>
>
> I considered adding an exclusion for the lock filename to the code
> that tracebacks, but special casing like that is pretty ugh. Today
> here, tomorrow elsewhere.
Right, but the lock was also added there for a reason so we're going to
have to work out some solution :/.
Cheers,
Richard
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [OE-core] [PATCH] externalsrc: write task locks into ${T}, not into ${S}
2022-07-05 21:48 ` Richard Purdie
@ 2022-07-05 21:51 ` Alexander Kanavin
2022-07-05 22:04 ` Richard Purdie
0 siblings, 1 reply; 6+ messages in thread
From: Alexander Kanavin @ 2022-07-05 21:51 UTC (permalink / raw)
To: Richard Purdie; +Cc: OE-core, Alexander Kanavin
On Tue, 5 Jul 2022 at 23:48, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> > I considered adding an exclusion for the lock filename to the code
> > that tracebacks, but special casing like that is pretty ugh. Today
> > here, tomorrow elsewhere.
>
> Right, but the lock was also added there for a reason so we're going to
> have to work out some solution :/.
One thing I don't quite understand is why the lock file is appearing
and disappearing while the task itself is executing? Shouldn't it be
happening when the task queue is being processed?
Alex
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [OE-core] [PATCH] externalsrc: write task locks into ${T}, not into ${S}
2022-07-05 21:51 ` Alexander Kanavin
@ 2022-07-05 22:04 ` Richard Purdie
0 siblings, 0 replies; 6+ messages in thread
From: Richard Purdie @ 2022-07-05 22:04 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: OE-core, Alexander Kanavin
On Tue, 2022-07-05 at 23:51 +0200, Alexander Kanavin wrote:
> On Tue, 5 Jul 2022 at 23:48, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > > I considered adding an exclusion for the lock filename to the code
> > > that tracebacks, but special casing like that is pretty ugh. Today
> > > here, tomorrow elsewhere.
> >
> > Right, but the lock was also added there for a reason so we're going to
> > have to work out some solution :/.
>
> One thing I don't quite understand is why the lock file is appearing
> and disappearing while the task itself is executing? Shouldn't it be
> happening when the task queue is being processed?
I think we do need to understand why that is happening. I don't
remember the specifics of the lock but it is possible it is being held
and then released by another task running in parallel?
Cheers,
Richard
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-07-05 22:04 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-05 16:39 [PATCH] externalsrc: write task locks into ${T}, not into ${S} Alexander Kanavin
2022-07-05 17:03 ` [OE-core] " Richard Purdie
2022-07-05 17:07 ` Alexander Kanavin
2022-07-05 21:48 ` Richard Purdie
2022-07-05 21:51 ` Alexander Kanavin
2022-07-05 22:04 ` Richard Purdie
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.