summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorMartin Jansa <martin.jansa@gmail.com>2012-07-31 04:00:01 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-07-31 11:59:05 +0100
commit5ab3a111490f8fff689e91d209ef96251075c9e5 (patch)
tree4e2fd5b5a1b38286705fc58424e0ab133ebff08c /meta
parent8c7480e3dfcb4563010c17e3175fa9133bf439aa (diff)
downloadpoky-5ab3a111490f8fff689e91d209ef96251075c9e5.tar.gz
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 (From OE-Core rev: a834ab8a6d53cae504fa112a89bab93d726539ec) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/package.bbclass16
1 files changed, 10 insertions, 6 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 6142911cff..3aaf9998e0 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -291,12 +291,16 @@ def runstrip(file, elftype, d):
291 os.chmod(file, newmode) 291 os.chmod(file, newmode)
292 292
293 extraflags = "" 293 extraflags = ""
294 # .so and shared library 294
295 if ".so" in file and elftype & 8: 295 # split_and_strip_files is calling this with elf_type None, causing:
296 extraflags = "--remove-section=.comment --remove-section=.note --strip-unneeded" 296 # TypeError: unsupported operand type(s) for &: 'NoneType' and 'int'
297 # shared or executable: 297 if elftype:
298 elif elftype & 8 or elftype & 4: 298 # .so and shared library
299 extraflags = "--remove-section=.comment --remove-section=.note" 299 if ".so" in file and elftype & 8:
300 extraflags = "--remove-section=.comment --remove-section=.note --strip-unneeded"
301 # shared or executable:
302 elif elftype & 8 or elftype & 4:
303 extraflags = "--remove-section=.comment --remove-section=.note"
300 304
301 stripcmd = "'%s' %s '%s'" % (strip, extraflags, file) 305 stripcmd = "'%s' %s '%s'" % (strip, extraflags, file)
302 bb.debug(1, "runstrip: %s" % stripcmd) 306 bb.debug(1, "runstrip: %s" % stripcmd)