summaryrefslogtreecommitdiff
path: root/brp-check-elf-files
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-08-29 11:09:34 +0000
committerCoprDistGit <infra@openeuler.org>2024-08-29 11:09:34 +0000
commitc22cb56acddf5bc4147f60908d5ebd770a079070 (patch)
tree302eb716e7d6c4b9c514cf5cd9575b5a347fe220 /brp-check-elf-files
parentb28db8b7389e86a8b2a424f4851ecf7714373516 (diff)
automatic import of openEuler-rpm-config
Diffstat (limited to 'brp-check-elf-files')
-rw-r--r--brp-check-elf-files37
1 files changed, 0 insertions, 37 deletions
diff --git a/brp-check-elf-files b/brp-check-elf-files
deleted file mode 100644
index d9db6b0..0000000
--- a/brp-check-elf-files
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-# Check elf files
-
-if [ -z "$RPM_BUILD_ROOT" ]; then
- echo "No build root defined" >&2
- exit 1
-fi
-
-if [ ! -d "$RPM_BUILD_ROOT" ]; then
- echo "Invalid build root" >&2
- exit 1
-fi
-
-LIB="$(rpm --eval %{_lib})"
-export LD_LIBRARY_PATH="$RPM_BUILD_ROOT/$LIB:$RPM_BUILD_ROOT/usr/$LIB"
-
-find "$RPM_BUILD_ROOT" -type f \( -executable -o -name \*.so\* \) -a \
- \( ! -path $RPM_BUILD_ROOT/usr/lib/debug/\* -a \
- ! -path $RPM_BUILD_ROOT/usr/src/debug/\* \) \
- -print0 |
-xargs --no-run-if-empty -0 file -N -L |
-grep -e '\.so.*: ELF.*shared' -e ': ELF.*executable' |
-while read match; do
- path="$(echo $match | cut -d':' -f1)"
- syspath="$(echo $path | sed -e "s#^$RPM_BUILD_ROOT##")"
- unused_libs="$(ldd -u -r $path 2> /dev/null | grep /)"
- if [ -n "$unused_libs" ]; then
- printf '%s\n' "Warning: unused libraries in $syspath: " >&2
- printf '%s\n' "$unused_libs" >&2
- fi
- if echo $match |grep -q shared; then
- undefined_symbols="$(ldd -r $path 2>&1 | grep '^undefined symbol: '| sed -e 's#^undefined symbol:##g' -e "s#($path).*##g" | tr -d '\n' | tr -d '\t')"
- if [ -n "$undefined_symbols" ]; then
- printf '%s\n' "Warning: undefined symbols in $syspath:$undefined_symbols" >&2
- fi
- fi
-done