Message ID | 20230828124834.376779-3-martin@geanix.com |
---|---|
State | New |
Headers | show |
Series | [RFC,1/5] classes: jobserver: support gnu make fifo jobserver | expand |
Thanks, make/ninja jobserver is something we've been talking about since forever, and it's great to see actual code. I suppose the biggest obstacle is that ninja support hasn't yet landed upstream, and I'd like to ensure it does. Also, a link to the pull request is missing? :) Alex On Mon, 28 Aug 2023 at 14:48, Martin Hundeb?ll <martin@geanix.com> wrote: > > Ninja doesn't (yet) support the GNU Make jobserver out of the box, but > there is a pull request adding that support[1]. Switch the SRC_URI and > SRCREV to point at the source of that pull request, to make ninja play > nicely together with the recently added jobserver class. > > Signed-off-by: Martin Hundebøll <martin@geanix.com> > --- > .../ninja/{ninja_1.11.1.bb => ninja_1.12.0.bb} | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > rename meta/recipes-devtools/ninja/{ninja_1.11.1.bb => ninja_1.12.0.bb} (84%) > > diff --git a/meta/recipes-devtools/ninja/ninja_1.11.1.bb b/meta/recipes-devtools/ninja/ninja_1.12.0.bb > similarity index 84% > rename from meta/recipes-devtools/ninja/ninja_1.11.1.bb > rename to meta/recipes-devtools/ninja/ninja_1.12.0.bb > index 8e297ec4d4..9abdd40a92 100644 > --- a/meta/recipes-devtools/ninja/ninja_1.11.1.bb > +++ b/meta/recipes-devtools/ninja/ninja_1.12.0.bb > @@ -6,9 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e" > > DEPENDS = "re2c-native ninja-native" > > -SRCREV = "a524bf3f6bacd1b4ad85d719eed2737d8562f27a" > +SRCREV = "c9e21dbbc4c746ba397c0f9bec5f65c99f783c08" > > -SRC_URI = "git://github.com/ninja-build/ninja.git;branch=release;protocol=https" > +SRC_URI = "git://github.com/stefanb2/ninja.git;branch=topic-issue-1139-part-3-jobserver-fifo;protocol=https" > UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" > > S = "${WORKDIR}/git" > -- > 2.41.0 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#186825): https://lists.openembedded.org/g/openembedded-core/message/186825 > Mute This Topic: https://lists.openembedded.org/mt/101009093/1686489 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On Mon, 2023-08-28 at 14:57 +0200, Alexander Kanavin wrote: > Thanks, make/ninja jobserver is something we've been talking about > since forever, and it's great to see actual code. > > I suppose the biggest obstacle is that ninja support hasn't yet > landed > upstream, and I'd like to ensure it does. Also, a link to the pull > request is missing? :) Indeed, upstream seems to ignore the pull request :( Link references are like attachments: easy to forget... Here it is: https://github.com/ninja-build/ninja/issues/1139 // Martin > On Mon, 28 Aug 2023 at 14:48, Martin Hundeb?ll <martin@geanix.com> > wrote: > > > > Ninja doesn't (yet) support the GNU Make jobserver out of the box, > > but > > there is a pull request adding that support[1]. Switch the SRC_URI > > and > > SRCREV to point at the source of that pull request, to make ninja > > play > > nicely together with the recently added jobserver class. > > > > Signed-off-by: Martin Hundebøll <martin@geanix.com> > > --- > > .../ninja/{ninja_1.11.1.bb => ninja_1.12.0.bb} | 4 > > ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > rename meta/recipes-devtools/ninja/{ninja_1.11.1.bb => > > ninja_1.12.0.bb} (84%) > > > > diff --git a/meta/recipes-devtools/ninja/ninja_1.11.1.bb > > b/meta/recipes-devtools/ninja/ninja_1.12.0.bb > > similarity index 84% > > rename from meta/recipes-devtools/ninja/ninja_1.11.1.bb > > rename to meta/recipes-devtools/ninja/ninja_1.12.0.bb > > index 8e297ec4d4..9abdd40a92 100644 > > --- a/meta/recipes-devtools/ninja/ninja_1.11.1.bb > > +++ b/meta/recipes-devtools/ninja/ninja_1.12.0.bb > > @@ -6,9 +6,9 @@ LIC_FILES_CHKSUM = > > "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e" > > > > DEPENDS = "re2c-native ninja-native" > > > > -SRCREV = "a524bf3f6bacd1b4ad85d719eed2737d8562f27a" > > +SRCREV = "c9e21dbbc4c746ba397c0f9bec5f65c99f783c08" > > > > -SRC_URI = "git://github.com/ninja- > > build/ninja.git;branch=release;protocol=https" > > +SRC_URI = "git://github.com/stefanb2/ninja.git;branch=topic-issue- > > 1139-part-3-jobserver-fifo;protocol=https" > > UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" > > > > S = "${WORKDIR}/git" > > -- > > 2.41.0 > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#186825): > > https://lists.openembedded.org/g/openembedded-core/message/186825 > > Mute This Topic: > > https://lists.openembedded.org/mt/101009093/1686489 > > Group Owner: openembedded-core+owner@lists.openembedded.org > > Unsubscribe: > > https://lists.openembedded.org/g/openembedded-core/unsub [ > > alex.kanavin@gmail.com] > > -=-=-=-=-=-=-=-=-=-=-=- > >
If previous PRs have stalled, it may help to open a fresh one, which you can drive yourself. You can reuse and rebase previous patches by others as needed. Alex On Mon, 28 Aug 2023 at 14:59, Martin Hundebøll <martin@geanix.com> wrote: > > On Mon, 2023-08-28 at 14:57 +0200, Alexander Kanavin wrote: > > Thanks, make/ninja jobserver is something we've been talking about > > since forever, and it's great to see actual code. > > > > I suppose the biggest obstacle is that ninja support hasn't yet > > landed > > upstream, and I'd like to ensure it does. Also, a link to the pull > > request is missing? :) > > Indeed, upstream seems to ignore the pull request :( > > Link references are like attachments: easy to forget... Here it is: > https://github.com/ninja-build/ninja/issues/1139 > > // Martin > > > On Mon, 28 Aug 2023 at 14:48, Martin Hundeb?ll <martin@geanix.com> > > wrote: > > > > > > Ninja doesn't (yet) support the GNU Make jobserver out of the box, > > > but > > > there is a pull request adding that support[1]. Switch the SRC_URI > > > and > > > SRCREV to point at the source of that pull request, to make ninja > > > play > > > nicely together with the recently added jobserver class. > > > > > > Signed-off-by: Martin Hundebøll <martin@geanix.com> > > > --- > > > .../ninja/{ninja_1.11.1.bb => ninja_1.12.0.bb} | 4 > > > ++-- > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > rename meta/recipes-devtools/ninja/{ninja_1.11.1.bb => > > > ninja_1.12.0.bb} (84%) > > > > > > diff --git a/meta/recipes-devtools/ninja/ninja_1.11.1.bb > > > b/meta/recipes-devtools/ninja/ninja_1.12.0.bb > > > similarity index 84% > > > rename from meta/recipes-devtools/ninja/ninja_1.11.1.bb > > > rename to meta/recipes-devtools/ninja/ninja_1.12.0.bb > > > index 8e297ec4d4..9abdd40a92 100644 > > > --- a/meta/recipes-devtools/ninja/ninja_1.11.1.bb > > > +++ b/meta/recipes-devtools/ninja/ninja_1.12.0.bb > > > @@ -6,9 +6,9 @@ LIC_FILES_CHKSUM = > > > "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e" > > > > > > DEPENDS = "re2c-native ninja-native" > > > > > > -SRCREV = "a524bf3f6bacd1b4ad85d719eed2737d8562f27a" > > > +SRCREV = "c9e21dbbc4c746ba397c0f9bec5f65c99f783c08" > > > > > > -SRC_URI = "git://github.com/ninja- > > > build/ninja.git;branch=release;protocol=https" > > > +SRC_URI = "git://github.com/stefanb2/ninja.git;branch=topic-issue- > > > 1139-part-3-jobserver-fifo;protocol=https" > > > UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" > > > > > > S = "${WORKDIR}/git" > > > -- > > > 2.41.0 > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > > Links: You receive all messages sent to this group. > > > View/Reply Online (#186825): > > > https://lists.openembedded.org/g/openembedded-core/message/186825 > > > Mute This Topic: > > > https://lists.openembedded.org/mt/101009093/1686489 > > > Group Owner: openembedded-core+owner@lists.openembedded.org > > > Unsubscribe: > > > https://lists.openembedded.org/g/openembedded-core/unsub [ > > > alex.kanavin@gmail.com] > > > -=-=-=-=-=-=-=-=-=-=-=- > > > >
On Mon, Aug 28, 2023 at 5:48 AM Martin Hundeb?ll <martin@geanix.com> wrote: > > Ninja doesn't (yet) support the GNU Make jobserver out of the box, but > there is a pull request adding that support[1]. Switch the SRC_URI and > SRCREV to point at the source of that pull request, to make ninja play > nicely together with the recently added jobserver class. > > Signed-off-by: Martin Hundebøll <martin@geanix.com> > --- > .../ninja/{ninja_1.11.1.bb => ninja_1.12.0.bb} | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > rename meta/recipes-devtools/ninja/{ninja_1.11.1.bb => ninja_1.12.0.bb} (84%) > > diff --git a/meta/recipes-devtools/ninja/ninja_1.11.1.bb b/meta/recipes-devtools/ninja/ninja_1.12.0.bb > similarity index 84% > rename from meta/recipes-devtools/ninja/ninja_1.11.1.bb > rename to meta/recipes-devtools/ninja/ninja_1.12.0.bb > index 8e297ec4d4..9abdd40a92 100644 > --- a/meta/recipes-devtools/ninja/ninja_1.11.1.bb > +++ b/meta/recipes-devtools/ninja/ninja_1.12.0.bb > @@ -6,9 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e" > > DEPENDS = "re2c-native ninja-native" > > -SRCREV = "a524bf3f6bacd1b4ad85d719eed2737d8562f27a" > +SRCREV = "c9e21dbbc4c746ba397c0f9bec5f65c99f783c08" > > -SRC_URI = "git://github.com/ninja-build/ninja.git;branch=release;protocol=https" > +SRC_URI = "git://github.com/stefanb2/ninja.git;branch=topic-issue-1139-part-3-jobserver-fifo;protocol=https" This is a little concerning, as we are pointing to a fork here and quite a lot depend on ninja now a days. so I wonder whats the status of the patches and likelyhood of them going upstream in anycase, we should pick the patches instead of switching SRC_URI > UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" > > S = "${WORKDIR}/git" > -- > 2.41.0 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#186825): https://lists.openembedded.org/g/openembedded-core/message/186825 > Mute This Topic: https://lists.openembedded.org/mt/101009093/1997914 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Aug 28, 2023 19:16:28 Khem Raj <raj.khem@gmail.com>: > On Mon, Aug 28, 2023 at 5:48 AM Martin Hundeb?ll <martin@geanix.com> wrote: >> >> Ninja doesn't (yet) support the GNU Make jobserver out of the box, but >> there is a pull request adding that support[1]. Switch the SRC_URI and >> SRCREV to point at the source of that pull request, to make ninja play >> nicely together with the recently added jobserver class. >> >> Signed-off-by: Martin Hundebøll <martin@geanix.com> >> --- >> .../ninja/{ninja_1.11.1.bb => ninja_1.12.0.bb} | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> rename meta/recipes-devtools/ninja/{ninja_1.11.1.bb => ninja_1.12.0.bb} (84%) >> >> diff --git a/meta/recipes-devtools/ninja/ninja_1.11.1.bb b/meta/recipes-devtools/ninja/ninja_1.12.0.bb >> similarity index 84% >> rename from meta/recipes-devtools/ninja/ninja_1.11.1.bb >> rename to meta/recipes-devtools/ninja/ninja_1.12.0.bb >> index 8e297ec4d4..9abdd40a92 100644 >> --- a/meta/recipes-devtools/ninja/ninja_1.11.1.bb >> +++ b/meta/recipes-devtools/ninja/ninja_1.12.0.bb >> @@ -6,9 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e" >> >> DEPENDS = "re2c-native ninja-native" >> >> -SRCREV = "a524bf3f6bacd1b4ad85d719eed2737d8562f27a" >> +SRCREV = "c9e21dbbc4c746ba397c0f9bec5f65c99f783c08" >> >> -SRC_URI = "git://github.com/ninja-build/ninja.git;branch=release;protocol=https" >> +SRC_URI = "git://github.com/stefanb2/ninja.git;branch=topic-issue-1139-part-3-jobserver-fifo;protocol=https" > > This is a little concerning, as we are pointing to a fork here and > quite a lot depend on ninja now > a days. so I wonder whats the status of the patches and likelyhood of > them going upstream > in anycase, we should pick the patches instead of switching SRC_URI Yes, I agree that we shouldn't change uri to a fork; hence the RFC... Maybe I should try to put some pressure on ninja upstream to consider the pull request... I can look into whether a separate patch is feasible... >> UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" >> >> S = "${WORKDIR}/git" >> -- >> 2.41.0 >> >> >> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> View/Reply Online (#186825): https://lists.openembedded.org/g/openembedded-core/message/186825 >> Mute This Topic: https://lists.openembedded.org/mt/101009093/1997914 >> Group Owner: openembedded-core+owner@lists.openembedded.org >> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com] >> -=-=-=-=-=-=-=-=-=-=-=- >>
On Mon, 2023-08-28 at 19:31 +0200, Martin Hundeb?ll wrote: > > Aug 28, 2023 19:16:28 Khem Raj <raj.khem@gmail.com>: > > > On Mon, Aug 28, 2023 at 5:48 AM Martin Hundeb?ll > <martin@geanix.com> wrote: > >> > >> Ninja doesn't (yet) support the GNU Make jobserver out of the > box, but > >> there is a pull request adding that support[1]. Switch the > SRC_URI and > >> SRCREV to point at the source of that pull request, to make ninja > play > >> nicely together with the recently added jobserver class. > >> > >> Signed-off-by: Martin Hundebøll <martin@geanix.com> > >> --- > >> .../ninja/{ninja_1.11.1.bb => ninja_1.12.0.bb} | 4 > ++-- > >> 1 file changed, 2 insertions(+), 2 deletions(-) > >> rename meta/recipes-devtools/ninja/{ninja_1.11.1.bb => > ninja_1.12.0.bb} (84%) > >> > >> diff --git a/meta/recipes-devtools/ninja/ninja_1.11.1.bb > b/meta/recipes-devtools/ninja/ninja_1.12.0.bb > >> similarity index 84% > >> rename from meta/recipes-devtools/ninja/ninja_1.11.1.bb > >> rename to meta/recipes-devtools/ninja/ninja_1.12.0.bb > >> index 8e297ec4d4..9abdd40a92 100644 > >> --- a/meta/recipes-devtools/ninja/ninja_1.11.1.bb > >> +++ b/meta/recipes-devtools/ninja/ninja_1.12.0.bb > >> @@ -6,9 +6,9 @@ LIC_FILES_CHKSUM = > "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e" > >> > >> DEPENDS = "re2c-native ninja-native" > >> > >> -SRCREV = "a524bf3f6bacd1b4ad85d719eed2737d8562f27a" > >> +SRCREV = "c9e21dbbc4c746ba397c0f9bec5f65c99f783c08" > >> > >> -SRC_URI = "git://github.com/ninja- > build/ninja.git;branch=release;protocol=https" > >> +SRC_URI = "git://github.com/stefanb2/ninja.git;branch=topic- > issue-1139-part-3-jobserver-fifo;protocol=https" > > > > This is a little concerning, as we are pointing to a fork here and > > quite a lot depend on ninja now > > a days. so I wonder whats the status of the patches and likelyhood > of > > them going upstream > > in anycase, we should pick the patches instead of switching > SRC_URI > > Yes, I agree that we shouldn't change uri to a fork; hence the > RFC... Maybe I should try to put some pressure on ninja upstream to > consider the pull request... One option could be to use the kitware fork of ninja, which supports the fifo makeserver: https://github.com/Kitware/ninja This is what buildroot does: https://gitlab.com/buildroot.org/buildroot/-/blob/master/package/ninja/ninja.mk // Martin > >> UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" > >> > >> S = "${WORKDIR}/git" > >> -- > >> 2.41.0 > >> > >> > >> > >> > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#186841): > https://lists.openembedded.org/g/openembedded-core/message/186841 > Mute This Topic: https://lists.openembedded.org/mt/101009093/3618414 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: > https://lists.openembedded.org/g/openembedded-core/unsub [ > martin@geanix.com] > -=-=-=-=-=-=-=-=-=-=-=- >
diff --git a/meta/recipes-devtools/ninja/ninja_1.11.1.bb b/meta/recipes-devtools/ninja/ninja_1.12.0.bb similarity index 84% rename from meta/recipes-devtools/ninja/ninja_1.11.1.bb rename to meta/recipes-devtools/ninja/ninja_1.12.0.bb index 8e297ec4d4..9abdd40a92 100644 --- a/meta/recipes-devtools/ninja/ninja_1.11.1.bb +++ b/meta/recipes-devtools/ninja/ninja_1.12.0.bb @@ -6,9 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e" DEPENDS = "re2c-native ninja-native" -SRCREV = "a524bf3f6bacd1b4ad85d719eed2737d8562f27a" +SRCREV = "c9e21dbbc4c746ba397c0f9bec5f65c99f783c08" -SRC_URI = "git://github.com/ninja-build/ninja.git;branch=release;protocol=https" +SRC_URI = "git://github.com/stefanb2/ninja.git;branch=topic-issue-1139-part-3-jobserver-fifo;protocol=https" UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" S = "${WORKDIR}/git"
Ninja doesn't (yet) support the GNU Make jobserver out of the box, but there is a pull request adding that support[1]. Switch the SRC_URI and SRCREV to point at the source of that pull request, to make ninja play nicely together with the recently added jobserver class. Signed-off-by: Martin Hundebøll <martin@geanix.com> --- .../ninja/{ninja_1.11.1.bb => ninja_1.12.0.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename meta/recipes-devtools/ninja/{ninja_1.11.1.bb => ninja_1.12.0.bb} (84%)