summaryrefslogtreecommitdiff
path: root/sys-apps/baselayout/baselayout-9999.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/baselayout/baselayout-9999.ebuild')
-rw-r--r--sys-apps/baselayout/baselayout-9999.ebuild18
1 files changed, 15 insertions, 3 deletions
diff --git a/sys-apps/baselayout/baselayout-9999.ebuild b/sys-apps/baselayout/baselayout-9999.ebuild
index 76beeff5aac8..8dfcf1d42876 100644
--- a/sys-apps/baselayout/baselayout-9999.ebuild
+++ b/sys-apps/baselayout/baselayout-9999.ebuild
@@ -67,11 +67,23 @@ multilib_layout() {
continue
fi
if ! use split-usr && [[ ${prefix} = ${EROOT}/ ]]; then
+ # for the special case of riscv multilib, we drop the
+ # second part of two-component libdirs, e.g. lib64/lp64
libdir="${libdir%%/*}"
dir="${prefix}${libdir}"
- einfo "symlinking ${dir} to usr/${libdir}"
- ln -s usr/${libdir} ${dir} ||
- die "Unable to make ${dir} symlink"
+ if [[ -h "${dir}" ]] ; then
+ if use riscv ; then
+ # with riscv we get now double entries so we
+ # need to ignore already existing symlinks
+ einfo "symlink ${dir} already exists (riscv)"
+ else
+ die "symlink ${dir} already exists"
+ fi
+ else
+ einfo "symlinking ${dir} to usr/${libdir}"
+ ln -s usr/${libdir} ${dir} ||
+ die "Unable to make ${dir} symlink"
+ fi
else
einfo "creating directory ${dir}"
mkdir -p "${dir}" ||