commit: 652b5e27bb7c15574678d9cd837f6e24639e713b
Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 9 12:16:31 2024 +0000
Commit: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Fri Feb 9 12:16:31 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=652b5e27
sys-apps/baselayout: Add bugfix for riscv multilib stage builds
Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>
...elayout-9999.ebuild => baselayout-2.14-r3.ebuild} | 20 ++++++++++++++++----
sys-apps/baselayout/baselayout-9999.ebuild | 18 +++++++++++++++---
2 files changed, 31 insertions(+), 7 deletions(-)
diff --git a/sys-apps/baselayout/baselayout-9999.ebuild
b/sys-apps/baselayout/baselayout-2.14-r3.ebuild
similarity index 95%
copy from sys-apps/baselayout/baselayout-9999.ebuild
copy to sys-apps/baselayout/baselayout-2.14-r3.ebuild
index 76beeff5aac8..820c4f714c44 100644
--- a/sys-apps/baselayout/baselayout-9999.ebuild
+++ b/sys-apps/baselayout/baselayout-2.14-r3.ebuild
@@ -12,7 +12,7 @@ if [[ ${PV} = 9999 ]]; then
inherit git-r3
else
SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc
~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos
~x64-macos ~x64-solaris"
+ KEYWORDS="~riscv"
fi
LICENSE="GPL-2"
@@ -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}" ||
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}" ||