From cd5d532bd2a3f409b9470591c8d6f6b21e5995dd Mon Sep 17 00:00:00 2001 From: Henry Bruce Date: Wed, 7 Sep 2016 14:09:54 -0700 Subject: utils.bbclass: Added error checking for oe_soinstall Fixes [YOCTO #10146] Signed-off-by: Henry Bruce Signed-off-by: Richard Purdie --- meta/classes/utils.bbclass | 15 +++++++++------ 1 file 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 -- cgit 1.2.3-korg