[gnome-continuous-yocto/gnomeostree-3.28-rocko: 2345/8267] utils.bbclass: Added error checking for oe_soinstall



commit 4192e4bad5cb2765c2d1ba37c6a6a86ef12c20a8
Author: Henry Bruce <henry bruce intel com>
Date:   Wed Sep 7 14:09:54 2016 -0700

    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>

 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 d56f51e..3c2a14f 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]