From 5efe4c9a64afe4b5489f1b95d9ade22768841da6 Mon Sep 17 00:00:00 2001 From: Enrico Jorns Date: Mon, 30 May 2016 15:04:05 +0200 Subject: perl-ptest.inc: fix tar call to prevent objcopy failure With tar version 1.29, the tar call used to copy the ptest files will not work anymore. While the call did not match the man page (but worked) before, anyway, the latest update of tar seems to have a more strict argument handling. With the current version of the tar call, the copying of files still works with latest tar version, but the excludes will not be handled properly anymore. This results in having binaries compiled with host GCC in the package. When doing the strip_and_split files in do_package() with the target objcopy, bitbake will fail with this error: ERROR: objcopy failed with exit code 256 (cmd was [...]) [...] File format not recognized Thus, the current argument issues and required changes are: * Options must be placed _before_ the pathnames. * --exclude must be followd by a '=' in order to work properly * 'f' options is for providing an archive file, which is unnecessary in this case Note that this could also be a candidate for backporting. (From OE-Core rev: 2e498879098f7d84610aed7961d92433083d9a02) Signed-off-by: Enrico Jorns Signed-off-by: Richard Purdie --- meta/recipes-devtools/perl/perl-ptest.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/perl/perl-ptest.inc b/meta/recipes-devtools/perl/perl-ptest.inc index 948ea7cddf..5f0989f30b 100644 --- a/meta/recipes-devtools/perl/perl-ptest.inc +++ b/meta/recipes-devtools/perl/perl-ptest.inc @@ -7,8 +7,8 @@ do_install_ptest () { mkdir -p ${D}${PTEST_PATH} sed -e "s:\/opt:\/usr:" -i Porting/add-package.pl sed -e "s:\/local\/gnu\/:\/:" -i hints/cxux.sh - tar -cf - * --exclude \*.o --exclude libperl.so --exclude Makefile --exclude makefile --exclude hostperl \ - --exclude miniperl --exclude generate_uudmap --exclude patches | ( cd ${D}${PTEST_PATH} && tar -xf - ) + tar -c --exclude=\*.o --exclude=libperl.so --exclude=Makefile --exclude=makefile --exclude=hostperl \ + --exclude=miniperl --exclude=generate_uudmap --exclude=patches * | ( cd ${D}${PTEST_PATH} && tar -x ) sed -i -e "s,${D},,g" \ -e "s,--sysroot=${STAGING_DIR_HOST},,g" \ -- cgit v1.2.3-54-g00ecf