package/dvb-apps: is not parallel-safe
authorYann E. MORIN <yann.morin.1998@free.fr>
Mon, 27 Nov 2017 10:48:55 +0000 (11:48 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 27 Nov 2017 20:30:56 +0000 (21:30 +0100)
This is invisible because the timings make it excessively difficult to
hit, but the Makefile is inherently flawed for parallel build, as it
contains:

    $(objects): atsc_psip_section.c atsc_psip_section.h

    atsc_psip_section.c atsc_psip_section.h:
        perl section_generate.pl atsc_psip_section.pl

and the perl script section_generate.pl will create both the .c and .h
files in one go, but given the construct above, there can be two such
script that run in parallel, which can clobber the generated .c and/or
.h files.

So, make dvb-apps a MAKE1 package.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/dvb-apps/dvb-apps.mk

index 8aa4a29307913c25e6ff222bac323a672a97f4b4..ffab0db682753a326f189421c0fee019dc757d08 100644 (file)
@@ -27,7 +27,7 @@ DVB_APPS_INSTALL_STAGING = YES
 
 define DVB_APPS_BUILD_CMDS
        $(TARGET_CONFIGURE_OPTS) LDLIBS="$(DVB_APPS_LDLIBS)" \
-               $(MAKE) -C $(@D) CROSS_ROOT=$(STAGING_DIR) \
+               $(MAKE1) -C $(@D) CROSS_ROOT=$(STAGING_DIR) \
                $(DVB_APPS_MAKE_OPTS)
 endef