[Libreoffice-commits] core.git: bin/check-elf-dynamic-objects

Michael Stahl mstahl at redhat.com
Mon Oct 10 15:56:51 UTC 2016


 bin/check-elf-dynamic-objects |   96 +++++++++++++++++++++++-------------------
 1 file changed, 53 insertions(+), 43 deletions(-)

New commits:
commit 7433ba52d3a28ba946e522aa5d579679573569a2
Author: Michael Stahl <mstahl at redhat.com>
Date:   Mon Oct 10 17:08:05 2016 +0200

    check-elf-dynamic-objects: file is far too slow
    
    ... so use readelf itself to check if it's an ELF file.
    
    Also just skip the SDK documentation which is 2/3 of all files.
    
    Change-Id: Icfd3023dd5b2ccc4f4e94fbb05cdd4eb05051f86

diff --git a/bin/check-elf-dynamic-objects b/bin/check-elf-dynamic-objects
index 90e9bf4..b34af3e 100755
--- a/bin/check-elf-dynamic-objects
+++ b/bin/check-elf-dynamic-objects
@@ -33,49 +33,59 @@ status=0
 
 for file in ${files}
 do
-    if file "${file}" | grep -q 'ELF.*dynamically linked' ; then
-        whitelist="${globalwhitelist}"
-        case "${file}" in
-            */libcairocanvaslo.so)
-                whitelist="${whitelist} libcairo.so.2"
-            ;;
-            */libucpgio1lo.so|*/liblosessioninstalllo.so|*/libevoablo.so)
-                whitelist="${whitelist} ${giowhitelist}"
-            ;;
-            */libavmediagst.so)
-                whitelist="${whitelist} ${gtk3whitelist} ${gstreamerwhitelist}"
-            ;;
-            */libvclplug_kde4lo.so|*/libkde4be1lo.so)
-                whitelist="${whitelist} ${x11whitelist} ${kde4whitelist}"
-            ;;
-            */libvclplug_gtklo.so|*/libqstart_gtklo.so|*/updater)
-                whitelist="${whitelist} ${x11whitelist} ${gtk2whitelist}"
-            ;;
-            */libvclplug_gtk3lo.so)
-                whitelist="${whitelist} ${x11whitelist} ${gtk3whitelist}"
-            ;;
-            */libdesktop_detectorlo.so|*/ui-previewer|*/oosplash|*/gengal.bin)
-                whitelist="${whitelist} ${x11whitelist}"
-            ;;
-            */libvclplug_genlo.so|*/libGLEW.so.*|*/libchartcorelo.so|*/libavmediaogl.so|*/libOGLTranslo.so|*/liboglcanvaslo.so|*/libchartopengllo.so)
-                whitelist="${whitelist} ${x11whitelist} ${openglwhitelist}"
-            ;;
-            */libvcllo.so|*/libsofficeapp.so)
-                whitelist="${whitelist} ${x11whitelist} ${openglwhitelist} ${giowhitelist} libcups.so.2"
-            ;;
-            */liblibreofficekitgtk.so)
-                whitelist="${whitelist} ${gtk3whitelist}"
-            ;;
-            */libsdlo.so)
-                whitelist="${whitelist} ${avahiwhitelist}"
-            ;;
-            */libofficebean.so)
-                whitelist="${whitelist} libjawt.so"
-            ;;
-            */libpostgresql-sdbc-impllo.so)
-                whitelist="${whitelist} ${kerberoswhitelist}"
-            ;;
-        esac
+    skip=0
+    whitelist="${globalwhitelist}"
+    case "${file}" in
+        */sdk/docs/*)
+            # skip the majority of files, no ELF binaries here
+            skip=1
+        ;;
+        */libsalcpprt.a)
+            # strangely readelf -d "succeeds" on a static library so
+            # have to filter it manually
+            skip=1
+        ;;
+        */libcairocanvaslo.so)
+            whitelist="${whitelist} libcairo.so.2"
+        ;;
+        */libucpgio1lo.so|*/liblosessioninstalllo.so|*/libevoablo.so)
+            whitelist="${whitelist} ${giowhitelist}"
+        ;;
+        */libavmediagst.so)
+            whitelist="${whitelist} ${gtk3whitelist} ${gstreamerwhitelist}"
+        ;;
+        */libvclplug_kde4lo.so|*/libkde4be1lo.so)
+            whitelist="${whitelist} ${x11whitelist} ${kde4whitelist}"
+        ;;
+        */libvclplug_gtklo.so|*/libqstart_gtklo.so|*/updater)
+            whitelist="${whitelist} ${x11whitelist} ${gtk2whitelist}"
+        ;;
+        */libvclplug_gtk3lo.so)
+            whitelist="${whitelist} ${x11whitelist} ${gtk3whitelist}"
+        ;;
+        */libdesktop_detectorlo.so|*/ui-previewer|*/oosplash|*/gengal.bin)
+            whitelist="${whitelist} ${x11whitelist}"
+        ;;
+        */libvclplug_genlo.so|*/libGLEW.so.*|*/libchartcorelo.so|*/libavmediaogl.so|*/libOGLTranslo.so|*/liboglcanvaslo.so|*/libchartopengllo.so)
+            whitelist="${whitelist} ${x11whitelist} ${openglwhitelist}"
+        ;;
+        */libvcllo.so|*/libsofficeapp.so)
+            whitelist="${whitelist} ${x11whitelist} ${openglwhitelist} ${giowhitelist} libcups.so.2"
+        ;;
+        */liblibreofficekitgtk.so)
+            whitelist="${whitelist} ${gtk3whitelist}"
+        ;;
+        */libsdlo.so)
+            whitelist="${whitelist} ${avahiwhitelist}"
+        ;;
+        */libofficebean.so)
+            whitelist="${whitelist} libjawt.so"
+        ;;
+        */libpostgresql-sdbc-impllo.so)
+            whitelist="${whitelist} ${kerberoswhitelist}"
+        ;;
+    esac
+    if test "${skip}" = 0 && readelf -d "${file}" &> /dev/null ; then
         rpath=$(readelf -d "${file}" | grep '(RPATH)' || true)
         neededs=$(readelf -d "${file}" | grep '(NEEDED)' | sed -e 's/.*\[\(.*\)\]$/\1/')
         neededsinternal=


More information about the Libreoffice-commits mailing list