diff mbox series

[PATCHv2] package/dash: don't build in paralle

Message ID 20180529174237.16902-1-yann.morin.1998@free.fr
State Accepted
Commit 50d443cbf72fc7940c2970b309de535004173966
Headers show
Series [PATCHv2] package/dash: don't build in paralle | expand

Commit Message

Yann E. MORIN May 29, 2018, 5:42 p.m. UTC
dash has races in its Makefile, but upstream is not too keen in fixing
those, and just suggests that dash not be built in parallel:

    https://www.mail-archive.com/dash@vger.kernel.org/msg01675.html

Fixes:
    http://autobuild.buildroot.org/results/793/7934c815a3009af688c2f1183e67dfe542c9a009/
    http://autobuild.buildroot.org/results/fc4/fc4e4ab47455ac47dd4a3a60083cec2848e74dbb/
    http://autobuild.buildroot.org/results/6bf/6bfdd44ea5d55a6ca3ef92254eab18c7c0416b7b/
    [...]

Reported-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Baruch Siach <baruch@tkos.co.il>

---
Changes v1 -> v2:
  - disable parallel build instead of trying to fix it, since upstream
    suggest so.
---
 package/dash/dash.mk | 3 +++
 1 file changed, 3 insertions(+)

Comments

Peter Korsgaard May 29, 2018, 7:44 p.m. UTC | #1
>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > dash has races in its Makefile, but upstream is not too keen in fixing
 > those, and just suggests that dash not be built in parallel:

 >     https://www.mail-archive.com/dash@vger.kernel.org/msg01675.html

:/

 > Fixes:
 >     http://autobuild.buildroot.org/results/793/7934c815a3009af688c2f1183e67dfe542c9a009/
 >     http://autobuild.buildroot.org/results/fc4/fc4e4ab47455ac47dd4a3a60083cec2848e74dbb/
 >     http://autobuild.buildroot.org/results/6bf/6bfdd44ea5d55a6ca3ef92254eab18c7c0416b7b/
 >     [...]

 > Reported-by: Baruch Siach <baruch@tkos.co.il>
 > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > Cc: Baruch Siach <baruch@tkos.co.il>

 > ---
 > Changes v1 -> v2:
 >   - disable parallel build instead of trying to fix it, since upstream
 >     suggest so.

Committed, thanks.
Arnout Vandecappelle May 30, 2018, 4:56 p.m. UTC | #2
On 29-05-18 19:42, Yann E. MORIN wrote:
> dash has races in its Makefile, but upstream is not too keen in fixing
> those, and just suggests that dash not be built in parallel:
> 
>     https://www.mail-archive.com/dash@vger.kernel.org/msg01675.html

 Herbert's comment was:

    Until there is a good solution to rules with multiple targets,
    perhaps we should just disable parallel building in dash.

 Fortunately, there is a good solution: pattern rules. From the info page:

    Pattern rules may have more than one target.  Unlike normal rules,
    this does not act as many different rules with the same prerequisites
    and recipe.  If a pattern rule has multiple targets, 'make' knows that
    the rule's recipe is responsible for making all of the targets.  The
    recipe is executed only once to make all the targets.


 So a pattern rule like:

%token.h %token_vars.h: %mktokens
	$(SHELL) $^

should do the trick.

 I think this is a GNU make extension, however. I don't know if that's
acceptable for upstream. I can imagine that they want to support bsdmake.

 Regards,
 Arnout


> 
> Fixes:
>     http://autobuild.buildroot.org/results/793/7934c815a3009af688c2f1183e67dfe542c9a009/
>     http://autobuild.buildroot.org/results/fc4/fc4e4ab47455ac47dd4a3a60083cec2848e74dbb/
>     http://autobuild.buildroot.org/results/6bf/6bfdd44ea5d55a6ca3ef92254eab18c7c0416b7b/
>     [...]
> 
> Reported-by: Baruch Siach <baruch@tkos.co.il>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Baruch Siach <baruch@tkos.co.il>
> 
> ---
> Changes v1 -> v2:
>   - disable parallel build instead of trying to fix it, since upstream
>     suggest so.
> ---
>  package/dash/dash.mk | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/package/dash/dash.mk b/package/dash/dash.mk
> index 9a26ebb642..80f0ea8cf3 100644
> --- a/package/dash/dash.mk
> +++ b/package/dash/dash.mk
> @@ -9,6 +9,9 @@ DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files
>  DASH_LICENSE = BSD-3-Clause, GPL-2.0+ (mksignames.c)
>  DASH_LICENSE_FILES = COPYING
>  
> +# dash does not build in parallel
> +DASH_MAKE = $(MAKE1)
> +
>  ifeq ($(BR2_PACKAGE_LIBEDIT),y)
>  DASH_DEPENDENCIES += libedit host-pkgconf
>  DASH_CONF_OPTS += --with-libedit
>
Peter Korsgaard June 17, 2018, 2:58 p.m. UTC | #3
>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > dash has races in its Makefile, but upstream is not too keen in fixing
 > those, and just suggests that dash not be built in parallel:

 >     https://www.mail-archive.com/dash@vger.kernel.org/msg01675.html

 > Fixes:
 >     http://autobuild.buildroot.org/results/793/7934c815a3009af688c2f1183e67dfe542c9a009/
 >     http://autobuild.buildroot.org/results/fc4/fc4e4ab47455ac47dd4a3a60083cec2848e74dbb/
 >     http://autobuild.buildroot.org/results/6bf/6bfdd44ea5d55a6ca3ef92254eab18c7c0416b7b/
 >     [...]

 > Reported-by: Baruch Siach <baruch@tkos.co.il>
 > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > Cc: Baruch Siach <baruch@tkos.co.il>

 > ---
 > Changes v1 -> v2:
 >   - disable parallel build instead of trying to fix it, since upstream
 >     suggest so.

Committed to 2018.02.x, thanks.
diff mbox series

Patch

diff --git a/package/dash/dash.mk b/package/dash/dash.mk
index 9a26ebb642..80f0ea8cf3 100644
--- a/package/dash/dash.mk
+++ b/package/dash/dash.mk
@@ -9,6 +9,9 @@  DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files
 DASH_LICENSE = BSD-3-Clause, GPL-2.0+ (mksignames.c)
 DASH_LICENSE_FILES = COPYING
 
+# dash does not build in parallel
+DASH_MAKE = $(MAKE1)
+
 ifeq ($(BR2_PACKAGE_LIBEDIT),y)
 DASH_DEPENDENCIES += libedit host-pkgconf
 DASH_CONF_OPTS += --with-libedit