commit:     d9a66f3d2030eb59c117cb96296d7a617d757fc1
Author:     Kofi Hannam <meeyou <AT> tuta <DOT> io>
AuthorDate: Mon Nov 22 11:58:15 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Nov 22 11:58:49 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d9a66f3d

sys-libs/musl: exit early in ldconfig if nothing has changed

This fixes an access violation when compiling sys-libs/ncurses
and /usr/bin/ld is not ld.bfd.

Closes: https://bugs.gentoo.org/719330
Closes: https://github.com/gentoo/gentoo/pull/21939
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Kofi Hannam <meeyou <AT> tuta.io>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-libs/musl/files/ldconfig.in-r1                           | 8 ++++++++
 sys-libs/musl/{musl-1.2.2-r5.ebuild => musl-1.2.2-r6.ebuild} | 0
 2 files changed, 8 insertions(+)

diff --git a/sys-libs/musl/files/ldconfig.in-r1 
b/sys-libs/musl/files/ldconfig.in-r1
index 1b565baf9eed..7bf254dfd91c 100644
--- a/sys-libs/musl/files/ldconfig.in-r1
+++ b/sys-libs/musl/files/ldconfig.in-r1
@@ -116,6 +116,13 @@ sanitize() {
        echo ${drs}
 }
 
+changed() {
+       [[ -f ${ETC_LDSO_PATH} ]] || return 0
+       local current=$(<${ETC_LDSO_PATH})
+       current=${current//$'\n'/ }
+       [[ ${current} != ${drs} ]] || return 1
+}
+
 get_options "$@"
 
 if [[ ! -e ${LDSO_CONF} ]]; then
@@ -139,6 +146,7 @@ LDSO_ARCH=$(basename ${LDSO_PATH})
 LDSO_NAME=${LDSO_ARCH%.so.1}
 ETC_LDSO_PATH="${ROOT}/etc/${LDSO_NAME}.path"
 
+changed || exit 0
 X=$(mktemp -p /tmp ${LDSO_NAME}.XXXXXX)
 for d in ${drs}; do
        echo ${d} >> ${X}

diff --git a/sys-libs/musl/musl-1.2.2-r5.ebuild 
b/sys-libs/musl/musl-1.2.2-r6.ebuild
similarity index 100%
rename from sys-libs/musl/musl-1.2.2-r5.ebuild
rename to sys-libs/musl/musl-1.2.2-r6.ebuild

Reply via email to