xbps-src: added arch specific shlibs support to verify_rundeps.

This commit is contained in:
Juan RP 2011-11-13 09:17:03 +01:00
parent cfcdd8d65f
commit 8b2a4e0646
2 changed files with 16 additions and 7 deletions

View File

@ -7,19 +7,22 @@
# The third field controls the development package associated with
# the binary package that provides the shared library.
#
# The fourth field (optional) specifies that shared library is only
# available on the target architecture.
#
# PLEASE NOTE: when multiple packages provide the same SONAME, the first
# one (order top->bottom) is preferred over the next ones.
#
################################################################################################
# SONAME BINPKG BINPKG-DEVEL DEFAULT
# SONAME BINPKG BINPKG-DEVEL ARCH
################################################################################################
libc.so.6 glibc glibc-devel
libm.so.6 glibc glibc-devel
libpthread.so.0 glibc glibc-devel
librt.so.1 glibc glibc-devel
libdl.so.2 glibc glibc-devel
ld-linux-x86-64.so.2 glibc glibc-devel
ld-linux.so.2 glibc glibc-devel
ld-linux-x86-64.so.2 glibc glibc-devel x86_64
ld-linux.so.2 glibc glibc-devel i686
libresolv.so.2 glibc glibc-devel
libanl.so.1 glibc glibc-devel
libthread_db.so.1 glibc glibc-devel

View File

@ -43,7 +43,7 @@ find_rundep()
verify_rundeps()
{
local j f nlib verify_deps maplib found_dup igndir
local j f nlib verify_deps maplib found_dup igndir soname_arch
local broken rdep found rsonamef soname_list revbumped tmplf newrev
maplib="$XBPS_COMMONVARSDIR/mapping_shlib_binpkg.txt"
@ -177,9 +177,15 @@ verify_rundeps()
unset found
continue
fi
echo " SONAME: $f (removed, not required)"
sed -i "/^${f}$/d" $rsonamef
broken=1
# If SONAME is arch specific, only remove it if
# matching on the target arch.
soname_arch=$(grep "$f" $maplib|awk '{print $4}')
if [ -z "$soname_arch" ] || \
[ -n "$soname_arch" -a "$soname_arch" = "$XBPS_MACHINE" ]; then
echo " SONAME: $f (removed, not required)"
sed -i "/^${f}$/d" $rsonamef
broken=1
fi
done
exec 0<&3 # restore stdin
fi