support/script/check-bin-arch: ignore /usr/share
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 21 Mar 2017 20:35:16 +0000 (21:35 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 21 Mar 2017 21:14:50 +0000 (22:14 +0100)
/usr/share normally should not contain binaries executable for the
target platform. However, it might contain ELF binaries for other
platforms, such as firmware files installed by Qemu or
pru-software-support.

Instead of special-casing each package, let's simply ignore /usr/share.

Fixes:

  http://autobuild.buildroot.net/results/6f3fea9f6adaef1573fbb0dd6903b5d99e470610/
  (pru-software-support)

  http://autobuild.buildroot.net/results/fe8892bc22a03299fc41e30bfea5e42166838f88/
  (qemu)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
support/scripts/check-bin-arch

index b3e20246177647ecd8d491068f0fdfe91e13e17b..e1c99e6e7adb31d008450290b943e820c62a1577 100755 (executable)
@@ -29,6 +29,13 @@ while read f; do
                continue
        fi
 
+       # Skip files in /usr/share, several packages (qemu,
+       # pru-software-support) legitimately install ELF binaries that
+       # are not for the target architecture
+       if [[ "${f}" =~ ^\./usr/share/.* ]]; then
+               continue
+       fi
+
        # Get architecture using readelf. We pipe through 'head -1' so
        # that when the file is a static library (.a), we only take
        # into account the architecture of the first object file.