Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-Curses for openSUSE:Factory 
checked in at 2022-08-16 17:58:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Curses (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Curses.new.1521 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Curses"

Tue Aug 16 17:58:06 2022 rev:31 rq:997396 version:1.39

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Curses/perl-Curses.changes  2021-08-03 
22:49:22.316451189 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Curses.new.1521/perl-Curses.changes        
2022-08-16 17:58:07.754926843 +0200
@@ -1,0 +2,13 @@
+Sat Aug 13 03:08:14 UTC 2022 - Tina M??ller <[email protected]>
+
+- updated to 1.39
+   see /usr/share/doc/packages/perl-Curses/HISTORY
+
+  New in 1.39 (Released August 12, 2022)
+
+    Add #include <stdbool.h> to top of Curses.c to fix a conflict between the
+    Curses header files and Perl header files that causes a "loadable library
+    and perl binaries are mismatched" / handshake key failure when you try to
+    load the Perl module.
+
+-------------------------------------------------------------------

Old:
----
  Curses-1.38.tar.gz

New:
----
  Curses-1.39.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Curses.spec ++++++
--- /var/tmp/diff_new_pack.gJC9IX/_old  2022-08-16 17:58:08.402926559 +0200
+++ /var/tmp/diff_new_pack.gJC9IX/_new  2022-08-16 17:58:08.410926556 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Curses
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,11 +18,10 @@
 
 %define cpan_name Curses
 Name:           perl-Curses
-Version:        1.38
+Version:        1.39
 Release:        0
-%define cpan_name Curses
-Summary:        Terminal screen handling and optimization
 License:        Artistic-1.0 OR GPL-1.0-or-later
+Summary:        Terminal screen handling and optimization
 URL:            https://metacpan.org/release/%{cpan_name}
 Source0:        
https://cpan.metacpan.org/authors/id/G/GI/GIRAFFED/%{cpan_name}-%{version}.tar.gz
 Source1:        cpanspec.yml
@@ -44,11 +43,11 @@
 %prep
 %autosetup -n %{cpan_name}-%{version}
 find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path 
"*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644
-
-# Fix perl script interpreters
+# MANUAL BEGIN
 sed -i '1s|../../perl|%{__perl}|' test.syms
 sed -i '1s| /usr//bin/perl|%{__perl}|' demo.form
 sed -i '1s| /usr/bin/perl|%{__perl}|' demo* gdc
+# MANUAL END
 
 %build
 export CURSES_CFLAGS="-I/usr/include/ncurses5/ncursesw"
@@ -65,7 +64,6 @@
 %perl_gen_filelist
 
 %files -f %{name}.files
-%defattr(-,root,root,755)
 %doc demo demo2 demo.form demo.menu demo.panel gdc gen.tar HISTORY list.syms 
MAINTENANCE README testcurses test.syms
 %license Artistic Copying
 

++++++ Curses-1.38.tar.gz -> Curses-1.39.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Curses-1.38/Curses.c new/Curses-1.39/Curses.c
--- old/Curses-1.38/Curses.c    2021-07-21 02:55:33.000000000 +0200
+++ new/Curses-1.39/Curses.c    2022-08-05 04:40:25.000000000 +0200
@@ -8,6 +8,12 @@
 
 #define _XOPEN_SOURCE_EXTENDED 1  /* We expect wide character functions */
 
+#include <stdbool.h>
+   /* We don't use 'bool', but Curses header files sometimes define
+      it in a way that breaks <perl.h>, when it is subsequently included,
+      and having bool already defined seems to stop Curses header files from
+      doing that.  See further discussion of 'bool' below.
+   */
 #include "CursesDef.h"
 #include "CursesTyp.h"
 #include "c-config.h"
@@ -26,19 +32,30 @@
    We'll probably have to add to this list; maybe someday we should
    just undef them all, since we don't use them.
 
-   "bool" is another, and is more problematic.  Sometimes, ncurses.h
-   defines that explicitly and that's bad, but sometimes it does it
-   by including <stdbool.h>, and that's fine.  In the former case,
-   we should undefine it now, but in the latter we can't, because then
-   a subsequent #include <stdbool.h> (by something we #include below)
-   won't define bool because stdbool.h has already been included.
-
-   We're going to leave bool alone now and wait for someone to report
-   that it breaks something.  With a real example, we can then plan how
-   to work around this unfortunate ncurses.h behavior.  We once had a
-   #undef bool.h in the Mac OSX hints file, so someone presumably found
-   it necessary.  But we have also had a Mac OSX system on which compile
-   failed _because_ of that undef, for the reason described above.
+   "bool" is another, and is more problematic.  Sometimes, ncurses.h defines
+   that explicitly and that's bad, but sometimes it does it by including
+   <stdbool.h>, and that's fine.  In the former case, we should undefine it
+   now, but in the latter we can't, because then a subsequent #include
+   <stdbool.h> (by something we #include below) won't define bool because
+   stdbool.h has already been included.  We once had a #undef bool in the Mac
+   OSX hints file, so someone presumably found it necessary.  But we have also
+   had a Mac OSX system on which compile failed _because_ of that undef, for
+   the reason described above.
+
+   We also saw (AIX, August 2022) curses.h define bool in such a way that
+   the subsquently included <perl.h> defined its interface structure with
+   the Perl core using the wrong size for bool.  Fortunately, the Perl
+   interface catches that in its "handshake" to negotiate the interface
+   and refuses to run, with an error message like
+
+     loadable library and perl binaries are mismatched (got 0xd800000, needed
+     0xd700000)" or "(got handshake key 8d00080, needed 8700080)
+
+   (Note the misnomer: "loadable library" means Curses.so)
+
+   When we include <stdbool.h> here, that AIX problem ceases to exist --
+   <curses.h> apparently sees that bool is already defined and does not
+   define it itself.
  */
 
 #undef instr
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Curses-1.38/Curses.pm new/Curses-1.39/Curses.pm
--- old/Curses-1.38/Curses.pm   2021-07-21 03:00:23.000000000 +0200
+++ new/Curses-1.39/Curses.pm   2022-08-05 04:43:50.000000000 +0200
@@ -51,7 +51,7 @@
 
 package Curses;
 
-$VERSION = '1.38'; # Makefile.PL picks this up
+$VERSION = '1.39'; # Makefile.PL picks this up
 
 use Carp;
 require Exporter;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Curses-1.38/HISTORY new/Curses-1.39/HISTORY
--- old/Curses-1.38/HISTORY     2021-07-26 05:22:05.000000000 +0200
+++ new/Curses-1.39/HISTORY     2022-08-12 01:33:58.000000000 +0200
@@ -11,6 +11,13 @@
 Curses itself is much older than the Perl implementation.  Curses was
 originally only a C programming library.
 
+New in 1.39 (Released August 12, 2022)
+
+  Add #include <stdbool.h> to top of Curses.c to fix a conflict between the
+  Curses header files and Perl header files that causes a "loadable library
+  and perl binaries are mismatched" / handshake key failure when you try to
+  load the Perl module.
+
 New in 1.38 (Released July 26, 2021)
 
   Fix compilation failure with some compilers, including AIX's because
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Curses-1.38/META.json new/Curses-1.39/META.json
--- old/Curses-1.38/META.json   2021-07-26 05:22:50.000000000 +0200
+++ new/Curses-1.39/META.json   2022-08-12 01:38:31.000000000 +0200
@@ -4,7 +4,7 @@
       "unknown"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter 
version 2.150010",
+   "generated_by" : "ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter 
version 2.150010",
    "license" : [
       "unknown"
    ],
@@ -32,6 +32,6 @@
       }
    },
    "release_status" : "stable",
-   "version" : "1.38",
-   "x_serialization_backend" : "JSON::PP version 2.97001"
+   "version" : "1.39",
+   "x_serialization_backend" : "JSON::PP version 4.04"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Curses-1.38/META.yml new/Curses-1.39/META.yml
--- old/Curses-1.38/META.yml    2021-07-26 05:22:50.000000000 +0200
+++ new/Curses-1.39/META.yml    2022-08-12 01:38:30.000000000 +0200
@@ -7,7 +7,7 @@
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 
2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 
2.150010'
 license: unknown
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -17,5 +17,5 @@
   directory:
     - t
     - inc
-version: '1.38'
+version: '1.39'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'

Reply via email to