linux: Make dtc install step more reliable
authorAndreas Naumann <anaumann@ultratronik.de>
Tue, 13 Nov 2018 15:50:16 +0000 (16:50 +0100)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Fri, 23 Nov 2018 21:18:57 +0000 (22:18 +0100)
Checking for the existence of the dtc binary built by the
non-dependent dtc package may cause instable behaviour when giving more
freedom on the order of how the packages are built (parallelization).

In addidion, when moving to per-package host/target method, the check
would always trigger in the isolated host, leading to linux-dtc always
being installed as dtc.
This in turn may lead to undesired overwriting of the real host-dtc binary
when finally assembling the global host dir.

Thus rework the linux-dtc install condition to be defined by configuration
rather than compile time order.

Signed-off-by: Andreas Naumann <anaumann@ultratronik.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
linux/linux.mk

index 476ff1632943cb1574afe9e00c8e4cbc778f1987..864fa772bb9d495f10af809dca61261b726df652 100644 (file)
@@ -461,9 +461,7 @@ define LINUX_INSTALL_HOST_TOOLS
        # Installing dtc (device tree compiler) as host tool, if selected
        if grep -q "CONFIG_DTC=y" $(@D)/.config; then \
                $(INSTALL) -D -m 0755 $(@D)/scripts/dtc/dtc $(HOST_DIR)/bin/linux-dtc ; \
-               if [ ! -e $(HOST_DIR)/bin/dtc ]; then \
-                       ln -sf linux-dtc $(HOST_DIR)/bin/dtc ; \
-               fi \
+               $(if $(BR2_PACKAGE_HOST_DTC),,ln -sf linux-dtc $(HOST_DIR)/bin/dtc;) \
        fi
 endef