[oe-commits] Richard Purdie : package.bbclass: Ensure all .so files get stripped

git at git.openembedded.org git at git.openembedded.org
Tue Mar 5 13:14:21 UTC 2013


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

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Tue Mar  5 13:10:22 2013 +0000

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]

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/classes/package.bbclass |    5 ++++-
 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)





More information about the Openembedded-commits mailing list