Skip to find lib dependency for not existing file 01/283801/1 accepted/tizen/unified/20221109.171123
authorSeung-Woo Kim <sw0312.kim@samsung.com>
Thu, 3 Nov 2022 04:49:34 +0000 (13:49 +0900)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Thu, 3 Nov 2022 04:55:40 +0000 (13:55 +0900)
Even not existing file is also checked the library dependency
with get_dep_libs(). Skip not to find lib dependency for not
existing file.

This removes next error message during mic image creation:
   /bin/verityctl: error while loading shared libraries: /bin/verityctl: invalid ELF header
   /hal/lib64/libhal-backend-tbm.so: error while loading shared libraries: /hal/lib64/libhal-backend-tbm.so: cannot open shared object file: No such file or directory
   /hal/lib64/libhal-backend-tdm.so: error while loading shared libraries: /hal/lib64/libhal-backend-tdm.so: cannot open shared object file: No such file or directory
   /usr/lib64/libtota.so.1.0.0: error while loading shared libraries: /usr/lib64/libtota.so.1.0.0: cannot open shared object file: No such file or directory

Change-Id: I63ced8eb476a59205b0e4b8d146f5cefd78d3b34
Reported-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
src/initrd-recovery/mkinitrd-recovery.sh.in

index 1c023115a8c448c4dab7e60f40bd6373739dcb24..4a3890d01d9131f7d7eb98c357c3ff22b8c3da0f 100755 (executable)
@@ -208,10 +208,13 @@ withlib_objects() {
     for content in $@; do
         do_copy $content
 
-        DEP_LIBS=$(get_dep_libs $content)
-        for lib in $DEP_LIBS; do
-            do_copy $lib
-        done
+        "$LD_LINUX" --verify $content
+        if [ $? -eq 0 ]; then
+            DEP_LIBS=$(get_dep_libs $content)
+            for lib in $DEP_LIBS; do
+                do_copy $lib
+            done
+        fi
     done
 }
 
@@ -237,10 +240,13 @@ mvwithlib_objects() {
 #-----------------------------------------------------------------------------
 libonly_objects() {
     for content in $@; do
-        DEP_LIBS=$(get_dep_libs $content)
-        for lib in $DEP_LIBS; do
-            do_copy $lib
-        done
+        "$LD_LINUX" --verify $content
+        if [ $? -eq 0 ]; then
+            DEP_LIBS=$(get_dep_libs $content)
+            for lib in $DEP_LIBS; do
+                do_copy $lib
+            done
+        fi
     done
 }