2 cd `rpm --eval %{_builddir}`
4 # This script reads filenames from STDIN and outputs any relevant provides
5 # information that needs to be included in the package.
7 filelist=$(grep "\\.so" | grep -v "^/lib/ld.so" | xargs file -L 2>/dev/null | grep "ELF.*shared object" | cut -d: -f1)
8 if [ -f __rpm_noautoprovfiles ] ; then
9 for i in `cat __rpm_noautoprovfiles`; do
10 filelist=`echo $filelist | sed "s![[:space:]]*$i[[:space:]]*!!g"`
16 *) mark64="()(64bit)" ;;
19 allprovides=`for f in $filelist; do
20 soname=$(objdump -p $f 2> /dev/null | awk '/SONAME/ {print $2}')
22 lib64=`if file -L $f 2>/dev/null | \
23 grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi`
25 if [ "$soname" != "" ]; then
28 objdump -p $f 2> /dev/null | awk '
30 /Version definitions:/ { START=1; }
31 /^[0-9]/ && (START==1) { print $4; }
35 while read symbol ; do
36 echo "$soname($symbol)`echo $lib64 | sed 's/()//'`"
44 if [ -f __rpm_noautoprov ] ; then
45 for i in `cat __rpm_noautoprov`; do
46 allprovides=`echo $allprovides | sed "s!\<$i[[:space:]]*!!g"`