diff options
author | Martin Jansa <martin.jansa@gmail.com> | 2012-07-31 04:00:01 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-07-31 11:59:05 +0100 |
commit | 5ab3a111490f8fff689e91d209ef96251075c9e5 (patch) | |
tree | 4e2fd5b5a1b38286705fc58424e0ab133ebff08c /meta | |
parent | 8c7480e3dfcb4563010c17e3175fa9133bf439aa (diff) | |
download | poky-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.bbclass | 16 |
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) |