--- PKGBUILD.old 2021-08-18 17:57:55.048523097 -0400 +++ PKGBUILD 2021-08-18 18:07:08.754221631 -0400 @@ -98,9 +98,25 @@ create_links() { + _orig_dir="$(pwd)" + # create soname links for _lib in $(find "${pkgdir}" -name '*.so*' | grep -v 'xorg/'); do - _soname=$(dirname "${_lib}")/$(readelf -d "${_lib}" | grep -Po 'SONAME.*: \[\K[^]]*' || true) - _base=$(echo ${_soname} | sed -r 's/(.*).so.*/\1.so/') - [[ -e "${_soname}" ]] || ln -s $(basename "${_lib}") "${_soname}" - [[ -e "${_base}" ]] || ln -s $(basename "${_soname}") "${_base}" + _dirname="$(dirname "${_lib}")" + _original="$(basename "${_lib}")" + _soname="$(readelf -d "${_lib}" | grep -Po 'SONAME.*: \[\K[^]]*' || true)" + _base="$(echo ${_soname} | sed -r 's/(.*)\.so.*/\1.so/')" + + cd "${_dirname}" + + if ! [[ -z "${_soname}" ]]; then # if not empty + if ! [[ -e "./${_soname}" ]]; then + ln -s $(basename "${_lib}") "./${_soname}" + fi + fi + if ! [[ -z "${_base}" ]]; then # if not empty (if _soname is empty, _base should be too) + if ! [[ -e "./${_base}" ]]; then + ln -s "./${_soname}" "./${_base}" + fi + fi done + cd "${_orig_dir}" }