core: always pass full path to strip command
authorYann E. MORIN <yann.morin.1998@free.fr>
Sat, 1 Jul 2017 07:42:05 +0000 (09:42 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 1 Jul 2017 12:57:17 +0000 (14:57 +0200)
In some cases, passing STRIP=true is not sufficient to disable striping
altogether, as some (incorrectly generated?) configure scripts will
ignore a ${STRIP} that is not a full path.

This is the case, for example, for nmap, which ends up using the host
strip command when we pass STRIP=true:

    checking for arm-buildroot-linux-gnueabihf-strip... no
    checking for strip... /usr/bin/strip
    configure: WARNING: using cross tools not prefixed with host triplet
    [--SNIP--]
    /usr/bin/install -c -c -m 755 nping /home/ymorin/dev/buildroot/O/target/usr/bin/nping
    /usr/bin/strip -x /home/ymorin/dev/buildroot/O/target/usr/bin/nping
    /usr/bin/strip: Unable to recognise the format of the input file `/home/ymorin/dev/buildroot/O/target/usr/bin/nping'

We fix that by forcing a full path to the strip sommand when it is
disabled: STRIP=/bin/true

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

index 4a3eb26963beea56dc3ebde3010e989d5d4259de..c1dc7143310b76b2df19cfc9f2a84f8dd1d39f49 100644 (file)
@@ -207,7 +207,7 @@ TARGET_STRIP = $(TARGET_CROSS)strip
 STRIPCMD = $(TARGET_CROSS)strip --remove-section=.comment --remove-section=.note
 endif
 ifeq ($(BR2_STRIP_none),y)
-TARGET_STRIP = true
+TARGET_STRIP = /bin/true
 STRIPCMD = $(TARGET_STRIP)
 endif
 INSTALL := $(shell which install || type -p install)