Patchwork arptables: defeat multi-job for install

login
register
mail settings
Submitter Joe Slater
Date Feb. 14, 2013, 9:40 p.m.
Message ID <1360878004-11267-1-git-send-email-jslater@windriver.com>
Download mbox | patch
Permalink /patch/44685/
State Accepted, archived
Headers show

Comments

Joe Slater - Feb. 14, 2013, 9:40 p.m.
CQID: 399299

The make install target is not parallel job
safe, but doesn't do all that much, so we
limit make to one job for that.

The make target is of the form

install: x y z

Unfortunately, z depends on y, so if z is started
before y (almost) completes, we will fail.

Signed-off-by: Joe Slater <jslater@windriver.com>
---
 recipes-support/arptables/arptables_0.0.3-4.bb |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
Paul Eggleton - Feb. 16, 2013, 8:31 p.m.
Hi Joe,

On Thursday 14 February 2013 13:40:04 Joe Slater wrote:
> CQID: 399299
> 
> The make install target is not parallel job
> safe, but doesn't do all that much, so we
> limit make to one job for that.
> 
> The make target is of the form
> 
> install: x y z
> 
> Unfortunately, z depends on y, so if z is started
> before y (almost) completes, we will fail.
> 
> Signed-off-by: Joe Slater <jslater@windriver.com>
> ---
>  recipes-support/arptables/arptables_0.0.3-4.bb |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
> 
> diff --git a/recipes-support/arptables/arptables_0.0.3-4.bb
> b/recipes-support/arptables/arptables_0.0.3-4.bb index 2faccec..de3f62d
> 100644
> --- a/recipes-support/arptables/arptables_0.0.3-4.bb
> +++ b/recipes-support/arptables/arptables_0.0.3-4.bb
> @@ -3,6 +3,8 @@ PRIORITY = "optional"
>  LICENSE = "GPL-2.0"
>  SECTION = "console/network"
> 
> +PR = "r2"
> +
>  RDEPENDS_${PN} += "perl"
> 
>  LIC_FILES_CHKSUM =
> "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6
> 425610833a22dbe6" @@ -20,6 +22,11 @@ do_compile () {
>  	oe_runmake
>  }
> 
> +# the install target is not multi-job safe, but it doesn't do much
> +# so we just install seriatim
> +#

I hope I don't expose my ignorance too much by saying I just learned a new 
word thanks to the above comment... ;)

> +PARALLEL_MAKEINST = "-j1"

Of course this will work but typically we would just set PARALLEL_MAKEINST = 
"" to accomplish this.

More importantly, this appears to be a patch for the meta-networking layer and 
should therefore have [meta-networking] in the subject and use the meta-
networking/ path.

Cheers,
Paul
Slater, Joseph - Feb. 18, 2013, 1:41 a.m.
Hi Paul,

I apologize for the patch path.  I applied it to a repository for meta-networking,
not meta-openembedded.  I should have guessed that the subject qualifier should
be more specific than [oe].

As to PARALLEL_MAKEINST, I did note that usually it is "", but I think that
"-j1" makes it very clear what the form of this variable is and doesn't cost all that
much, so that's what I went for.

Joe

Patch

diff --git a/recipes-support/arptables/arptables_0.0.3-4.bb b/recipes-support/arptables/arptables_0.0.3-4.bb
index 2faccec..de3f62d 100644
--- a/recipes-support/arptables/arptables_0.0.3-4.bb
+++ b/recipes-support/arptables/arptables_0.0.3-4.bb
@@ -3,6 +3,8 @@  PRIORITY = "optional"
 LICENSE = "GPL-2.0"
 SECTION = "console/network"
 
+PR = "r2"
+
 RDEPENDS_${PN} += "perl"
 
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
@@ -20,6 +22,11 @@  do_compile () {
 	oe_runmake
 }
 
+# the install target is not multi-job safe, but it doesn't do much
+# so we just install seriatim
+#
+PARALLEL_MAKEINST = "-j1"
+
 fakeroot do_install () {
 	oe_runmake 'BINDIR=${sbindir}' 'MANDIR=${mandir}/' 'DESTDIR=${D}' install
 }