[packages/perl] - upstream fixes for gdbm breakage, rel 1
baggins
baggins at pld-linux.org
Sat Feb 26 20:01:09 CET 2022
commit 45a5f0762e80afd19c35a8f2204aa10de5d5f358
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Sat Feb 26 20:00:46 2022 +0100
- upstream fixes for gdbm breakage, rel 1
...le-to-compile-with-version-1.20-and-earli.patch | 40 ++++++++++++++++++++++
...ion-of-ITEM_NOT_FOUND-for-pre-1.13-versio.patch | 32 +++++++++++++++++
...sion-number-in-ext-GDBM_File-GDBM_File.pm.patch | 25 ++++++++++++++
perl-modules | 2 +-
perl.spec | 6 ++++
5 files changed, 104 insertions(+), 1 deletion(-)
---
diff --git a/perl.spec b/perl.spec
index ec3de7e..300424e 100644
--- a/perl.spec
+++ b/perl.spec
@@ -91,6 +91,9 @@ Patch6: %{name}-write-permissions.patch
Patch7: %{name}-t-syslog.patch
Patch8: %{name}-Destroy-GDBM-NDBM-ODBM-SDBM-_File-objects.patch
Patch10: %{name}-invalid-void-use.patch
+Patch11: Fix-GDBM_File-to-compile-with-version-1.20-and-earli.patch
+Patch12: Raise-version-number-in-ext-GDBM_File-GDBM_File.pm.patch
+Patch13: Fix-definition-of-ITEM_NOT_FOUND-for-pre-1.13-versio.patch
URL: http://dev.perl.org/perl5/
%ifarch ppc
# gcc 3.3.x miscompiles pp_hot.c
@@ -729,6 +732,9 @@ zbyt duża, a rozmiar za mały na tworzenie oddzielnych rozszerzeń.
%patch7 -p1
%patch8 -p1
%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
cat > runperl <<'EOF'
#!/bin/sh
diff --git a/Fix-GDBM_File-to-compile-with-version-1.20-and-earli.patch b/Fix-GDBM_File-to-compile-with-version-1.20-and-earli.patch
new file mode 100644
index 0000000..6157add
--- /dev/null
+++ b/Fix-GDBM_File-to-compile-with-version-1.20-and-earli.patch
@@ -0,0 +1,40 @@
+From aacd2398e766500cb5d83c4d76b642fcf31d997a Mon Sep 17 00:00:00 2001
+From: Sergey Poznyakoff <gray at gnu.org>
+Date: Wed, 23 Jun 2021 10:26:50 +0300
+Subject: [PATCH 1/3] Fix GDBM_File to compile with version 1.20 and earlier
+
+* ext/GDBM_File/GDBM_File.xs (ITEM_NOT_FOUND): Define conditionally,
+depending on the GDBM_VERSION_MAJOR and GDBM_VERSION_MINOR.
+Don't assume GDBM_ITEM_NOT_FOUND is a define (it isn't since
+gdbm commit d3e27957).
+---
+ ext/GDBM_File/GDBM_File.xs | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/ext/GDBM_File/GDBM_File.xs b/ext/GDBM_File/GDBM_File.xs
+index cd0bb6f26f..494c2889ca 100644
+--- a/ext/GDBM_File/GDBM_File.xs
++++ b/ext/GDBM_File/GDBM_File.xs
+@@ -145,14 +145,13 @@ output_datum(pTHX_ SV *arg, char *str, int size)
+ #define gdbm_setopt(db,optflag,optval,optlen) not_here("gdbm_setopt")
+ #endif
+
+-#ifndef GDBM_ITEM_NOT_FOUND
+-# define GDBM_ITEM_NOT_FOUND GDBM_NO_ERROR
+-#endif
+-
++#if GDBM_VERSION_MAJOR == 1 && GDBM_VERSION_MINOR < 13
+ /* Prior to 1.13, gdbm_fetch family functions set gdbm_errno to GDBM_NO_ERROR
+ if the requested key did not exist */
+-#define ITEM_NOT_FOUND() \
+- (gdbm_errno == GDBM_ITEM_NOT_FOUND || gdbm_errno == GDBM_NO_ERROR)
++# define ITEM_NOT_FOUND() (gdbm_errno == GDBM_NO_ERROR)
++#else
++# define ITEM_NOT_FOUND() (gdbm_errno == GDBM_ITEM_NOT_FOUND)
++#endif
+
+ #define CHECKDB(db) do { \
+ if (!db->dbp) { \
+--
+2.31.1
+
diff --git a/Fix-definition-of-ITEM_NOT_FOUND-for-pre-1.13-versio.patch b/Fix-definition-of-ITEM_NOT_FOUND-for-pre-1.13-versio.patch
new file mode 100644
index 0000000..cc0d4de
--- /dev/null
+++ b/Fix-definition-of-ITEM_NOT_FOUND-for-pre-1.13-versio.patch
@@ -0,0 +1,32 @@
+From 5bc1e5fdd87aa205011512cd1e6cc655bcf677fd Mon Sep 17 00:00:00 2001
+From: Sergey Poznyakoff <gray at gnu.org>
+Date: Wed, 23 Jun 2021 15:31:42 +0300
+Subject: [PATCH 3/3] Fix definition of ITEM_NOT_FOUND for pre-1.13 versions.
+
+---
+ ext/GDBM_File/GDBM_File.xs | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/ext/GDBM_File/GDBM_File.xs b/ext/GDBM_File/GDBM_File.xs
+index 494c2889ca..0125b5dcac 100644
+--- a/ext/GDBM_File/GDBM_File.xs
++++ b/ext/GDBM_File/GDBM_File.xs
+@@ -145,10 +145,11 @@ output_datum(pTHX_ SV *arg, char *str, int size)
+ #define gdbm_setopt(db,optflag,optval,optlen) not_here("gdbm_setopt")
+ #endif
+
+-#if GDBM_VERSION_MAJOR == 1 && GDBM_VERSION_MINOR < 13
+-/* Prior to 1.13, gdbm_fetch family functions set gdbm_errno to GDBM_NO_ERROR
+- if the requested key did not exist */
+-# define ITEM_NOT_FOUND() (gdbm_errno == GDBM_NO_ERROR)
++#if GDBM_VERSION_MAJOR == 1 && GDBM_VERSION_MINOR < 13
++/* Prior to 1.13, only gdbm_fetch set GDBM_ITEM_NOT_FOUND if the requested
++ key did not exist. Other similar functions would set GDBM_NO_ERROR instead.
++ The GDBM_ITEM_NOT_FOUND existed as early as in 1.7.3 */
++# define ITEM_NOT_FOUND() (gdbm_errno == GDBM_NO_ERROR || gdbm_errno == GDBM_ITEM_NOT_FOUND)
+ #else
+ # define ITEM_NOT_FOUND() (gdbm_errno == GDBM_ITEM_NOT_FOUND)
+ #endif
+--
+2.31.1
+
diff --git a/Raise-version-number-in-ext-GDBM_File-GDBM_File.pm.patch b/Raise-version-number-in-ext-GDBM_File-GDBM_File.pm.patch
new file mode 100644
index 0000000..4013a14
--- /dev/null
+++ b/Raise-version-number-in-ext-GDBM_File-GDBM_File.pm.patch
@@ -0,0 +1,25 @@
+From ea57297a58b8f10ab885c19eec48ea076116cc1f Mon Sep 17 00:00:00 2001
+From: Sergey Poznyakoff <gray at gnu.org>
+Date: Wed, 23 Jun 2021 14:24:47 +0300
+Subject: [PATCH 2/3] Raise version number in ext/GDBM_File/GDBM_File.pm
+
+---
+ ext/GDBM_File/GDBM_File.pm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ext/GDBM_File/GDBM_File.pm b/ext/GDBM_File/GDBM_File.pm
+index d837536f80..cb08d091b8 100644
+--- a/ext/GDBM_File/GDBM_File.pm
++++ b/ext/GDBM_File/GDBM_File.pm
+@@ -363,7 +363,7 @@ require XSLoader;
+ );
+
+ # This module isn't dual life, so no need for dev version numbers.
+-$VERSION = '1.19';
++$VERSION = '1.20';
+
+ XSLoader::load();
+
+--
+2.31.1
+
diff --git a/perl-modules b/perl-modules
index e0e5100..498770d 100644
--- a/perl-modules
+++ b/perl-modules
@@ -24,7 +24,7 @@ File::Compare = 1.1006
File::Temp = 0.2311
Filter::Simple = 0.96
FindBin = 1.52
-GDBM_File = 1.19
+GDBM_File = 1.20
Getopt::Long = 2.52
Hash::Util = 0.25
I18N::LangTags = 0.45
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/perl.git/commitdiff/45a5f0762e80afd19c35a8f2204aa10de5d5f358
More information about the pld-cvs-commit
mailing list