diff options
-rw-r--r-- | hook-functions | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/hook-functions b/hook-functions index 48bab9b..af9d9c1 100644 --- a/hook-functions +++ b/hook-functions @@ -124,6 +124,11 @@ copy_file() { [ -f "${src}" ] || return 2 + # Canonicalise usr-merged target directories + case "${target}" in + /bin/* | /lib* | /sbin/*) target="/usr${target}" ;; + esac + if [ -d "${DESTDIR}/${target}" ]; then target="${target}/${src##*/}" fi @@ -138,6 +143,14 @@ copy_file() { # just link directly to the ultimate target link_target="$(readlink -f "${src}")" || return $(($? + 1)) + # Update source for the copy + src="${link_target}" + + # Canonicalise usr-merged target directories + case "${link_target}" in + /bin/* | /lib* | /sbin/*) link_target="/usr${link_target}" ;; + esac + if [ "${link_target}" != "${target}" ]; then [ "${verbose?}" = "y" ] && echo "Adding ${type}-link ${src}" @@ -147,7 +160,6 @@ copy_file() { fi # Copy the link target if it doesn't already exist - src="${link_target}" target="${link_target}" [ -e "${DESTDIR}/${target}" ] && return 0 mkdir -p "${DESTDIR}/${target%/*}" |