diff mbox

core: always pass full path to strip command

Message ID 20170701074205.21287-1-yann.morin.1998@free.fr
State Accepted
Headers show

Commit Message

Yann E. MORIN July 1, 2017, 7:42 a.m. UTC
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>
---
 package/Makefile.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Thomas Petazzoni July 1, 2017, 1:08 p.m. UTC | #1
Hello,

On Sat,  1 Jul 2017 09:42:05 +0200, Yann E. MORIN wrote:
> 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>
> ---
>  package/Makefile.in | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied to master, thanks.

Thomas
Peter Korsgaard July 2, 2017, 3:46 p.m. UTC | #2
>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > 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>

Committed to 2017.02.x and 2017.05.x, thanks.
diff mbox

Patch

diff --git a/package/Makefile.in b/package/Makefile.in
index 4a3eb26963..c1dc714331 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -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)