diff --git a/subr/tarballs.subr b/subr/tarballs.subr index abcbad0..303c652 100644 --- a/subr/tarballs.subr +++ b/subr/tarballs.subr @@ -8,11 +8,15 @@ do_tarball_dist() { insecure_mkdir ${PREFIX_BASENAME}/lib.bak; tar -C ${PREFIX_BASENAME}/lib -cpf - . | tar -C ${PREFIX_BASENAME}/lib.bak -xpf -; log_msg info "Backed up ${PREFIX_BASENAME}/lib."; - for __ in $(find native/lib \( -iname \*.so -or -iname \*.so.\* \) \ - -type l); do - ___="native/lib/$(readlink -- ${__})"; - if [ -f "${___}" ]; then - secure_rm ${__}; ln -f -- "${___}" "${__}"; + for _dtd_lname in $(find native/lib \( \ + -iname \*.so -or -iname \*.so.\* -or -iname \*.so.\*.\* -or \ + -iname \*.so.\*.\*.\* \) -and \( -not -iname \*.lib.a \) -and -type l); do + if [ "${_dtd_lname#/}" = "${_dtd_lname}" ]; then + _dtd_lname="${PWD}/${_dtd_lname}"; + fi; + _dtd_fname="$(readlink -f -- ${_dtd_lname})"; + if [ -f "${_dtd_fname}" ]; then + secure_rm ${_dtd_lname}; ln -f -- "${_dtd_fname}" "${_dtd_lname}"; fi; done; log_msg info "Converted symbolic links in ${PREFIX_BASENAME}/lib to hard links.";