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 third field controls the development package associated with
# the binary package that provides the shared library. # 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 # PLEASE NOTE: when multiple packages provide the same SONAME, the first
# one (order top->bottom) is preferred over the next ones. # 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 libc.so.6 glibc glibc-devel
libm.so.6 glibc glibc-devel libm.so.6 glibc glibc-devel
libpthread.so.0 glibc glibc-devel libpthread.so.0 glibc glibc-devel
librt.so.1 glibc glibc-devel librt.so.1 glibc glibc-devel
libdl.so.2 glibc glibc-devel libdl.so.2 glibc glibc-devel
ld-linux-x86-64.so.2 glibc glibc-devel ld-linux-x86-64.so.2 glibc glibc-devel x86_64
ld-linux.so.2 glibc glibc-devel ld-linux.so.2 glibc glibc-devel i686
libresolv.so.2 glibc glibc-devel libresolv.so.2 glibc glibc-devel
libanl.so.1 glibc glibc-devel libanl.so.1 glibc glibc-devel
libthread_db.so.1 glibc glibc-devel libthread_db.so.1 glibc glibc-devel

View File

@ -43,7 +43,7 @@ find_rundep()
verify_rundeps() 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 local broken rdep found rsonamef soname_list revbumped tmplf newrev
maplib="$XBPS_COMMONVARSDIR/mapping_shlib_binpkg.txt" maplib="$XBPS_COMMONVARSDIR/mapping_shlib_binpkg.txt"
@ -177,9 +177,15 @@ verify_rundeps()
unset found unset found
continue continue
fi fi
echo " SONAME: $f (removed, not required)" # If SONAME is arch specific, only remove it if
sed -i "/^${f}$/d" $rsonamef # matching on the target arch.
broken=1 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 done
exec 0<&3 # restore stdin exec 0<&3 # restore stdin
fi fi