[oe-commits] Martin Jansa : package.bbclass: fix TypeError in runstrip

git at git.openembedded.org git at git.openembedded.org
Tue Jul 31 10:55:47 UTC 2012


Module: openembedded-core.git
Branch: master
Commit: a834ab8a6d53cae504fa112a89bab93d726539ec
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=a834ab8a6d53cae504fa112a89bab93d726539ec

Author: Martin Jansa <martin.jansa at gmail.com>
Date:   Tue Jul 31 04:00:01 2012 +0200

package.bbclass: fix TypeError in runstrip

* some packages have .ko files which are not elf, without this change
  it fails with TypeError, with this change only runstip fails and
  reports where:
  ERROR: runstrip: ''arm-oe-linux-gnueabi-strip'  '/OE/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/emacs-23.4-r0/package/usr/share/emacs/23.4/etc/tutorials/TUTORIAL.ko'' strip command failed

Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/classes/package.bbclass |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 6142911..3aaf999 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -291,12 +291,16 @@ def runstrip(file, elftype, d):
         os.chmod(file, newmode)
 
     extraflags = ""
-    # .so and shared library
-    if ".so" in file and elftype & 8:
-        extraflags = "--remove-section=.comment --remove-section=.note --strip-unneeded"
-    # shared or executable:
-    elif elftype & 8 or elftype & 4:
-        extraflags = "--remove-section=.comment --remove-section=.note"
+    
+    # split_and_strip_files is calling this with elf_type None, causing:
+    # TypeError: unsupported operand type(s) for &: 'NoneType' and 'int'
+    if elftype:
+        # .so and shared library
+        if ".so" in file and elftype & 8:
+            extraflags = "--remove-section=.comment --remove-section=.note --strip-unneeded"
+        # shared or executable:
+        elif elftype & 8 or elftype & 4:
+            extraflags = "--remove-section=.comment --remove-section=.note"
 
     stripcmd = "'%s' %s '%s'" % (strip, extraflags, file)
     bb.debug(1, "runstrip: %s" % stripcmd)





More information about the Openembedded-commits mailing list