summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2021-07-27 22:33:15 +0200
committerAndreas K. Hüttel <dilfridge@gentoo.org>2021-07-27 22:33:15 +0200
commited0a52f68dbe4cb6c3a8c85e782a6abe9c30683f (patch)
tree0d30249e6f3b080a8612c977ef2bc4b40573f60b /sys-libs/glibc
parentsys-libs/glibc: Add workaround for the missing crypt.h problem (diff)
downloadgentoo-ed0a52f68dbe4cb6c3a8c85e782a6abe9c30683f.tar.gz
gentoo-ed0a52f68dbe4cb6c3a8c85e782a6abe9c30683f.tar.bz2
gentoo-ed0a52f68dbe4cb6c3a8c85e782a6abe9c30683f.zip
sys-libs/glibc: Add crypt.h fixes also here
Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
Diffstat (limited to 'sys-libs/glibc')
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index 107ec16a0ba7..99426d97e8cf 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -1510,9 +1510,10 @@ 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 has_version "${CATEGORY}/${PN}[crypt]"; then
+ if ! use crypt && has_version "${CATEGORY}/${PN}[crypt]"; then
PRESERVED_OLD_LIBCRYPT=1
preserve_old_lib /$(get_libdir)/libcrypt$(get_libname 1)
+ cp "${EROOT}"/usr/include/crypt.h "${T}"/crypt.h || die
else
PRESERVED_OLD_LIBCRYPT=0
fi
@@ -1548,5 +1549,10 @@ pkg_postinst() {
if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then
preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1)
+ cp "${T}"/crypt.h "${EROOT}"/usr/include/crypt.h || eerror "Error restoring crypt.h, please file a bug"
+ elog "Please ignore a possible later error message about a file collision involving"
+ elog "/usr/include/crypt.h. We need to preserve this file for the moment to keep"
+ elog "the upgrade working, but it also needs to be overwritten when"
+ elog "sys-libs/libxcrypt is installed. See bug 802210 for more details."
fi
}