home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2007 January, February, March & April
/
Chip-Cover-CD-2007-02.iso
/
boot
/
i386
/
rescue
/
usr
/
lib
/
rpm
/
brp-lib64-linux
< prev
next >
Wrap
Text File
|
2006-11-29
|
1KB
|
43 lines
#!/bin/bash
# script checks wether package is 64-bit clean
# and also for a linker bug. (linker allows 64bit libs to link 32bit libs)
echo "sf@suse.de: if you find problems with this script, drop me a note"
# If using normal root, avoid changing anything:
if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then
exit 0
fi
files=
tfiles=
LC_ALL=
LANG=
# check for 64-bit libs in */lib
for p in `grep -v 'lib64' /etc/ld.so.conf`
do
if test -d $RPM_BUILD_ROOT$p ; then
for f in `find $RPM_BUILD_ROOT$p \
-maxdepth 1 -type f -name \*.so\* -o -name \*.a -follow 2>/dev/null`
do
[ $HOSTTYPE = s390x ] && case $f in */lib/ld64.so.1) continue; esac
objdump -f $f 2>/dev/null | grep 'format elf64' \
&& { echo "$f: should be in */lib64"; exit 1; }
done
fi
done
# check for 64 bit libs that have an rpath to a 32 bit Library
for p in `grep 'lib64' /etc/ld.so.conf`
do
if test -d $RPM_BUILD_ROOT$p ; then
for f in `find $RPM_BUILD_ROOT$p \
-maxdepth 1 -type f -name \*.so\* -o -name \*.a -follow 2>/dev/null`
do
# check for rpath to 32bit libs
objdump -x $f 2>/dev/null | grep -v "lib64" | grep -i 'rpath.*lib$' \
&& { echo "$f: rpath to 32bit lib"; exit 1; }
done
fi
done
exit 0