AB random failure: libpcre-native split_and_strip

Submitted by Alex Franco on Sept. 25, 2015, 10:54 p.m. | Patch ID: 104203

Details

Message ID 1443221651-7364-1-git-send-email-alejandro.franco@linux.intel.com
State New
Headers show

Commit Message

Alex Franco Sept. 25, 2015, 10:54 p.m.
Error handling: adding file-native as a dependency to libpre recipe
should guarantee a consistent, and more importantly POSIX-compliant
version of the "file" command is always used when checking the file
"pcre-config" within the isELF function in staging.bbclass.

Following the POSIX behavior, file returns 0 and continues, when an
error is found while checking a file.

Debug: in cases where file may still fail, the resulting error will
now be logged along with the split_and_strip_files failure.

[YOCTO #8144]

Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com>
---
 meta/classes/staging.bbclass                 | 2 +-
 meta/recipes-support/libpcre/libpcre_8.37.bb | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Patch hide | download patch | download mbox

diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index 967eddd..554c2e4 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -77,7 +77,7 @@  python sysroot_strip () {
         ret, result = oe.utils.getstatusoutput("file \"%s\"" % path.replace("\"", "\\\""))
 
         if ret:
-            bb.error("split_and_strip_files: 'file %s' failed" % path)
+            bb.error("split_and_strip_files: 'file %s' failed\nError: %s" % (path, result))
             return type
 
         # Not stripped
diff --git a/meta/recipes-support/libpcre/libpcre_8.37.bb b/meta/recipes-support/libpcre/libpcre_8.37.bb
index bcfc9e9..1a2024d 100644
--- a/meta/recipes-support/libpcre/libpcre_8.37.bb
+++ b/meta/recipes-support/libpcre/libpcre_8.37.bb
@@ -20,7 +20,7 @@  SRC_URI[sha256sum] = "51679ea8006ce31379fb0860e46dd86665d864b5020fc9cd19e71260ee
 S = "${WORKDIR}/pcre-${PV}"
 
 PROVIDES += "pcre"
-DEPENDS += "bzip2 zlib"
+DEPENDS += "bzip2 zlib file-native"
 
 PACKAGECONFIG[pcretest-readline] = "--enable-pcretest-libreadline,--disable-pcretest-libreadline,readline,"
 

Comments

Richard Purdie Sept. 26, 2015, 6:58 a.m.
On Fri, 2015-09-25 at 17:54 -0500, Alex Franco wrote:
> Error handling: adding file-native as a dependency to libpre recipe
> should guarantee a consistent, and more importantly POSIX-compliant
> version of the "file" command is always used when checking the file
> "pcre-config" within the isELF function in staging.bbclass.
> 
> Following the POSIX behavior, file returns 0 and continues, when an
> error is found while checking a file.
> 
> Debug: in cases where file may still fail, the resulting error will
> now be logged along with the split_and_strip_files failure.

I like the improvement in debug, I'm not sure the other part of this
will solve the problem though. We've seen this error on recipes other
that libpcre and also, which systems do you think doesn't have a
POSIX-compliant version of the file?

Cheers,

Richard

> [YOCTO #8144]
> 
> Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com>
> ---
>  meta/classes/staging.bbclass                 | 2 +-
>  meta/recipes-support/libpcre/libpcre_8.37.bb | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
> index 967eddd..554c2e4 100644
> --- a/meta/classes/staging.bbclass
> +++ b/meta/classes/staging.bbclass
> @@ -77,7 +77,7 @@ python sysroot_strip () {
>          ret, result = oe.utils.getstatusoutput("file \"%s\"" % path.replace("\"", "\\\""))
>  
>          if ret:
> -            bb.error("split_and_strip_files: 'file %s' failed" % path)
> +            bb.error("split_and_strip_files: 'file %s' failed\nError: %s" % (path, result))
>              return type
>  
>          # Not stripped
> diff --git a/meta/recipes-support/libpcre/libpcre_8.37.bb b/meta/recipes-support/libpcre/libpcre_8.37.bb
> index bcfc9e9..1a2024d 100644
> --- a/meta/recipes-support/libpcre/libpcre_8.37.bb
> +++ b/meta/recipes-support/libpcre/libpcre_8.37.bb
> @@ -20,7 +20,7 @@ SRC_URI[sha256sum] = "51679ea8006ce31379fb0860e46dd86665d864b5020fc9cd19e71260ee
>  S = "${WORKDIR}/pcre-${PV}"
>  
>  PROVIDES += "pcre"
> -DEPENDS += "bzip2 zlib"
> +DEPENDS += "bzip2 zlib file-native"
>  
>  PACKAGECONFIG[pcretest-readline] = "--enable-pcretest-libreadline,--disable-pcretest-libreadline,readline,"
>  
> -- 
> 2.5.3
>