home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- # If using normal root, avoid changing anything.
- if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then
- exit 0
- fi
- files=
- LC_ALL=
- LANG=
- LC_TIME=POSIX
-
- # Move 64bit ELF objects from /lib, /usr/lib, /usr/X11R6/lib to */lib64
- # directories
-
- for f in `find $RPM_BUILD_ROOT{,/usr,/usr/X11R6}/lib -maxdepth 1 -type f -o -type l 2>/dev/null`; do
- ff=$f
- while [ -L $ff ]; do
- l=`ls -l $ff | awk '{ print $11 }'`
- case $l in
- /*) ff=$RPM_BUILD_ROOT$l ;;
- *) ff=`dirname $ff`/$l ;;
- esac
- done
- if file $ff 2>/dev/null | grep ': ELF 64-bit .SB' | grep -v ': ELF 64-bit .SB executable' > /dev/null; then
- files="$files $f"
- elif file $ff 2>/dev/null | grep 'ar archive' > /dev/null; then
- if objdump -h $ff 2>/dev/null | grep ':[ ]*file format elf64-sparc' > /dev/null; then
- files="$files $f"
- fi
- fi
- done
- for f in $files; do
- d=`dirname $f`
- n=`basename $f`
- if [ ! -d ${d}64 ]; then mkdir -p ${d}64; fi
- if [ -L $f ]; then
- l=`ls -l $f | awk '{ print $11 }' | sed 's_lib\(/[^/]*\)$_lib64\1_'`
- ln -sf $l ${d}64/$n
- rm -f $f
- else
- mv -f $f ${d}64/$n
- fi
- done
-