commit:     161b4e469a0ef4ff533091bf8c820e0371f61f19
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 22 06:07:07 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 22 06:10:39 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=161b4e46

dev-libs/openssl: use preserve-libs.eclass

coreutils[openssl] will make e.g. sort use openssl for acceleration. For
users with FEATURES="-preserve-libs" (non-default, pretty rare), we need to
use preserve-libs.eclass to force preservation as it'll result in a bricked
system otherwise.

Reported on the forums at https://forums.gentoo.org/viewtopic-t-1163916.html 
too.

If you've hit this:
* you'll likely need to use a rescue environment to install a binary package
  of coreutils built without openssl, or downgrade openssl instead.

  See https://wiki.gentoo.org/wiki/Fix_my_Gentoo.

* you may want to (although it's not required) set FEATURES="preserved-libs"
  in make.conf.

Bug: https://bugs.gentoo.org/908746
Bug: https://bugs.gentoo.org/908849
Fixes: 842c8893492294933fc5527af41c3c9ab16d0efd
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../openssl/{openssl-3.0.9.ebuild => openssl-3.0.9-r1.ebuild}    | 9 ++++++++-
 .../openssl/{openssl-3.1.1.ebuild => openssl-3.1.1-r1.ebuild}    | 9 ++++++++-
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/dev-libs/openssl/openssl-3.0.9.ebuild 
b/dev-libs/openssl/openssl-3.0.9-r1.ebuild
similarity index 95%
rename from dev-libs/openssl/openssl-3.0.9.ebuild
rename to dev-libs/openssl/openssl-3.0.9-r1.ebuild
index ee26cdf431c1..05076efcb217 100644
--- a/dev-libs/openssl/openssl-3.0.9.ebuild
+++ b/dev-libs/openssl/openssl-3.0.9-r1.ebuild
@@ -4,7 +4,8 @@
 EAPI=8
 
 VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/openssl.org.asc
-inherit edo flag-o-matic linux-info toolchain-funcs multilib-minimal 
multiprocessing verify-sig
+inherit edo flag-o-matic linux-info toolchain-funcs
+inherit multilib multilib-minimal multiprocessing preserve-libs verify-sig
 
 DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer 
Security (TLS)"
 HOMEPAGE="https://www.openssl.org/";
@@ -264,10 +265,16 @@ pkg_preinst() {
                        -module "${ED}/usr/$(get_libdir)/ossl-modules/fips.so"
                eend $?
        fi
+
+       preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+               /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
 }
 
 pkg_postinst() {
        ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to 
rebuild hashes (bug #333069)"
        openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
        eend $?
+
+       preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 
1) \
+               /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
 }

diff --git a/dev-libs/openssl/openssl-3.1.1.ebuild 
b/dev-libs/openssl/openssl-3.1.1-r1.ebuild
similarity index 95%
rename from dev-libs/openssl/openssl-3.1.1.ebuild
rename to dev-libs/openssl/openssl-3.1.1-r1.ebuild
index 66fb41062dec..a8e1fa9a6549 100644
--- a/dev-libs/openssl/openssl-3.1.1.ebuild
+++ b/dev-libs/openssl/openssl-3.1.1-r1.ebuild
@@ -4,7 +4,8 @@
 EAPI=8
 
 VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/openssl.org.asc
-inherit edo flag-o-matic linux-info toolchain-funcs multilib-minimal 
multiprocessing verify-sig
+inherit edo flag-o-matic linux-info toolchain-funcs
+inherit multilib multilib-minimal multiprocessing preserve-libs verify-sig
 
 DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer 
Security (TLS)"
 HOMEPAGE="https://www.openssl.org/";
@@ -267,10 +268,16 @@ pkg_preinst() {
                        -module "${ED}/usr/$(get_libdir)/ossl-modules/fips.so"
                eend $?
        fi
+
+       preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+               /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
 }
 
 pkg_postinst() {
        ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to 
rebuild hashes (bug #333069)"
        openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
        eend $?
+
+       preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 
1) \
+               /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
 }

Reply via email to