diff --git a/perl-5.26.1-guard_old_libcrypt_fix.patch b/perl-5.26.1-guard_old_libcrypt_fix.patch new file mode 100644 index 0000000..2d34cfe --- /dev/null +++ b/perl-5.26.1-guard_old_libcrypt_fix.patch @@ -0,0 +1,24 @@ +commit 13e70b397dcb0d1bf4a869b670f041c1d7b730d0 +Author: Björn Esser +Date: Sat Jan 20 20:22:53 2018 +0100 + + pp: Guard fix for really old bug in glibc libcrypt + +diff --git a/pp.c b/pp.c +index d50ad7ddbf..6510c7b15c 100644 +--- a/pp.c ++++ b/pp.c +@@ -3650,8 +3650,12 @@ PP(pp_crypt) + #if defined(__GLIBC__) || defined(__EMX__) + if (PL_reentrant_buffer->_crypt_struct_buffer) { + PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; +- /* work around glibc-2.2.5 bug */ ++#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ ++ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) ++ /* work around glibc-2.2.5 bug, has been fixed at some ++ * time in glibc-2.3.X */ + PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; ++#endif + } + #endif + } diff --git a/perl.spec b/perl.spec index db02518..1bb6a1c 100644 --- a/perl.spec +++ b/perl.spec @@ -79,7 +79,7 @@ License: GPL+ or Artistic Epoch: %{perl_epoch} Version: %{perl_version} # release number must be even higher, because dual-lived modules will be broken otherwise -Release: 403%{?dist} +Release: 404%{?dist} Summary: Practical Extraction and Report Language Url: http://www.perl.org/ Source0: http://www.cpan.org/src/5.0/perl-%{perl_version}.tar.bz2 @@ -263,6 +263,10 @@ Patch200: perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li # Link XS modules to libperl.so with EU::MM on Linux, bug #960048 Patch201: perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-MM-on-Linux.patch +# Conditionalize a fix for an old and long fixed bug +# in libcrypt / glibc, rhbz#1536752 +Patch202: perl-5.26.1-guard_old_libcrypt_fix.patch + # Update some of the bundled modules # see http://fedoraproject.org/wiki/Perl/perl.spec for instructions @@ -2851,6 +2855,7 @@ Perl extension for Version Objects %patch77 -p1 %patch200 -p1 %patch201 -p1 +%patch202 -p1 %if !%{defined perl_bootstrap} # Local patch tracking @@ -5180,6 +5185,10 @@ popd # Old changelog entries are preserved in CVS. %changelog +* Sat Jan 20 2018 Björn Esser - 4:5.26.1-404 +- Add patch to conditionalize a fix for an old and long fixed bug + in libcrypt / glibc (rhbz#1536752) + * Mon Jan 15 2018 Petr Pisar - 4:5.26.1-403 - Rebuild against glibc without nsl library