summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-03-05 13:10:22 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-03-05 13:14:58 +0000
commit81ac27598414a7a9bf6bee747c8c0020ac88ed25 (patch)
treebe8d59ce165b1ea0580f9e6204b4eedfe819162f
parentbfd9b03a2052579701745b172dd4297530eeae9e (diff)
downloadast2050-yocto-poky-81ac27598414a7a9bf6bee747c8c0020ac88ed25.zip
ast2050-yocto-poky-81ac27598414a7a9bf6bee747c8c0020ac88ed25.tar.gz
package.bbclass: Ensure all .so files get stripped
It was realised that .so files which were not marked as executable were not gettings stripped. This was wasting space in images. This patch ensures they do get processed by the code correctly. [YOCTO #3973] (From OE-Core rev: 725354886ae3650a7a4875d4c0bffcfab7e8cc40) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/package.bbclass5
1 files changed, 4 insertions, 1 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index d37499f..1625ebd 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -725,6 +725,8 @@ python split_and_strip_files () {
symlinks = {}
hardlinks = {}
kernmods = []
+ libdir = os.path.abspath(dvar + os.sep + d.getVar("libdir", True))
+ baselibdir = os.path.abspath(dvar + os.sep + d.getVar("base_libdir", True))
if (d.getVar('INHIBIT_PACKAGE_DEBUG_SPLIT', True) != '1') and \
(d.getVar('INHIBIT_PACKAGE_STRIP', True) != '1'):
for root, dirs, files in os.walk(dvar):
@@ -749,7 +751,8 @@ python split_and_strip_files () {
# Skip broken symlinks
continue
# Check its an excutable
- if (s[stat.ST_MODE] & stat.S_IXUSR) or (s[stat.ST_MODE] & stat.S_IXGRP) or (s[stat.ST_MODE] & stat.S_IXOTH):
+ if (s[stat.ST_MODE] & stat.S_IXUSR) or (s[stat.ST_MODE] & stat.S_IXGRP) or (s[stat.ST_MODE] & stat.S_IXOTH) \
+ or ((file.startswith(libdir) or file.startswith(baselibdir)) and ".so" in f):
# If it's a symlink, and points to an ELF file, we capture the readlink target
if os.path.islink(file):
target = os.readlink(file)
OpenPOWER on IntegriCloud