commit:     0e81c262674615ff95a7918106b0e9031dbf3739
Author:     whoisxy <whoisxy <AT> users <DOT> noreply <DOT> github <DOT> com>
AuthorDate: Sat Apr 26 12:08:52 2025 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Apr 29 08:09:37 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e81c262

dev-libs/nss: fix calling shlibsign from pkg_postinst

As shlibsign relies on shared objects from dev-libs/nspr which may not
be available to the loader when installing to a custom $ROOT

Closes: https://bugs.gentoo.org/954224
Signed-off-by: whoisxy <whoisxy <AT> users.noreply.github.com>
Closes: https://github.com/gentoo/gentoo/pull/41790
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 dev-libs/nss/nss-3.101.2.ebuild | 16 +++++++++++++++-
 dev-libs/nss/nss-3.101.3.ebuild | 14 ++++++++++++++
 dev-libs/nss/nss-3.110.ebuild   | 14 ++++++++++++++
 3 files changed, 43 insertions(+), 1 deletion(-)

diff --git a/dev-libs/nss/nss-3.101.2.ebuild b/dev-libs/nss/nss-3.101.2.ebuild
index d9a31b93cc12..a984fcb1b70e 100644
--- a/dev-libs/nss/nss-3.101.2.ebuild
+++ b/dev-libs/nss/nss-3.101.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -395,6 +395,20 @@ multilib_src_install() {
 }
 
 pkg_postinst() {
+       if [[ -n "${ROOT}" ]]; then
+               elog "You appear to to be installing in a seperate \$ROOT"
+               elog "to complete the setup and re-sign libraries please run:"
+               elog "emerge --config '=${CATEGORY}/${PF}'"
+       else
+               sign_libraries
+       fi
+}
+
+pkg_config() {
+       sign_libraries
+}
+
+sign_libraries() {
        multilib_pkg_postinst() {
                # We must re-sign the libraries AFTER they are stripped.
                local shlibsign="${EROOT}/usr/bin/shlibsign"

diff --git a/dev-libs/nss/nss-3.101.3.ebuild b/dev-libs/nss/nss-3.101.3.ebuild
index b503dd707478..f7cc2359e1bd 100644
--- a/dev-libs/nss/nss-3.101.3.ebuild
+++ b/dev-libs/nss/nss-3.101.3.ebuild
@@ -396,6 +396,20 @@ multilib_src_install() {
 }
 
 pkg_postinst() {
+       if [[ -n "${ROOT}" ]]; then
+               elog "You appear to to be installing in a seperate \$ROOT"
+               elog "to complete the setup and re-sign libraries please run:"
+               elog "emerge --config '=${CATEGORY}/${PF}'"
+       else
+               sign_libraries
+       fi
+}
+
+pkg_config() {
+       sign_libraries
+}
+
+sign_libraries() {
        multilib_pkg_postinst() {
                # We must re-sign the libraries AFTER they are stripped.
                local shlibsign="${EROOT}/usr/bin/shlibsign"

diff --git a/dev-libs/nss/nss-3.110.ebuild b/dev-libs/nss/nss-3.110.ebuild
index 08646b518be0..b70f8aef5c6c 100644
--- a/dev-libs/nss/nss-3.110.ebuild
+++ b/dev-libs/nss/nss-3.110.ebuild
@@ -406,6 +406,20 @@ multilib_src_install() {
 }
 
 pkg_postinst() {
+       if [[ -n "${ROOT}" ]]; then
+               elog "You appear to to be installing in a seperate \$ROOT"
+               elog "to complete the setup and re-sign libraries please run:"
+               elog "emerge --config '=${CATEGORY}/${PF}'"
+       else
+               sign_libraries
+       fi
+}
+
+pkg_config() {
+       sign_libraries
+}
+
+sign_libraries() {
        multilib_pkg_postinst() {
                # We must re-sign the libraries AFTER they are stripped.
                local shlibsign="${EROOT}/usr/bin/shlibsign"

Reply via email to