Hello community,

here is the log from the commit of package perl for openSUSE:Factory checked in 
at 2019-02-08 12:08:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl (Old)
 and      /work/SRC/openSUSE:Factory/.perl.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl"

Fri Feb  8 12:08:10 2019 rev:111 rq:670560 version:5.28.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl/perl.changes        2018-12-19 
13:29:22.424934635 +0100
+++ /work/SRC/openSUSE:Factory/.perl.new.28833/perl.changes     2019-02-08 
12:08:28.265580254 +0100
@@ -1,0 +2,6 @@
+Wed Jan 23 23:01:19 UTC 2019 - Bernhard Wiedemann <bwiedem...@suse.com>
+
+- Add perl-fix2020.patch to fix timelocal calls in 2020 (boo#1102840)
+- Add perl-reproducible2.patch to make build reproducible in spite of ASLR
+
+-------------------------------------------------------------------

New:
----
  perl-fix2020.patch
  perl-reproducible2.patch

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

Other differences:
------------------
++++++ perl.spec ++++++
--- /var/tmp/diff_new_pack.FXU87h/_old  2019-02-08 12:08:34.453577931 +0100
+++ /var/tmp/diff_new_pack.FXU87h/_new  2019-02-08 12:08:34.457577929 +0100
@@ -47,6 +47,10 @@
 Patch14:        posix-sigaction.patch
 Patch15:        perl-gdbm-test-no-mmap.diff
 Patch16:        perl-revert-caretx.diff
+# PATCH-FIX-UPSTREAM unmerged
+Patch17:        perl-fix2020.patch
+# PATCH-FIX-UPSTREAM unmerged 
https://www.nntp.perl.org/group/perl.perl5.porters/2018/12/msg253240.html
+Patch18:        perl-reproducible2.patch
 BuildRequires:  db-devel
 BuildRequires:  gdbm-devel
 BuildRequires:  libbz2-devel
@@ -181,6 +185,8 @@
 %patch14 -p1
 %patch15
 %patch16
+%patch17 -p1
+%patch18 -p1
 
 %build
 cp -a lib savelib

++++++ perl-fix2020.patch ++++++
submitted upstream

Author: Bernhard M. Wiedemann <bwiedemann suse de>
Date: 2018-03-18
Subject: fix calls of timelocal to work after 2019

because year 70 then starts to mean 2070

https://bugzilla.opensuse.org/show_bug.cgi?id=1102840 trackerbug: build fails 
at some time
https://rt.perl.org/Ticket/Display.html?id=132896 perl Net::NNTP 
https://rt.perl.org/Ticket/Display.html?id=132898 perl Net::FTP => 
https://rt.cpan.org/Public/Bug/Display.html?id=124534
https://rt.perl.org/Ticket/Display.html?id=132897 perl doc

Index: perl-5.26.1/cpan/Time-Local/t/Local.t
===================================================================
--- perl-5.26.1.orig/cpan/Time-Local/t/Local.t
+++ perl-5.26.1/cpan/Time-Local/t/Local.t
@@ -85,6 +85,7 @@ my $epoch_is_64
 
 for ( @time, @neg_time ) {
     my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_;
+    my $year_in = $year;
     $year -= 1900;
     $mon--;
 
@@ -96,7 +97,6 @@ SKIP: {
 
         # Test timelocal()
         {
-            my $year_in = $year < 70 ? $year + 1900 : $year;
             my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in );
 
             my ( $s, $m, $h, $D, $M, $Y ) = localtime($time);
@@ -111,7 +111,6 @@ SKIP: {
 
         # Test timegm()
         {
-            my $year_in = $year < 70 ? $year + 1900 : $year;
             my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in );
 
             my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time);
@@ -128,7 +127,6 @@ SKIP: {
 
 for (@bad_time) {
     my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_;
-    $year -= 1900;
     $mon--;
 
     eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) };
@@ -138,19 +136,19 @@ for (@bad_time) {
 
 {
     is(
-        timelocal( 0, 0, 1, 1, 0, 90 ) - timelocal( 0, 0, 0, 1, 0, 90 ), 3600,
+        timelocal( 0, 0, 1, 1, 0, 1990 ) - timelocal( 0, 0, 0, 1, 0, 1990 ), 
3600,
         'one hour difference between two calls to timelocal'
     );
 
     is(
-        timelocal( 1, 2, 3, 1, 0, 100 ) - timelocal( 1, 2, 3, 31, 11, 99 ),
+        timelocal( 1, 2, 3, 1, 0, 2000 ) - timelocal( 1, 2, 3, 31, 11, 1999 ),
         24 * 3600,
         'one day difference between two calls to timelocal'
     );
 
     # Diff beween Jan 1, 1980 and Mar 1, 1980 = (31 + 29 = 60 days)
     is(
-        timegm( 0, 0, 0, 1, 2, 80 ) - timegm( 0, 0, 0, 1, 0, 80 ),
+        timegm( 0, 0, 0, 1, 2, 1980 ) - timegm( 0, 0, 0, 1, 0, 1980 ),
         60 * 24 * 3600,
         '60 day difference between two calls to timegm'
     );
Index: perl-5.26.1/cpan/libnet/lib/Net/FTP.pm
===================================================================
--- perl-5.26.1.orig/cpan/libnet/lib/Net/FTP.pm
+++ perl-5.26.1/cpan/libnet/lib/Net/FTP.pm
@@ -264,7 +264,7 @@ sub mdtm {
 
   $ftp->_MDTM($file)
     && $ftp->message =~ /((\d\d)(\d\d\d?))(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)/
-    ? timegm($8, $7, $6, $5, $4 - 1, $2 eq '19' ? $3 : ($1 - 1900))
+    ? timegm($8, $7, $6, $5, $4 - 1, $2 eq '19' ? ($3 + 1900) : $1)
     : undef;
 }
 
Index: perl-5.26.1/cpan/libnet/lib/Net/NNTP.pm
===================================================================
--- perl-5.26.1.orig/cpan/libnet/lib/Net/NNTP.pm
+++ perl-5.26.1/cpan/libnet/lib/Net/NNTP.pm
@@ -598,7 +598,7 @@ sub date {
 
   $nntp->_DATE
     && $nntp->message =~ /(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)/
-    ? timegm($6, $5, $4, $3, $2 - 1, $1 - 1900)
+    ? timegm($6, $5, $4, $3, $2 - 1, $1)
     : undef;
 }
 
Index: perl-5.26.1/pod/perlport.pod
===================================================================
--- perl-5.26.1.orig/pod/perlport.pod
+++ perl-5.26.1/pod/perlport.pod
@@ -670,7 +670,7 @@ When calculating specific times, such as
 it may be appropriate to calculate an offset for the epoch.
 
     use Time::Local qw(timegm);
-    my $offset = timegm(0, 0, 0, 1, 0, 70);
+    my $offset = timegm(0, 0, 0, 1, 0, 1970);
 
 The value for C<$offset> in Unix will be C<0>, but in Mac OS Classic
 will be some large number.  C<$offset> can then be added to a Unix time
++++++ perl-reproducible2.patch ++++++
commit 3b3217087ecdc7a51bfeba5233e1a4612da9ea5b
Author: Bernhard M. Wiedemann <bwiedem...@suse.de>
Date:   Thu Dec 27 11:24:43 2018 +0100

    Avoid recursion depth variations across builds
    
    See https://reproducible-builds.org/ for why this is good.
    
    Variations are likely coming from ASLR.
    
    On an openSUSE Linux system, this changed
    $Storable::recursion_limit
    from varying between 14265 and 14267 to a constant 14256
    
    There could be a chance for remaining variations.
    
    ---
    Better fixes welcome.

Index: perl-5.28.1/dist/Storable/stacksize
===================================================================
--- perl-5.28.1.orig/dist/Storable/stacksize
+++ perl-5.28.1/dist/Storable/stacksize
@@ -198,8 +198,8 @@ my $max_depth_hash = $n;
 # be fairly aggressive in trimming this, smoke testing showed several
 # several apparently random failures here, eg. working in one
 # configuration, but not in a very similar configuration.
-$max_depth = int(0.6 * $max_depth);
-$max_depth_hash = int(0.6 * $max_depth);
+$max_depth = int(0.6 * $max_depth) & ~31;
+$max_depth_hash = int(0.6 * $max_depth) & ~31;
 
 my $stack_reserve = $^O eq "MSWin32" ? 32 : 16;
 if ($] ge "5.016" && !($^O eq "cygwin" && $ptrsize == 8)) {


Reply via email to