aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/utils.bbclass
diff options
context:
space:
mode:
authorHenry Bruce <henry.bruce@intel.com>2016-09-07 14:09:54 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-09-09 11:53:36 +0100
commit4192e4bad5cb2765c2d1ba37c6a6a86ef12c20a8 (patch)
treec5462304c17a98add24838c364b1d8782dd6a42f /meta/classes/utils.bbclass
parente9126926d4322d070105ef70421619fcd783f9b8 (diff)
downloadopenembedded-core-contrib-4192e4bad5cb2765c2d1ba37c6a6a86ef12c20a8.tar.gz
utils.bbclass: Added error checking for oe_soinstall
Fixes [YOCTO #10146] (From OE-Core rev: cd5d532bd2a3f409b9470591c8d6f6b21e5995dd) Signed-off-by: Henry Bruce <henry.bruce@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/utils.bbclass')
-rw-r--r--meta/classes/utils.bbclass15
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