# # set +o errexit -o noglob -o nounset is assumed. # pkgp_install_libs_purge_la() { local _ppilpl_la_path=""; for _ppilpl_la_path in $(find "${PKG_DESTDIR}" -type f -name \*.la); do if ! rtl_fileop rm "${_ppilpl_la_path}"; then return 1; fi; done; return 0; }; pkgp_install_libs_shared_link() { local _ppilsl_lib_name="${1}" _ppilsl_so_dir="${2}" _ppilsl_so_path="${3}" \ _ppilsl_lib_link_path="${3%.so*}.lib.a" _ppilsl_fname="" _ppilsl_lib_link_tgt=""; if _ppilsl_lib_link_tgt="$(find "${_ppilsl_so_dir}" -name "${_ppilsl_lib_name%%.*}.*.lib.a" | sort | tail -1)"\ && [ "${_ppilsl_lib_link_tgt:+1}" = 1 ]\ && [ "${_ppilsl_lib_link_tgt}" != "${_ppilsl_lib_link_path}" ]; then rtl_basename2 \$_ppilsl_lib_link_tgt \$_ppilsl_fname; if ! rtl_fileop rm "${_ppilsl_lib_link_path}"\ || ! rtl_fileop ln_symbolic "${_ppilsl_fname}" "${_ppilsl_lib_link_path}"; then return 1; fi; fi; return 0; }; pkgp_install_libs_shared() { local _ppils_head="" _ppils_lib_dst_path="" _ppils_lib_name="" \ _ppils_lib_src_path="" _ppils_so_dst_dir="" _ppils_so_src_path=""; if [ "${PKG_BUILD_TYPE}" != "host" ]; then for _ppils_so_src_path in \ $(find "${PKG_DESTDIR}" \ \( -name "*.so" -or -name "*.so.*" \) -print); do if [ "$(readlink -f "${_ppils_so_src_path}")" != "/dev/null" ]\ && rtl_head "[0-9.]" "${_ppils_so_src_path##*.so}" \$_ppils_head\ && [ "${_ppils_head:+1}" != 1 ]; then case "${_ppils_so_src_path}" in *.so) _ppils_lib_src_path="${_ppils_so_src_path%%.so}.lib.a"; ;; *.so.*) _ppils_lib_src_path="${_ppils_so_src_path%%.so.*}.${_ppils_so_src_path##*.so.}.lib.a"; ;; esac; _ppils_so_dst_dir="${_ppils_so_src_path%/*}"; rtl_basename2 \$_ppils_lib_src_path \$_ppils_lib_name; _ppils_lib_dst_path="${_ppils_so_dst_dir}/${_ppils_lib_name}"; if [ ! -L "${_ppils_lib_src_path}" ]\ && [ ! -e "${_ppils_lib_dst_path}" ]; then if ! (rtl_basename2 \$_ppils_so_src_path \$_ppils_fname; \ rtl_basename2 \$_ppils_lib_dst_path \$_ppils_fname_dst; \ rtl_dirname2 \$_ppils_so_src_path \$_ppils_dname; \ rtl_fileop cd "${_ppils_dname}" && \ perk -e "${_ppils_fname}" |\ "${PKG_TARGET}-mdso" \ -i "${_ppils_fname_dst}" \ -n "${_ppils_fname}" -); then return 1; fi; fi; if ! pkgp_install_libs_shared_link \ "${_ppils_lib_name}" "${_ppils_so_dst_dir}" \ "${_ppils_so_src_path}"; then return 1; fi; fi; done; fi; return 0; }; pkg_install_libs() { local _pil_group_name="${1}" _pil_pkg_name="${2}" _pil_restart_at="${3}"; if ! pkgp_install_libs_purge_la\ || ! pkgp_install_libs_shared; then return 1; fi; return 0; }; # vim:filetype=sh