[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