summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2021-11-05 13:34:01 -0400
committerSam James <sam@gentoo.org>2021-11-06 02:35:11 +0000
commitf10efb4adc6e0266f0c0b1995c0ff01aa8e9cf28 (patch)
treee678db59791e2bdfa3ad8ed11f65c6677ef524d6 /sys-libs
parentsys-libs/pam: drop usrscript (diff)
downloadgentoo-f10efb4adc6e0266f0c0b1995c0ff01aa8e9cf28.tar.gz
gentoo-f10efb4adc6e0266f0c0b1995c0ff01aa8e9cf28.tar.bz2
gentoo-f10efb4adc6e0266f0c0b1995c0ff01aa8e9cf28.zip
sys-libs/glibc: preserve libcrypt.so.1 as an orphan
This should help users who have FEATURES="-preserve-libs protect-owned". Signed-off-by: Mike Gilbert <floppym@gentoo.org> Bug: https://bugs.gentoo.org/809410 Closes: https://github.com/gentoo/gentoo/pull/22833 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/glibc/glibc-2.33-r7.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.34.ebuild5
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild5
3 files changed, 9 insertions, 6 deletions
diff --git a/sys-libs/glibc/glibc-2.33-r7.ebuild b/sys-libs/glibc/glibc-2.33-r7.ebuild
index 1f78af9e6948..cb9826d7be2b 100644
--- a/sys-libs/glibc/glibc-2.33-r7.ebuild
+++ b/sys-libs/glibc/glibc-2.33-r7.ebuild
@@ -1503,9 +1503,9 @@ pkg_preinst() {
# Keep around libcrypt so that Perl doesn't break when merging libxcrypt
# (libxcrypt is the new provider for now of libcrypt.so.{1,2}).
# bug #802207
- if ! use crypt && has_version "${CATEGORY}/${PN}[crypt]"; then
+ if ! use crypt && has_version "${CATEGORY}/${PN}[crypt]" && ! has preserve-libs ${FEATURES}; then
PRESERVED_OLD_LIBCRYPT=1
- preserve_old_lib /$(get_libdir)/libcrypt$(get_libname 1)
+ cp -p "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" "${T}/libcrypt$(get_libname 1)" || die
else
PRESERVED_OLD_LIBCRYPT=0
fi
@@ -1540,6 +1540,7 @@ pkg_postinst() {
fi
if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then
+ cp -p "${T}/libcrypt$(get_libname 1)" "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" || die
preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1)
elog "Please ignore a possible later error message about a file collision involving"
diff --git a/sys-libs/glibc/glibc-2.34.ebuild b/sys-libs/glibc/glibc-2.34.ebuild
index e98c13cc390b..a553af442168 100644
--- a/sys-libs/glibc/glibc-2.34.ebuild
+++ b/sys-libs/glibc/glibc-2.34.ebuild
@@ -1516,9 +1516,9 @@ pkg_preinst() {
# Keep around libcrypt so that Perl doesn't break when merging libxcrypt
# (libxcrypt is the new provider for now of libcrypt.so.{1,2}).
# bug #802207
- if ! use crypt && has_version "${CATEGORY}/${PN}[crypt]"; then
+ if ! use crypt && has_version "${CATEGORY}/${PN}[crypt]" && ! has preserve-libs ${FEATURES}; then
PRESERVED_OLD_LIBCRYPT=1
- preserve_old_lib /$(get_libdir)/libcrypt$(get_libname 1)
+ cp -p "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" "${T}/libcrypt$(get_libname 1)" || die
else
PRESERVED_OLD_LIBCRYPT=0
fi
@@ -1553,6 +1553,7 @@ pkg_postinst() {
fi
if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then
+ cp -p "${T}/libcrypt$(get_libname 1)" "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" || die
preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1)
elog "Please ignore a possible later error message about a file collision involving"
diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index c1752e4d398d..b08e07445f50 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -1516,9 +1516,9 @@ pkg_preinst() {
# Keep around libcrypt so that Perl doesn't break when merging libxcrypt
# (libxcrypt is the new provider for now of libcrypt.so.{1,2}).
# bug #802207
- if ! use crypt && has_version "${CATEGORY}/${PN}[crypt]"; then
+ if ! use crypt && has_version "${CATEGORY}/${PN}[crypt]" && ! has preserve-libs ${FEATURES}; then
PRESERVED_OLD_LIBCRYPT=1
- preserve_old_lib /$(get_libdir)/libcrypt$(get_libname 1)
+ cp -p "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" "${T}/libcrypt$(get_libname 1)" || die
else
PRESERVED_OLD_LIBCRYPT=0
fi
@@ -1553,6 +1553,7 @@ pkg_postinst() {
fi
if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then
+ cp -p "${T}/libcrypt$(get_libname 1)" "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" || die
preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1)
elog "Please ignore a possible later error message about a file collision involving"