diff options
author | Henry Bruce <henry.bruce@intel.com> | 2016-09-07 14:09:54 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-09-09 11:52:10 +0100 |
commit | cd5d532bd2a3f409b9470591c8d6f6b21e5995dd (patch) | |
tree | 0629ce4a63d48bbefaf17247baf3a33320156e2d /meta/classes | |
parent | 1868db95819b45961cd7e8499ecace403e6bc91d (diff) | |
download | openembedded-core-cd5d532bd2a3f409b9470591c8d6f6b21e5995dd.tar.gz openembedded-core-cd5d532bd2a3f409b9470591c8d6f6b21e5995dd.tar.bz2 openembedded-core-cd5d532bd2a3f409b9470591c8d6f6b21e5995dd.zip |
utils.bbclass: Added error checking for oe_soinstall
Fixes [YOCTO #10146]
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/utils.bbclass | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/meta/classes/utils.bbclass b/meta/classes/utils.bbclass index d56f51e320..3c2a14fa42 100644 --- a/meta/classes/utils.bbclass +++ b/meta/classes/utils.bbclass @@ -62,15 +62,18 @@ def is_machine_specific(d): oe_soinstall() { # Purpose: Install shared library file and # create the necessary links - # Example: - # - # oe_ - # - #bbnote installing shared library $1 to $2 - # + # Example: oe_soinstall libfoo.so.1.2.3 ${D}${libdir} libname=`basename $1` + case "$libname" in + *.so) + bbfatal "oe_soinstall: Shared library must haved versioned filename (e.g. libfoo.so.1.2.3)" + ;; + esac install -m 755 $1 $2/$libname sonamelink=`${HOST_PREFIX}readelf -d $1 |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'` + if [ -z $sonamelink ]; then + bbfatal "oe_soinstall: $libname is missing ELF tag 'SONAME'." + fi solink=`echo $libname | sed -e 's/\.so\..*/.so/'` ln -sf $libname $2/$sonamelink ln -sf $libname $2/$solink |