From 765713c1e141e9f4db77f65de066aa10a3b2ca54 Mon Sep 17 00:00:00 2001 From: Arfrever Frehtes Taifersar Arahesis Date: Sat, 20 Jun 2020 23:37:33 +0000 Subject: [PATCH] sys-apps/baselayout: Fix installation on RISC-V. Fix some quoting. Closes: https://bugs.gentoo.org/728674 Signed-off-by: Arfrever Frehtes Taifersar Arahesis --- sys-apps/baselayout/baselayout-2.6-r1.ebuild | 18 ++++++++++++++---- sys-apps/baselayout/baselayout-2.7.ebuild | 18 ++++++++++++++---- sys-apps/baselayout/baselayout-9999.ebuild | 18 ++++++++++++++---- 3 files changed, 42 insertions(+), 12 deletions(-) diff --git a/sys-apps/baselayout/baselayout-2.6-r1.ebuild b/sys-apps/baselayout/baselayout-2.6-r1.ebuild index 5471a444eb2..7ecdaf24179 100644 --- a/sys-apps/baselayout/baselayout-2.6-r1.ebuild +++ b/sys-apps/baselayout/baselayout-2.6-r1.ebuild @@ -33,7 +33,7 @@ multilib_layout() { if [[ -z "${SYMLINK_LIB}" || ${SYMLINK_LIB} = no ]] ; then prefix_lst=( "${EROOT}"{,usr/,usr/local/} ) - for prefix in ${prefix_lst[@]}; do + for prefix in "${prefix_lst[@]}"; do for libdir in ${libdirs}; do dir="${prefix}${libdir}" if [[ -e "${dir}" ]]; then @@ -42,8 +42,13 @@ multilib_layout() { continue fi if ! use split-usr && [[ ${prefix} = ${EROOT} ]]; then - einfo "symlinking ${dir} to usr/${libdir}" - ln -s usr/${libdir} ${dir} || + local link_target="usr/${libdir}" path_separator + for path_separator in $(grep -o / <<< "${libdir}"); do + link_target="../${link_target}" + done + einfo "symlinking ${dir} to ${link_target}" + mkdir -p "${dir%/*}" || die + ln -s "${link_target}" "${dir}" || die " Unable to make ${dir} symlink" else einfo "creating directory ${dir}" @@ -153,7 +158,12 @@ multilib_layout() { if ! use split-usr ; then for libdir in ${libdirs}; do if [[ ! -e "${EROOT}${libdir}" ]]; then - ln -s usr/"${libdir}" "${EROOT}${libdir}" + local link_target="usr/${libdir}" path_separator + for path_separator in $(grep -o / <<< "${libdir}"); do + link_target="../${link_target}" + done + mkdir -p "${EROOT}${libdir%/*}" || die + ln -s "${link_target}" "${EROOT}${libdir}" || die fi done fi diff --git a/sys-apps/baselayout/baselayout-2.7.ebuild b/sys-apps/baselayout/baselayout-2.7.ebuild index 104cf105212..03f6e767075 100644 --- a/sys-apps/baselayout/baselayout-2.7.ebuild +++ b/sys-apps/baselayout/baselayout-2.7.ebuild @@ -33,7 +33,7 @@ multilib_layout() { if [[ -z "${SYMLINK_LIB}" || ${SYMLINK_LIB} = no ]] ; then prefix_lst=( "${EROOT}"{,usr/,usr/local/} ) - for prefix in ${prefix_lst[@]}; do + for prefix in "${prefix_lst[@]}"; do for libdir in ${libdirs}; do dir="${prefix}${libdir}" if [[ -e "${dir}" ]]; then @@ -42,8 +42,13 @@ multilib_layout() { continue fi if ! use split-usr && [[ ${prefix} = ${EROOT} ]]; then - einfo "symlinking ${dir} to usr/${libdir}" - ln -s usr/${libdir} ${dir} || + local link_target="usr/${libdir}" path_separator + for path_separator in $(grep -o / <<< "${libdir}"); do + link_target="../${link_target}" + done + einfo "symlinking ${dir} to ${link_target}" + mkdir -p "${dir%/*}" || die + ln -s "${link_target}" "${dir}" || die " Unable to make ${dir} symlink" else einfo "creating directory ${dir}" @@ -153,7 +158,12 @@ multilib_layout() { if ! use split-usr ; then for libdir in ${libdirs}; do if [[ ! -e "${EROOT}${libdir}" ]]; then - ln -s usr/"${libdir}" "${EROOT}${libdir}" + local link_target="usr/${libdir}" path_separator + for path_separator in $(grep -o / <<< "${libdir}"); do + link_target="../${link_target}" + done + mkdir -p "${EROOT}${libdir%/*}" || die + ln -s "${link_target}" "${EROOT}${libdir}" || die fi done fi diff --git a/sys-apps/baselayout/baselayout-9999.ebuild b/sys-apps/baselayout/baselayout-9999.ebuild index a94078654b8..72adcc37401 100644 --- a/sys-apps/baselayout/baselayout-9999.ebuild +++ b/sys-apps/baselayout/baselayout-9999.ebuild @@ -33,7 +33,7 @@ multilib_layout() { if [[ -z "${SYMLINK_LIB}" || ${SYMLINK_LIB} = no ]] ; then prefix_lst=( "${EROOT}"{,usr/,usr/local/} ) - for prefix in ${prefix_lst[@]}; do + for prefix in "${prefix_lst[@]}"; do for libdir in ${libdirs}; do dir="${prefix}${libdir}" if [[ -e "${dir}" ]]; then @@ -42,8 +42,13 @@ multilib_layout() { continue fi if ! use split-usr && [[ ${prefix} = ${EROOT} ]]; then - einfo "symlinking ${dir} to usr/${libdir}" - ln -s usr/${libdir} ${dir} || + local link_target="usr/${libdir}" path_separator + for path_separator in $(grep -o / <<< "${libdir}"); do + link_target="../${link_target}" + done + einfo "symlinking ${dir} to ${link_target}" + mkdir -p "${dir%/*}" || die + ln -s "${link_target}" "${dir}" || die " Unable to make ${dir} symlink" else einfo "creating directory ${dir}" @@ -153,7 +158,12 @@ multilib_layout() { if ! use split-usr ; then for libdir in ${libdirs}; do if [[ ! -e "${EROOT}${libdir}" ]]; then - ln -s usr/"${libdir}" "${EROOT}${libdir}" + local link_target="usr/${libdir}" path_separator + for path_separator in $(grep -o / <<< "${libdir}"); do + link_target="../${link_target}" + done + mkdir -p "${EROOT}${libdir%/*}" || die + ln -s "${link_target}" "${EROOT}${libdir}" || die fi done fi -- 2.27.0