From 881b8c3329b46d0ea78f3695f1aee13786079667 Mon Sep 17 00:00:00 2001 From: "Zak B. Elep" Date: Thu, 18 Jul 2019 14:03:14 +0800 Subject: [PATCH] :gear: Regenerate/rename Dockerfiles and patches Generate new Debian buster Dockerfiles and patches for Perls 5.26 through 5.30, and rename existing files to the new directory structure. --- .../DevelPatchPerl.patch | 62 +++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 62 +++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 62 +++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 62 +++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 75 +++++++++++++++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 5.026.003-main,threaded-buster/Dockerfile | 29 +++++++ .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 5.026.003-main-buster/Dockerfile | 29 +++++++ .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 21 ++++++ 5.026.003-slim,threaded-buster/Dockerfile | 53 +++++++++++++ .../DevelPatchPerl.patch | 21 ++++++ .../Dockerfile | 0 5.026.003-slim-buster/DevelPatchPerl.patch | 21 ++++++ 5.026.003-slim-buster/Dockerfile | 53 +++++++++++++ 5.026.003-slim-stretch/DevelPatchPerl.patch | 21 ++++++ .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 5.028.002-main,threaded-buster/Dockerfile | 29 +++++++ .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 5.028.002-main-buster/Dockerfile | 29 +++++++ .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 5.028.002-slim,threaded-buster/Dockerfile | 53 +++++++++++++ .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 5.028.002-slim-buster/Dockerfile | 53 +++++++++++++ .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 5.030.000-main,threaded-buster/Dockerfile | 29 +++++++ .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 5.030.000-main-buster/DevelPatchPerl.patch | 0 5.030.000-main-buster/Dockerfile | 29 +++++++ 5.030.000-main-stretch/DevelPatchPerl.patch | 0 .../Dockerfile | 0 .../DevelPatchPerl.patch | 0 5.030.000-slim,threaded-buster/Dockerfile | 53 +++++++++++++ .../DevelPatchPerl.patch | 0 .../Dockerfile | 0 5.030.000-slim-buster/DevelPatchPerl.patch | 0 5.030.000-slim-buster/Dockerfile | 53 +++++++++++++ 5.030.000-slim-stretch/DevelPatchPerl.patch | 0 .../Dockerfile | 0 120 files changed, 2324 insertions(+) rename {5.008.009-main,threaded => 5.008.009-main,threaded-jessie}/DevelPatchPerl.patch (88%) rename {5.008.009-main,threaded => 5.008.009-main,threaded-jessie}/Dockerfile (100%) rename {5.008.009-main => 5.008.009-main-jessie}/DevelPatchPerl.patch (88%) rename {5.008.009-main => 5.008.009-main-jessie}/Dockerfile (100%) rename {5.008.009-slim,threaded => 5.008.009-slim,threaded-jessie}/DevelPatchPerl.patch (88%) rename {5.008.009-slim,threaded => 5.008.009-slim,threaded-jessie}/Dockerfile (100%) rename {5.008.009-slim => 5.008.009-slim-jessie}/DevelPatchPerl.patch (88%) rename {5.008.009-slim => 5.008.009-slim-jessie}/Dockerfile (100%) rename {5.010.001-main,threaded => 5.010.001-main,threaded-jessie}/DevelPatchPerl.patch (88%) rename {5.010.001-main,threaded => 5.010.001-main,threaded-jessie}/Dockerfile (100%) rename {5.010.001-main => 5.010.001-main-jessie}/DevelPatchPerl.patch (88%) rename {5.010.001-main => 5.010.001-main-jessie}/Dockerfile (100%) rename {5.010.001-slim,threaded => 5.010.001-slim,threaded-jessie}/DevelPatchPerl.patch (88%) rename {5.010.001-slim,threaded => 5.010.001-slim,threaded-jessie}/Dockerfile (100%) rename {5.010.001-slim => 5.010.001-slim-jessie}/DevelPatchPerl.patch (88%) rename {5.010.001-slim => 5.010.001-slim-jessie}/Dockerfile (100%) rename {5.012.005-main,threaded => 5.012.005-main,threaded-jessie}/DevelPatchPerl.patch (87%) rename {5.012.005-main,threaded => 5.012.005-main,threaded-jessie}/Dockerfile (100%) rename {5.012.005-main => 5.012.005-main-jessie}/DevelPatchPerl.patch (87%) rename {5.012.005-main => 5.012.005-main-jessie}/Dockerfile (100%) rename {5.012.005-slim,threaded => 5.012.005-slim,threaded-jessie}/DevelPatchPerl.patch (87%) rename {5.012.005-slim,threaded => 5.012.005-slim,threaded-jessie}/Dockerfile (100%) rename {5.012.005-slim => 5.012.005-slim-jessie}/DevelPatchPerl.patch (87%) rename {5.012.005-slim => 5.012.005-slim-jessie}/Dockerfile (100%) rename {5.014.004-main,threaded => 5.014.004-main,threaded-jessie}/DevelPatchPerl.patch (82%) rename {5.014.004-main,threaded => 5.014.004-main,threaded-jessie}/Dockerfile (100%) rename {5.014.004-main => 5.014.004-main-jessie}/DevelPatchPerl.patch (82%) rename {5.014.004-main => 5.014.004-main-jessie}/Dockerfile (100%) rename {5.014.004-slim,threaded => 5.014.004-slim,threaded-jessie}/DevelPatchPerl.patch (82%) rename {5.014.004-slim,threaded => 5.014.004-slim,threaded-jessie}/Dockerfile (100%) rename {5.014.004-slim => 5.014.004-slim-jessie}/DevelPatchPerl.patch (82%) rename {5.014.004-slim => 5.014.004-slim-jessie}/Dockerfile (100%) rename {5.016.003-main,threaded => 5.016.003-main,threaded-jessie}/DevelPatchPerl.patch (81%) rename {5.016.003-main,threaded => 5.016.003-main,threaded-jessie}/Dockerfile (100%) rename {5.016.003-main => 5.016.003-main-jessie}/DevelPatchPerl.patch (81%) rename {5.016.003-main => 5.016.003-main-jessie}/Dockerfile (100%) rename {5.016.003-slim,threaded => 5.016.003-slim,threaded-jessie}/DevelPatchPerl.patch (81%) rename {5.016.003-slim,threaded => 5.016.003-slim,threaded-jessie}/Dockerfile (100%) rename {5.016.003-slim => 5.016.003-slim-jessie}/DevelPatchPerl.patch (81%) rename {5.016.003-slim => 5.016.003-slim-jessie}/Dockerfile (100%) rename {5.018.004-main,threaded => 5.018.004-main,threaded-jessie}/DevelPatchPerl.patch (80%) rename {5.018.004-main,threaded => 5.018.004-main,threaded-jessie}/Dockerfile (100%) rename {5.018.004-main => 5.018.004-main-jessie}/DevelPatchPerl.patch (80%) rename {5.018.004-main => 5.018.004-main-jessie}/Dockerfile (100%) rename {5.018.004-slim,threaded => 5.018.004-slim,threaded-jessie}/DevelPatchPerl.patch (80%) rename {5.018.004-slim,threaded => 5.018.004-slim,threaded-jessie}/Dockerfile (100%) rename {5.018.004-slim => 5.018.004-slim-jessie}/DevelPatchPerl.patch (80%) rename {5.018.004-slim => 5.018.004-slim-jessie}/Dockerfile (100%) rename {5.020.003-main,threaded => 5.020.003-main,threaded-stretch}/DevelPatchPerl.patch (100%) rename {5.020.003-main,threaded => 5.020.003-main,threaded-stretch}/Dockerfile (100%) rename {5.020.003-main => 5.020.003-main-stretch}/DevelPatchPerl.patch (100%) rename {5.020.003-main => 5.020.003-main-stretch}/Dockerfile (100%) rename {5.020.003-slim,threaded => 5.020.003-slim,threaded-stretch}/DevelPatchPerl.patch (100%) rename {5.020.003-slim,threaded => 5.020.003-slim,threaded-stretch}/Dockerfile (100%) rename {5.020.003-slim => 5.020.003-slim-stretch}/DevelPatchPerl.patch (100%) rename {5.020.003-slim => 5.020.003-slim-stretch}/Dockerfile (100%) rename {5.022.004-main,threaded => 5.022.004-main,threaded-stretch}/DevelPatchPerl.patch (100%) rename {5.022.004-main,threaded => 5.022.004-main,threaded-stretch}/Dockerfile (100%) rename {5.022.004-main => 5.022.004-main-stretch}/DevelPatchPerl.patch (100%) rename {5.022.004-main => 5.022.004-main-stretch}/Dockerfile (100%) rename {5.022.004-slim,threaded => 5.022.004-slim,threaded-stretch}/DevelPatchPerl.patch (100%) rename {5.022.004-slim,threaded => 5.022.004-slim,threaded-stretch}/Dockerfile (100%) rename {5.022.004-slim => 5.022.004-slim-stretch}/DevelPatchPerl.patch (100%) rename {5.022.004-slim => 5.022.004-slim-stretch}/Dockerfile (100%) rename {5.024.004-main,threaded => 5.024.004-main,threaded-stretch}/DevelPatchPerl.patch (100%) rename {5.024.004-main,threaded => 5.024.004-main,threaded-stretch}/Dockerfile (100%) rename {5.024.004-main => 5.024.004-main-stretch}/DevelPatchPerl.patch (100%) rename {5.024.004-main => 5.024.004-main-stretch}/Dockerfile (100%) rename {5.024.004-slim,threaded => 5.024.004-slim,threaded-stretch}/DevelPatchPerl.patch (100%) rename {5.024.004-slim,threaded => 5.024.004-slim,threaded-stretch}/Dockerfile (100%) rename {5.024.004-slim => 5.024.004-slim-stretch}/DevelPatchPerl.patch (100%) rename {5.024.004-slim => 5.024.004-slim-stretch}/Dockerfile (100%) rename {5.026.003-main,threaded => 5.026.003-main,threaded-buster}/DevelPatchPerl.patch (100%) create mode 100644 5.026.003-main,threaded-buster/Dockerfile rename {5.026.003-main => 5.026.003-main,threaded-stretch}/DevelPatchPerl.patch (100%) rename {5.026.003-main,threaded => 5.026.003-main,threaded-stretch}/Dockerfile (100%) rename {5.026.003-slim,threaded => 5.026.003-main-buster}/DevelPatchPerl.patch (100%) create mode 100644 5.026.003-main-buster/Dockerfile rename {5.026.003-slim => 5.026.003-main-stretch}/DevelPatchPerl.patch (100%) rename {5.026.003-main => 5.026.003-main-stretch}/Dockerfile (100%) create mode 100644 5.026.003-slim,threaded-buster/DevelPatchPerl.patch create mode 100644 5.026.003-slim,threaded-buster/Dockerfile create mode 100644 5.026.003-slim,threaded-stretch/DevelPatchPerl.patch rename {5.026.003-slim,threaded => 5.026.003-slim,threaded-stretch}/Dockerfile (100%) create mode 100644 5.026.003-slim-buster/DevelPatchPerl.patch create mode 100644 5.026.003-slim-buster/Dockerfile create mode 100644 5.026.003-slim-stretch/DevelPatchPerl.patch rename {5.026.003-slim => 5.026.003-slim-stretch}/Dockerfile (100%) rename {5.028.002-main,threaded => 5.028.002-main,threaded-buster}/DevelPatchPerl.patch (100%) create mode 100644 5.028.002-main,threaded-buster/Dockerfile rename {5.028.002-main => 5.028.002-main,threaded-stretch}/DevelPatchPerl.patch (100%) rename {5.028.002-main,threaded => 5.028.002-main,threaded-stretch}/Dockerfile (100%) rename {5.028.002-slim,threaded => 5.028.002-main-buster}/DevelPatchPerl.patch (100%) create mode 100644 5.028.002-main-buster/Dockerfile rename {5.028.002-slim => 5.028.002-main-stretch}/DevelPatchPerl.patch (100%) rename {5.028.002-main => 5.028.002-main-stretch}/Dockerfile (100%) rename {5.030.000-main,threaded => 5.028.002-slim,threaded-buster}/DevelPatchPerl.patch (100%) create mode 100644 5.028.002-slim,threaded-buster/Dockerfile rename {5.030.000-main => 5.028.002-slim,threaded-stretch}/DevelPatchPerl.patch (100%) rename {5.028.002-slim,threaded => 5.028.002-slim,threaded-stretch}/Dockerfile (100%) rename {5.030.000-slim,threaded => 5.028.002-slim-buster}/DevelPatchPerl.patch (100%) create mode 100644 5.028.002-slim-buster/Dockerfile rename {5.030.000-slim => 5.028.002-slim-stretch}/DevelPatchPerl.patch (100%) rename {5.028.002-slim => 5.028.002-slim-stretch}/Dockerfile (100%) create mode 100644 5.030.000-main,threaded-buster/DevelPatchPerl.patch create mode 100644 5.030.000-main,threaded-buster/Dockerfile create mode 100644 5.030.000-main,threaded-stretch/DevelPatchPerl.patch rename {5.030.000-main,threaded => 5.030.000-main,threaded-stretch}/Dockerfile (100%) create mode 100644 5.030.000-main-buster/DevelPatchPerl.patch create mode 100644 5.030.000-main-buster/Dockerfile create mode 100644 5.030.000-main-stretch/DevelPatchPerl.patch rename {5.030.000-main => 5.030.000-main-stretch}/Dockerfile (100%) create mode 100644 5.030.000-slim,threaded-buster/DevelPatchPerl.patch create mode 100644 5.030.000-slim,threaded-buster/Dockerfile create mode 100644 5.030.000-slim,threaded-stretch/DevelPatchPerl.patch rename {5.030.000-slim,threaded => 5.030.000-slim,threaded-stretch}/Dockerfile (100%) create mode 100644 5.030.000-slim-buster/DevelPatchPerl.patch create mode 100644 5.030.000-slim-buster/Dockerfile create mode 100644 5.030.000-slim-stretch/DevelPatchPerl.patch rename {5.030.000-slim => 5.030.000-slim-stretch}/Dockerfile (100%) diff --git a/5.008.009-main,threaded/DevelPatchPerl.patch b/5.008.009-main,threaded-jessie/DevelPatchPerl.patch similarity index 88% rename from 5.008.009-main,threaded/DevelPatchPerl.patch rename to 5.008.009-main,threaded-jessie/DevelPatchPerl.patch index 1bdc576..bd42566 100644 --- a/5.008.009-main,threaded/DevelPatchPerl.patch +++ b/5.008.009-main,threaded-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index e746fe3..335e968 100755 +--- a/Configure ++++ b/Configure +@@ -4547,6 +4547,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index 6f20c5e..684f369 100644 --- a/ext/Errno/Errno_pm.PL @@ -536,3 +563,38 @@ index 9bde518..45eb782 100755 # if the hash has already been populated with a significant amount # of entries the number of mask bits can be higher my $keys = scalar keys %$hr; +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index a3ff285..4b54598 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -783,6 +783,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -800,6 +805,18 @@ sub build_preamble_if_necessary + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + print PREAMBLE + "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n"; diff --git a/5.008.009-main,threaded/Dockerfile b/5.008.009-main,threaded-jessie/Dockerfile similarity index 100% rename from 5.008.009-main,threaded/Dockerfile rename to 5.008.009-main,threaded-jessie/Dockerfile diff --git a/5.008.009-main/DevelPatchPerl.patch b/5.008.009-main-jessie/DevelPatchPerl.patch similarity index 88% rename from 5.008.009-main/DevelPatchPerl.patch rename to 5.008.009-main-jessie/DevelPatchPerl.patch index 1bdc576..bd42566 100644 --- a/5.008.009-main/DevelPatchPerl.patch +++ b/5.008.009-main-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index e746fe3..335e968 100755 +--- a/Configure ++++ b/Configure +@@ -4547,6 +4547,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index 6f20c5e..684f369 100644 --- a/ext/Errno/Errno_pm.PL @@ -536,3 +563,38 @@ index 9bde518..45eb782 100755 # if the hash has already been populated with a significant amount # of entries the number of mask bits can be higher my $keys = scalar keys %$hr; +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index a3ff285..4b54598 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -783,6 +783,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -800,6 +805,18 @@ sub build_preamble_if_necessary + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + print PREAMBLE + "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n"; diff --git a/5.008.009-main/Dockerfile b/5.008.009-main-jessie/Dockerfile similarity index 100% rename from 5.008.009-main/Dockerfile rename to 5.008.009-main-jessie/Dockerfile diff --git a/5.008.009-slim,threaded/DevelPatchPerl.patch b/5.008.009-slim,threaded-jessie/DevelPatchPerl.patch similarity index 88% rename from 5.008.009-slim,threaded/DevelPatchPerl.patch rename to 5.008.009-slim,threaded-jessie/DevelPatchPerl.patch index 1bdc576..bd42566 100644 --- a/5.008.009-slim,threaded/DevelPatchPerl.patch +++ b/5.008.009-slim,threaded-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index e746fe3..335e968 100755 +--- a/Configure ++++ b/Configure +@@ -4547,6 +4547,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index 6f20c5e..684f369 100644 --- a/ext/Errno/Errno_pm.PL @@ -536,3 +563,38 @@ index 9bde518..45eb782 100755 # if the hash has already been populated with a significant amount # of entries the number of mask bits can be higher my $keys = scalar keys %$hr; +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index a3ff285..4b54598 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -783,6 +783,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -800,6 +805,18 @@ sub build_preamble_if_necessary + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + print PREAMBLE + "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n"; diff --git a/5.008.009-slim,threaded/Dockerfile b/5.008.009-slim,threaded-jessie/Dockerfile similarity index 100% rename from 5.008.009-slim,threaded/Dockerfile rename to 5.008.009-slim,threaded-jessie/Dockerfile diff --git a/5.008.009-slim/DevelPatchPerl.patch b/5.008.009-slim-jessie/DevelPatchPerl.patch similarity index 88% rename from 5.008.009-slim/DevelPatchPerl.patch rename to 5.008.009-slim-jessie/DevelPatchPerl.patch index 1bdc576..bd42566 100644 --- a/5.008.009-slim/DevelPatchPerl.patch +++ b/5.008.009-slim-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index e746fe3..335e968 100755 +--- a/Configure ++++ b/Configure +@@ -4547,6 +4547,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index 6f20c5e..684f369 100644 --- a/ext/Errno/Errno_pm.PL @@ -536,3 +563,38 @@ index 9bde518..45eb782 100755 # if the hash has already been populated with a significant amount # of entries the number of mask bits can be higher my $keys = scalar keys %$hr; +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index a3ff285..4b54598 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -783,6 +783,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -800,6 +805,18 @@ sub build_preamble_if_necessary + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + print PREAMBLE + "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n"; diff --git a/5.008.009-slim/Dockerfile b/5.008.009-slim-jessie/Dockerfile similarity index 100% rename from 5.008.009-slim/Dockerfile rename to 5.008.009-slim-jessie/Dockerfile diff --git a/5.010.001-main,threaded/DevelPatchPerl.patch b/5.010.001-main,threaded-jessie/DevelPatchPerl.patch similarity index 88% rename from 5.010.001-main,threaded/DevelPatchPerl.patch rename to 5.010.001-main,threaded-jessie/DevelPatchPerl.patch index f771124..d150bcb 100644 --- a/5.010.001-main,threaded/DevelPatchPerl.patch +++ b/5.010.001-main,threaded-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index 01fa3c0..f986141 100755 +--- a/Configure ++++ b/Configure +@@ -4570,6 +4570,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index 124b8fc..670fabc 100644 --- a/ext/Errno/Errno_pm.PL @@ -546,6 +573,19 @@ index e400dda..e25e31a 100755 ### warn if we are going to skip long file names if ($TOO_LONG) { diag("No long filename support - long filename extraction disabled") if ! $ENV{PERL_CORE}; +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 27dd7b9..947fae6 100755 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -41,7 +41,7 @@ $result = runperl( progfile => 'lib/h2ph.pht', + stderr => 1 ); + like( $result, qr/syntax OK$/, "output compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.',"-w"], + prog => '$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);'); + is( $result, '', "output free of warnings" ); + diff --git a/make_ext.pl b/make_ext.pl index 22a97eb..6eac035 100644 --- a/make_ext.pl @@ -618,3 +658,38 @@ index 9bde518..45eb782 100755 # if the hash has already been populated with a significant amount # of entries the number of mask bits can be higher my $keys = scalar keys %$hr; +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index cd4b5a0..4820479 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -783,6 +783,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -800,6 +805,18 @@ sub build_preamble_if_necessary + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + print PREAMBLE + "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n"; diff --git a/5.010.001-main,threaded/Dockerfile b/5.010.001-main,threaded-jessie/Dockerfile similarity index 100% rename from 5.010.001-main,threaded/Dockerfile rename to 5.010.001-main,threaded-jessie/Dockerfile diff --git a/5.010.001-main/DevelPatchPerl.patch b/5.010.001-main-jessie/DevelPatchPerl.patch similarity index 88% rename from 5.010.001-main/DevelPatchPerl.patch rename to 5.010.001-main-jessie/DevelPatchPerl.patch index f771124..d150bcb 100644 --- a/5.010.001-main/DevelPatchPerl.patch +++ b/5.010.001-main-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index 01fa3c0..f986141 100755 +--- a/Configure ++++ b/Configure +@@ -4570,6 +4570,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index 124b8fc..670fabc 100644 --- a/ext/Errno/Errno_pm.PL @@ -546,6 +573,19 @@ index e400dda..e25e31a 100755 ### warn if we are going to skip long file names if ($TOO_LONG) { diag("No long filename support - long filename extraction disabled") if ! $ENV{PERL_CORE}; +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 27dd7b9..947fae6 100755 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -41,7 +41,7 @@ $result = runperl( progfile => 'lib/h2ph.pht', + stderr => 1 ); + like( $result, qr/syntax OK$/, "output compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.',"-w"], + prog => '$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);'); + is( $result, '', "output free of warnings" ); + diff --git a/make_ext.pl b/make_ext.pl index 22a97eb..6eac035 100644 --- a/make_ext.pl @@ -618,3 +658,38 @@ index 9bde518..45eb782 100755 # if the hash has already been populated with a significant amount # of entries the number of mask bits can be higher my $keys = scalar keys %$hr; +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index cd4b5a0..4820479 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -783,6 +783,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -800,6 +805,18 @@ sub build_preamble_if_necessary + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + print PREAMBLE + "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n"; diff --git a/5.010.001-main/Dockerfile b/5.010.001-main-jessie/Dockerfile similarity index 100% rename from 5.010.001-main/Dockerfile rename to 5.010.001-main-jessie/Dockerfile diff --git a/5.010.001-slim,threaded/DevelPatchPerl.patch b/5.010.001-slim,threaded-jessie/DevelPatchPerl.patch similarity index 88% rename from 5.010.001-slim,threaded/DevelPatchPerl.patch rename to 5.010.001-slim,threaded-jessie/DevelPatchPerl.patch index f771124..d150bcb 100644 --- a/5.010.001-slim,threaded/DevelPatchPerl.patch +++ b/5.010.001-slim,threaded-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index 01fa3c0..f986141 100755 +--- a/Configure ++++ b/Configure +@@ -4570,6 +4570,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index 124b8fc..670fabc 100644 --- a/ext/Errno/Errno_pm.PL @@ -546,6 +573,19 @@ index e400dda..e25e31a 100755 ### warn if we are going to skip long file names if ($TOO_LONG) { diag("No long filename support - long filename extraction disabled") if ! $ENV{PERL_CORE}; +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 27dd7b9..947fae6 100755 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -41,7 +41,7 @@ $result = runperl( progfile => 'lib/h2ph.pht', + stderr => 1 ); + like( $result, qr/syntax OK$/, "output compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.',"-w"], + prog => '$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);'); + is( $result, '', "output free of warnings" ); + diff --git a/make_ext.pl b/make_ext.pl index 22a97eb..6eac035 100644 --- a/make_ext.pl @@ -618,3 +658,38 @@ index 9bde518..45eb782 100755 # if the hash has already been populated with a significant amount # of entries the number of mask bits can be higher my $keys = scalar keys %$hr; +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index cd4b5a0..4820479 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -783,6 +783,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -800,6 +805,18 @@ sub build_preamble_if_necessary + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + print PREAMBLE + "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n"; diff --git a/5.010.001-slim,threaded/Dockerfile b/5.010.001-slim,threaded-jessie/Dockerfile similarity index 100% rename from 5.010.001-slim,threaded/Dockerfile rename to 5.010.001-slim,threaded-jessie/Dockerfile diff --git a/5.010.001-slim/DevelPatchPerl.patch b/5.010.001-slim-jessie/DevelPatchPerl.patch similarity index 88% rename from 5.010.001-slim/DevelPatchPerl.patch rename to 5.010.001-slim-jessie/DevelPatchPerl.patch index f771124..d150bcb 100644 --- a/5.010.001-slim/DevelPatchPerl.patch +++ b/5.010.001-slim-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index 01fa3c0..f986141 100755 +--- a/Configure ++++ b/Configure +@@ -4570,6 +4570,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index 124b8fc..670fabc 100644 --- a/ext/Errno/Errno_pm.PL @@ -546,6 +573,19 @@ index e400dda..e25e31a 100755 ### warn if we are going to skip long file names if ($TOO_LONG) { diag("No long filename support - long filename extraction disabled") if ! $ENV{PERL_CORE}; +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 27dd7b9..947fae6 100755 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -41,7 +41,7 @@ $result = runperl( progfile => 'lib/h2ph.pht', + stderr => 1 ); + like( $result, qr/syntax OK$/, "output compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.',"-w"], + prog => '$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);'); + is( $result, '', "output free of warnings" ); + diff --git a/make_ext.pl b/make_ext.pl index 22a97eb..6eac035 100644 --- a/make_ext.pl @@ -618,3 +658,38 @@ index 9bde518..45eb782 100755 # if the hash has already been populated with a significant amount # of entries the number of mask bits can be higher my $keys = scalar keys %$hr; +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index cd4b5a0..4820479 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -783,6 +783,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -800,6 +805,18 @@ sub build_preamble_if_necessary + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + print PREAMBLE + "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n"; diff --git a/5.010.001-slim/Dockerfile b/5.010.001-slim-jessie/Dockerfile similarity index 100% rename from 5.010.001-slim/Dockerfile rename to 5.010.001-slim-jessie/Dockerfile diff --git a/5.012.005-main,threaded/DevelPatchPerl.patch b/5.012.005-main,threaded-jessie/DevelPatchPerl.patch similarity index 87% rename from 5.012.005-main,threaded/DevelPatchPerl.patch rename to 5.012.005-main,threaded-jessie/DevelPatchPerl.patch index c2bb141..eaf4706 100644 --- a/5.012.005-main,threaded/DevelPatchPerl.patch +++ b/5.012.005-main,threaded-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index 3a8732b..1e390e0 100755 +--- a/Configure ++++ b/Configure +@@ -4588,6 +4588,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/cpan/Archive-Tar/t/02_methods.t b/cpan/Archive-Tar/t/02_methods.t index e400dda..e25e31a 100755 --- a/cpan/Archive-Tar/t/02_methods.t @@ -534,6 +561,19 @@ index 89c6456..8659678 100644 } } +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 27dd7b9..947fae6 100755 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -41,7 +41,7 @@ $result = runperl( progfile => 'lib/h2ph.pht', + stderr => 1 ); + like( $result, qr/syntax OK$/, "output compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.',"-w"], + prog => '$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);'); + is( $result, '', "output free of warnings" ); + diff --git a/make_ext.pl b/make_ext.pl index de26d84..52b0492 100644 --- a/make_ext.pl @@ -593,3 +633,38 @@ index 9bde518..45eb782 100755 # if the hash has already been populated with a significant amount # of entries the number of mask bits can be higher my $keys = scalar keys %$hr; +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index 8f56db4..7f0c987 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -789,6 +789,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -806,6 +811,18 @@ sub build_preamble_if_necessary + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + print PREAMBLE + "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n"; diff --git a/5.012.005-main,threaded/Dockerfile b/5.012.005-main,threaded-jessie/Dockerfile similarity index 100% rename from 5.012.005-main,threaded/Dockerfile rename to 5.012.005-main,threaded-jessie/Dockerfile diff --git a/5.012.005-main/DevelPatchPerl.patch b/5.012.005-main-jessie/DevelPatchPerl.patch similarity index 87% rename from 5.012.005-main/DevelPatchPerl.patch rename to 5.012.005-main-jessie/DevelPatchPerl.patch index c2bb141..eaf4706 100644 --- a/5.012.005-main/DevelPatchPerl.patch +++ b/5.012.005-main-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index 3a8732b..1e390e0 100755 +--- a/Configure ++++ b/Configure +@@ -4588,6 +4588,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/cpan/Archive-Tar/t/02_methods.t b/cpan/Archive-Tar/t/02_methods.t index e400dda..e25e31a 100755 --- a/cpan/Archive-Tar/t/02_methods.t @@ -534,6 +561,19 @@ index 89c6456..8659678 100644 } } +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 27dd7b9..947fae6 100755 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -41,7 +41,7 @@ $result = runperl( progfile => 'lib/h2ph.pht', + stderr => 1 ); + like( $result, qr/syntax OK$/, "output compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.',"-w"], + prog => '$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);'); + is( $result, '', "output free of warnings" ); + diff --git a/make_ext.pl b/make_ext.pl index de26d84..52b0492 100644 --- a/make_ext.pl @@ -593,3 +633,38 @@ index 9bde518..45eb782 100755 # if the hash has already been populated with a significant amount # of entries the number of mask bits can be higher my $keys = scalar keys %$hr; +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index 8f56db4..7f0c987 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -789,6 +789,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -806,6 +811,18 @@ sub build_preamble_if_necessary + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + print PREAMBLE + "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n"; diff --git a/5.012.005-main/Dockerfile b/5.012.005-main-jessie/Dockerfile similarity index 100% rename from 5.012.005-main/Dockerfile rename to 5.012.005-main-jessie/Dockerfile diff --git a/5.012.005-slim,threaded/DevelPatchPerl.patch b/5.012.005-slim,threaded-jessie/DevelPatchPerl.patch similarity index 87% rename from 5.012.005-slim,threaded/DevelPatchPerl.patch rename to 5.012.005-slim,threaded-jessie/DevelPatchPerl.patch index c2bb141..eaf4706 100644 --- a/5.012.005-slim,threaded/DevelPatchPerl.patch +++ b/5.012.005-slim,threaded-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index 3a8732b..1e390e0 100755 +--- a/Configure ++++ b/Configure +@@ -4588,6 +4588,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/cpan/Archive-Tar/t/02_methods.t b/cpan/Archive-Tar/t/02_methods.t index e400dda..e25e31a 100755 --- a/cpan/Archive-Tar/t/02_methods.t @@ -534,6 +561,19 @@ index 89c6456..8659678 100644 } } +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 27dd7b9..947fae6 100755 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -41,7 +41,7 @@ $result = runperl( progfile => 'lib/h2ph.pht', + stderr => 1 ); + like( $result, qr/syntax OK$/, "output compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.',"-w"], + prog => '$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);'); + is( $result, '', "output free of warnings" ); + diff --git a/make_ext.pl b/make_ext.pl index de26d84..52b0492 100644 --- a/make_ext.pl @@ -593,3 +633,38 @@ index 9bde518..45eb782 100755 # if the hash has already been populated with a significant amount # of entries the number of mask bits can be higher my $keys = scalar keys %$hr; +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index 8f56db4..7f0c987 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -789,6 +789,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -806,6 +811,18 @@ sub build_preamble_if_necessary + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + print PREAMBLE + "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n"; diff --git a/5.012.005-slim,threaded/Dockerfile b/5.012.005-slim,threaded-jessie/Dockerfile similarity index 100% rename from 5.012.005-slim,threaded/Dockerfile rename to 5.012.005-slim,threaded-jessie/Dockerfile diff --git a/5.012.005-slim/DevelPatchPerl.patch b/5.012.005-slim-jessie/DevelPatchPerl.patch similarity index 87% rename from 5.012.005-slim/DevelPatchPerl.patch rename to 5.012.005-slim-jessie/DevelPatchPerl.patch index c2bb141..eaf4706 100644 --- a/5.012.005-slim/DevelPatchPerl.patch +++ b/5.012.005-slim-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index 3a8732b..1e390e0 100755 +--- a/Configure ++++ b/Configure +@@ -4588,6 +4588,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/cpan/Archive-Tar/t/02_methods.t b/cpan/Archive-Tar/t/02_methods.t index e400dda..e25e31a 100755 --- a/cpan/Archive-Tar/t/02_methods.t @@ -534,6 +561,19 @@ index 89c6456..8659678 100644 } } +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 27dd7b9..947fae6 100755 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -41,7 +41,7 @@ $result = runperl( progfile => 'lib/h2ph.pht', + stderr => 1 ); + like( $result, qr/syntax OK$/, "output compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.',"-w"], + prog => '$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);'); + is( $result, '', "output free of warnings" ); + diff --git a/make_ext.pl b/make_ext.pl index de26d84..52b0492 100644 --- a/make_ext.pl @@ -593,3 +633,38 @@ index 9bde518..45eb782 100755 # if the hash has already been populated with a significant amount # of entries the number of mask bits can be higher my $keys = scalar keys %$hr; +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index 8f56db4..7f0c987 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -789,6 +789,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -806,6 +811,18 @@ sub build_preamble_if_necessary + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + print PREAMBLE + "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n"; diff --git a/5.012.005-slim/Dockerfile b/5.012.005-slim-jessie/Dockerfile similarity index 100% rename from 5.012.005-slim/Dockerfile rename to 5.012.005-slim-jessie/Dockerfile diff --git a/5.014.004-main,threaded/DevelPatchPerl.patch b/5.014.004-main,threaded-jessie/DevelPatchPerl.patch similarity index 82% rename from 5.014.004-main,threaded/DevelPatchPerl.patch rename to 5.014.004-main,threaded-jessie/DevelPatchPerl.patch index 408ee15..cf1812f 100644 --- a/5.014.004-main,threaded/DevelPatchPerl.patch +++ b/5.014.004-main,threaded-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index 0bb5c4f..2e1c0b9 100755 +--- a/Configure ++++ b/Configure +@@ -4588,6 +4588,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index 56bc815..cf688be 100644 --- a/ext/Errno/Errno_pm.PL @@ -371,6 +398,19 @@ index d0ac9fa..a985a8e 100644 then if ldd $DBLIB | grep pthread >/dev/null then +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 2b58f6a..64d9dc0 100644 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -48,7 +48,7 @@ $result = runperl( progfile => '_h2ph_pre.ph', + stderr => 1 ); + like( $result, qr/syntax OK$/, "preamble compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.', "-w"], + stderr => 1, + prog => <<'PROG' ); + $SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht); diff --git a/make_ext.pl b/make_ext.pl index 13a15b4..a564bb3 100644 --- a/make_ext.pl @@ -386,3 +426,38 @@ index 13a15b4..a564bb3 100644 print "\nRunning Makefile.PL in $ext_dir\n"; # Presumably this can be simplified +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index 4545d6d..605d9a0 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -790,6 +790,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -816,6 +821,18 @@ DEFINE + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + my $def = $define{$_}; + if ($isatype{$def}) { diff --git a/5.014.004-main,threaded/Dockerfile b/5.014.004-main,threaded-jessie/Dockerfile similarity index 100% rename from 5.014.004-main,threaded/Dockerfile rename to 5.014.004-main,threaded-jessie/Dockerfile diff --git a/5.014.004-main/DevelPatchPerl.patch b/5.014.004-main-jessie/DevelPatchPerl.patch similarity index 82% rename from 5.014.004-main/DevelPatchPerl.patch rename to 5.014.004-main-jessie/DevelPatchPerl.patch index 408ee15..cf1812f 100644 --- a/5.014.004-main/DevelPatchPerl.patch +++ b/5.014.004-main-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index 0bb5c4f..2e1c0b9 100755 +--- a/Configure ++++ b/Configure +@@ -4588,6 +4588,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index 56bc815..cf688be 100644 --- a/ext/Errno/Errno_pm.PL @@ -371,6 +398,19 @@ index d0ac9fa..a985a8e 100644 then if ldd $DBLIB | grep pthread >/dev/null then +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 2b58f6a..64d9dc0 100644 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -48,7 +48,7 @@ $result = runperl( progfile => '_h2ph_pre.ph', + stderr => 1 ); + like( $result, qr/syntax OK$/, "preamble compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.', "-w"], + stderr => 1, + prog => <<'PROG' ); + $SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht); diff --git a/make_ext.pl b/make_ext.pl index 13a15b4..a564bb3 100644 --- a/make_ext.pl @@ -386,3 +426,38 @@ index 13a15b4..a564bb3 100644 print "\nRunning Makefile.PL in $ext_dir\n"; # Presumably this can be simplified +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index 4545d6d..605d9a0 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -790,6 +790,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -816,6 +821,18 @@ DEFINE + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + my $def = $define{$_}; + if ($isatype{$def}) { diff --git a/5.014.004-main/Dockerfile b/5.014.004-main-jessie/Dockerfile similarity index 100% rename from 5.014.004-main/Dockerfile rename to 5.014.004-main-jessie/Dockerfile diff --git a/5.014.004-slim,threaded/DevelPatchPerl.patch b/5.014.004-slim,threaded-jessie/DevelPatchPerl.patch similarity index 82% rename from 5.014.004-slim,threaded/DevelPatchPerl.patch rename to 5.014.004-slim,threaded-jessie/DevelPatchPerl.patch index 408ee15..cf1812f 100644 --- a/5.014.004-slim,threaded/DevelPatchPerl.patch +++ b/5.014.004-slim,threaded-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index 0bb5c4f..2e1c0b9 100755 +--- a/Configure ++++ b/Configure +@@ -4588,6 +4588,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index 56bc815..cf688be 100644 --- a/ext/Errno/Errno_pm.PL @@ -371,6 +398,19 @@ index d0ac9fa..a985a8e 100644 then if ldd $DBLIB | grep pthread >/dev/null then +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 2b58f6a..64d9dc0 100644 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -48,7 +48,7 @@ $result = runperl( progfile => '_h2ph_pre.ph', + stderr => 1 ); + like( $result, qr/syntax OK$/, "preamble compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.', "-w"], + stderr => 1, + prog => <<'PROG' ); + $SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht); diff --git a/make_ext.pl b/make_ext.pl index 13a15b4..a564bb3 100644 --- a/make_ext.pl @@ -386,3 +426,38 @@ index 13a15b4..a564bb3 100644 print "\nRunning Makefile.PL in $ext_dir\n"; # Presumably this can be simplified +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index 4545d6d..605d9a0 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -790,6 +790,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -816,6 +821,18 @@ DEFINE + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + my $def = $define{$_}; + if ($isatype{$def}) { diff --git a/5.014.004-slim,threaded/Dockerfile b/5.014.004-slim,threaded-jessie/Dockerfile similarity index 100% rename from 5.014.004-slim,threaded/Dockerfile rename to 5.014.004-slim,threaded-jessie/Dockerfile diff --git a/5.014.004-slim/DevelPatchPerl.patch b/5.014.004-slim-jessie/DevelPatchPerl.patch similarity index 82% rename from 5.014.004-slim/DevelPatchPerl.patch rename to 5.014.004-slim-jessie/DevelPatchPerl.patch index 408ee15..cf1812f 100644 --- a/5.014.004-slim/DevelPatchPerl.patch +++ b/5.014.004-slim-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index 0bb5c4f..2e1c0b9 100755 +--- a/Configure ++++ b/Configure +@@ -4588,6 +4588,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index 56bc815..cf688be 100644 --- a/ext/Errno/Errno_pm.PL @@ -371,6 +398,19 @@ index d0ac9fa..a985a8e 100644 then if ldd $DBLIB | grep pthread >/dev/null then +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 2b58f6a..64d9dc0 100644 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -48,7 +48,7 @@ $result = runperl( progfile => '_h2ph_pre.ph', + stderr => 1 ); + like( $result, qr/syntax OK$/, "preamble compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.', "-w"], + stderr => 1, + prog => <<'PROG' ); + $SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht); diff --git a/make_ext.pl b/make_ext.pl index 13a15b4..a564bb3 100644 --- a/make_ext.pl @@ -386,3 +426,38 @@ index 13a15b4..a564bb3 100644 print "\nRunning Makefile.PL in $ext_dir\n"; # Presumably this can be simplified +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index 4545d6d..605d9a0 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -790,6 +790,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -816,6 +821,18 @@ DEFINE + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + my $def = $define{$_}; + if ($isatype{$def}) { diff --git a/5.014.004-slim/Dockerfile b/5.014.004-slim-jessie/Dockerfile similarity index 100% rename from 5.014.004-slim/Dockerfile rename to 5.014.004-slim-jessie/Dockerfile diff --git a/5.016.003-main,threaded/DevelPatchPerl.patch b/5.016.003-main,threaded-jessie/DevelPatchPerl.patch similarity index 81% rename from 5.016.003-main,threaded/DevelPatchPerl.patch rename to 5.016.003-main,threaded-jessie/DevelPatchPerl.patch index 5292c05..01caaa2 100644 --- a/5.016.003-main,threaded/DevelPatchPerl.patch +++ b/5.016.003-main,threaded-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index fdbbf20..e517f41 100755 +--- a/Configure ++++ b/Configure +@@ -4511,6 +4511,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index 439f254..a324604 100644 --- a/ext/Errno/Errno_pm.PL @@ -357,3 +384,51 @@ index 688c68d..a985a8e 100644 then if ldd $DBLIB | grep pthread >/dev/null then +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 2b58f6a..64d9dc0 100644 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -48,7 +48,7 @@ $result = runperl( progfile => '_h2ph_pre.ph', + stderr => 1 ); + like( $result, qr/syntax OK$/, "preamble compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.', "-w"], + stderr => 1, + prog => <<'PROG' ); + $SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht); +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index a2d737b..9484d81 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -788,6 +788,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -814,6 +819,18 @@ DEFINE + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + my $def = $define{$_}; + if ($isatype{$def}) { diff --git a/5.016.003-main,threaded/Dockerfile b/5.016.003-main,threaded-jessie/Dockerfile similarity index 100% rename from 5.016.003-main,threaded/Dockerfile rename to 5.016.003-main,threaded-jessie/Dockerfile diff --git a/5.016.003-main/DevelPatchPerl.patch b/5.016.003-main-jessie/DevelPatchPerl.patch similarity index 81% rename from 5.016.003-main/DevelPatchPerl.patch rename to 5.016.003-main-jessie/DevelPatchPerl.patch index 5292c05..01caaa2 100644 --- a/5.016.003-main/DevelPatchPerl.patch +++ b/5.016.003-main-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index fdbbf20..e517f41 100755 +--- a/Configure ++++ b/Configure +@@ -4511,6 +4511,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index 439f254..a324604 100644 --- a/ext/Errno/Errno_pm.PL @@ -357,3 +384,51 @@ index 688c68d..a985a8e 100644 then if ldd $DBLIB | grep pthread >/dev/null then +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 2b58f6a..64d9dc0 100644 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -48,7 +48,7 @@ $result = runperl( progfile => '_h2ph_pre.ph', + stderr => 1 ); + like( $result, qr/syntax OK$/, "preamble compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.', "-w"], + stderr => 1, + prog => <<'PROG' ); + $SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht); +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index a2d737b..9484d81 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -788,6 +788,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -814,6 +819,18 @@ DEFINE + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + my $def = $define{$_}; + if ($isatype{$def}) { diff --git a/5.016.003-main/Dockerfile b/5.016.003-main-jessie/Dockerfile similarity index 100% rename from 5.016.003-main/Dockerfile rename to 5.016.003-main-jessie/Dockerfile diff --git a/5.016.003-slim,threaded/DevelPatchPerl.patch b/5.016.003-slim,threaded-jessie/DevelPatchPerl.patch similarity index 81% rename from 5.016.003-slim,threaded/DevelPatchPerl.patch rename to 5.016.003-slim,threaded-jessie/DevelPatchPerl.patch index 5292c05..01caaa2 100644 --- a/5.016.003-slim,threaded/DevelPatchPerl.patch +++ b/5.016.003-slim,threaded-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index fdbbf20..e517f41 100755 +--- a/Configure ++++ b/Configure +@@ -4511,6 +4511,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index 439f254..a324604 100644 --- a/ext/Errno/Errno_pm.PL @@ -357,3 +384,51 @@ index 688c68d..a985a8e 100644 then if ldd $DBLIB | grep pthread >/dev/null then +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 2b58f6a..64d9dc0 100644 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -48,7 +48,7 @@ $result = runperl( progfile => '_h2ph_pre.ph', + stderr => 1 ); + like( $result, qr/syntax OK$/, "preamble compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.', "-w"], + stderr => 1, + prog => <<'PROG' ); + $SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht); +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index a2d737b..9484d81 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -788,6 +788,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -814,6 +819,18 @@ DEFINE + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + my $def = $define{$_}; + if ($isatype{$def}) { diff --git a/5.016.003-slim,threaded/Dockerfile b/5.016.003-slim,threaded-jessie/Dockerfile similarity index 100% rename from 5.016.003-slim,threaded/Dockerfile rename to 5.016.003-slim,threaded-jessie/Dockerfile diff --git a/5.016.003-slim/DevelPatchPerl.patch b/5.016.003-slim-jessie/DevelPatchPerl.patch similarity index 81% rename from 5.016.003-slim/DevelPatchPerl.patch rename to 5.016.003-slim-jessie/DevelPatchPerl.patch index 5292c05..01caaa2 100644 --- a/5.016.003-slim/DevelPatchPerl.patch +++ b/5.016.003-slim-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index fdbbf20..e517f41 100755 +--- a/Configure ++++ b/Configure +@@ -4511,6 +4511,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index 439f254..a324604 100644 --- a/ext/Errno/Errno_pm.PL @@ -357,3 +384,51 @@ index 688c68d..a985a8e 100644 then if ldd $DBLIB | grep pthread >/dev/null then +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 2b58f6a..64d9dc0 100644 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -48,7 +48,7 @@ $result = runperl( progfile => '_h2ph_pre.ph', + stderr => 1 ); + like( $result, qr/syntax OK$/, "preamble compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.', "-w"], + stderr => 1, + prog => <<'PROG' ); + $SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht); +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index a2d737b..9484d81 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -788,6 +788,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -814,6 +819,18 @@ DEFINE + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + my $def = $define{$_}; + if ($isatype{$def}) { diff --git a/5.016.003-slim/Dockerfile b/5.016.003-slim-jessie/Dockerfile similarity index 100% rename from 5.016.003-slim/Dockerfile rename to 5.016.003-slim-jessie/Dockerfile diff --git a/5.018.004-main,threaded/DevelPatchPerl.patch b/5.018.004-main,threaded-jessie/DevelPatchPerl.patch similarity index 80% rename from 5.018.004-main,threaded/DevelPatchPerl.patch rename to 5.018.004-main,threaded-jessie/DevelPatchPerl.patch index a9fc3c4..9ceedb5 100644 --- a/5.018.004-main,threaded/DevelPatchPerl.patch +++ b/5.018.004-main,threaded-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index 30ab78a..19213f2 100755 +--- a/Configure ++++ b/Configure +@@ -4520,6 +4520,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index b707911..2588f0b 100644 --- a/ext/Errno/Errno_pm.PL @@ -340,3 +367,51 @@ index a148248..a985a8e 100644 then if ldd $DBLIB | grep pthread >/dev/null then +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 2b58f6a..64d9dc0 100644 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -48,7 +48,7 @@ $result = runperl( progfile => '_h2ph_pre.ph', + stderr => 1 ); + like( $result, qr/syntax OK$/, "preamble compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.', "-w"], + stderr => 1, + prog => <<'PROG' ); + $SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht); +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index a2d737b..9484d81 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -788,6 +788,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -814,6 +819,18 @@ DEFINE + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + my $def = $define{$_}; + if ($isatype{$def}) { diff --git a/5.018.004-main,threaded/Dockerfile b/5.018.004-main,threaded-jessie/Dockerfile similarity index 100% rename from 5.018.004-main,threaded/Dockerfile rename to 5.018.004-main,threaded-jessie/Dockerfile diff --git a/5.018.004-main/DevelPatchPerl.patch b/5.018.004-main-jessie/DevelPatchPerl.patch similarity index 80% rename from 5.018.004-main/DevelPatchPerl.patch rename to 5.018.004-main-jessie/DevelPatchPerl.patch index a9fc3c4..9ceedb5 100644 --- a/5.018.004-main/DevelPatchPerl.patch +++ b/5.018.004-main-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index 30ab78a..19213f2 100755 +--- a/Configure ++++ b/Configure +@@ -4520,6 +4520,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index b707911..2588f0b 100644 --- a/ext/Errno/Errno_pm.PL @@ -340,3 +367,51 @@ index a148248..a985a8e 100644 then if ldd $DBLIB | grep pthread >/dev/null then +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 2b58f6a..64d9dc0 100644 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -48,7 +48,7 @@ $result = runperl( progfile => '_h2ph_pre.ph', + stderr => 1 ); + like( $result, qr/syntax OK$/, "preamble compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.', "-w"], + stderr => 1, + prog => <<'PROG' ); + $SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht); +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index a2d737b..9484d81 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -788,6 +788,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -814,6 +819,18 @@ DEFINE + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + my $def = $define{$_}; + if ($isatype{$def}) { diff --git a/5.018.004-main/Dockerfile b/5.018.004-main-jessie/Dockerfile similarity index 100% rename from 5.018.004-main/Dockerfile rename to 5.018.004-main-jessie/Dockerfile diff --git a/5.018.004-slim,threaded/DevelPatchPerl.patch b/5.018.004-slim,threaded-jessie/DevelPatchPerl.patch similarity index 80% rename from 5.018.004-slim,threaded/DevelPatchPerl.patch rename to 5.018.004-slim,threaded-jessie/DevelPatchPerl.patch index a9fc3c4..9ceedb5 100644 --- a/5.018.004-slim,threaded/DevelPatchPerl.patch +++ b/5.018.004-slim,threaded-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index 30ab78a..19213f2 100755 +--- a/Configure ++++ b/Configure +@@ -4520,6 +4520,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index b707911..2588f0b 100644 --- a/ext/Errno/Errno_pm.PL @@ -340,3 +367,51 @@ index a148248..a985a8e 100644 then if ldd $DBLIB | grep pthread >/dev/null then +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 2b58f6a..64d9dc0 100644 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -48,7 +48,7 @@ $result = runperl( progfile => '_h2ph_pre.ph', + stderr => 1 ); + like( $result, qr/syntax OK$/, "preamble compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.', "-w"], + stderr => 1, + prog => <<'PROG' ); + $SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht); +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index a2d737b..9484d81 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -788,6 +788,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -814,6 +819,18 @@ DEFINE + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + my $def = $define{$_}; + if ($isatype{$def}) { diff --git a/5.018.004-slim,threaded/Dockerfile b/5.018.004-slim,threaded-jessie/Dockerfile similarity index 100% rename from 5.018.004-slim,threaded/Dockerfile rename to 5.018.004-slim,threaded-jessie/Dockerfile diff --git a/5.018.004-slim/DevelPatchPerl.patch b/5.018.004-slim-jessie/DevelPatchPerl.patch similarity index 80% rename from 5.018.004-slim/DevelPatchPerl.patch rename to 5.018.004-slim-jessie/DevelPatchPerl.patch index a9fc3c4..9ceedb5 100644 --- a/5.018.004-slim/DevelPatchPerl.patch +++ b/5.018.004-slim-jessie/DevelPatchPerl.patch @@ -1,3 +1,30 @@ +diff --git a/Configure b/Configure +index 30ab78a..19213f2 100755 +--- a/Configure ++++ b/Configure +@@ -4520,6 +4520,22 @@ case "$gccversion" in + $rm -f try try.* + esac + ++# gcc 4.9 by default does some optimizations that break perl. ++# see ticket 121505. ++# ++# The -fwrapv disables those optimizations (and probably others,) so ++# for gcc 4.9 (and later, since the optimizations probably won't go ++# away), add -fwrapv unless the user requests -fno-wrapv, which ++# disables -fwrapv, or if the user requests -fsanitize=undefined, ++# which turns the overflows -fwrapv ignores into runtime errors. ++case "$gccversion" in ++4.[3-9].*|4.[1-9][0-9]*|[5-9].*|[1-9][0-9]*) ++ case "$ccflags" in ++ *-fno-wrapv*|*-fsanitize=undefined*|*-fwrapv*) ;; ++ *) ccflags="$ccflags -fwrapv" ;; ++ esac ++esac ++ + : What should the include directory be ? + echo " " + $echo $n "Hmm... $c" diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL index b707911..2588f0b 100644 --- a/ext/Errno/Errno_pm.PL @@ -340,3 +367,51 @@ index a148248..a985a8e 100644 then if ldd $DBLIB | grep pthread >/dev/null then +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 2b58f6a..64d9dc0 100644 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -48,7 +48,7 @@ $result = runperl( progfile => '_h2ph_pre.ph', + stderr => 1 ); + like( $result, qr/syntax OK$/, "preamble compiles"); + +-$result = runperl( switches => ["-w"], ++$result = runperl( switches => ['-I.', "-w"], + stderr => 1, + prog => <<'PROG' ); + $SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht); +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index a2d737b..9484d81 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -788,6 +788,11 @@ sub build_preamble_if_necessary + + open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!"; + print PREAMBLE "# This file was created by h2ph version $VERSION\n"; ++ # Prevent non-portable hex constants from warning. ++ # ++ # We still produce an overflow warning if we can't represent ++ # a hex constant as an integer. ++ print PREAMBLE "no warnings qw(portable);\n"; + + foreach (sort keys %define) { + if ($opt_D) { +@@ -814,6 +819,18 @@ DEFINE + # integer: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; ++ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) { ++ # hex integer ++ # Special cased, since perl warns on hex integers ++ # that can't be represented in a UV. ++ # ++ # This way we get the warning at time of use, so the user ++ # only gets the warning if they happen to use this ++ # platform-specific definition. ++ my $code = $1; ++ $code = "hex('$code')" if length $code > 10; ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { $code } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { + my $def = $define{$_}; + if ($isatype{$def}) { diff --git a/5.018.004-slim/Dockerfile b/5.018.004-slim-jessie/Dockerfile similarity index 100% rename from 5.018.004-slim/Dockerfile rename to 5.018.004-slim-jessie/Dockerfile diff --git a/5.020.003-main,threaded/DevelPatchPerl.patch b/5.020.003-main,threaded-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.020.003-main,threaded/DevelPatchPerl.patch rename to 5.020.003-main,threaded-stretch/DevelPatchPerl.patch diff --git a/5.020.003-main,threaded/Dockerfile b/5.020.003-main,threaded-stretch/Dockerfile similarity index 100% rename from 5.020.003-main,threaded/Dockerfile rename to 5.020.003-main,threaded-stretch/Dockerfile diff --git a/5.020.003-main/DevelPatchPerl.patch b/5.020.003-main-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.020.003-main/DevelPatchPerl.patch rename to 5.020.003-main-stretch/DevelPatchPerl.patch diff --git a/5.020.003-main/Dockerfile b/5.020.003-main-stretch/Dockerfile similarity index 100% rename from 5.020.003-main/Dockerfile rename to 5.020.003-main-stretch/Dockerfile diff --git a/5.020.003-slim,threaded/DevelPatchPerl.patch b/5.020.003-slim,threaded-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.020.003-slim,threaded/DevelPatchPerl.patch rename to 5.020.003-slim,threaded-stretch/DevelPatchPerl.patch diff --git a/5.020.003-slim,threaded/Dockerfile b/5.020.003-slim,threaded-stretch/Dockerfile similarity index 100% rename from 5.020.003-slim,threaded/Dockerfile rename to 5.020.003-slim,threaded-stretch/Dockerfile diff --git a/5.020.003-slim/DevelPatchPerl.patch b/5.020.003-slim-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.020.003-slim/DevelPatchPerl.patch rename to 5.020.003-slim-stretch/DevelPatchPerl.patch diff --git a/5.020.003-slim/Dockerfile b/5.020.003-slim-stretch/Dockerfile similarity index 100% rename from 5.020.003-slim/Dockerfile rename to 5.020.003-slim-stretch/Dockerfile diff --git a/5.022.004-main,threaded/DevelPatchPerl.patch b/5.022.004-main,threaded-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.022.004-main,threaded/DevelPatchPerl.patch rename to 5.022.004-main,threaded-stretch/DevelPatchPerl.patch diff --git a/5.022.004-main,threaded/Dockerfile b/5.022.004-main,threaded-stretch/Dockerfile similarity index 100% rename from 5.022.004-main,threaded/Dockerfile rename to 5.022.004-main,threaded-stretch/Dockerfile diff --git a/5.022.004-main/DevelPatchPerl.patch b/5.022.004-main-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.022.004-main/DevelPatchPerl.patch rename to 5.022.004-main-stretch/DevelPatchPerl.patch diff --git a/5.022.004-main/Dockerfile b/5.022.004-main-stretch/Dockerfile similarity index 100% rename from 5.022.004-main/Dockerfile rename to 5.022.004-main-stretch/Dockerfile diff --git a/5.022.004-slim,threaded/DevelPatchPerl.patch b/5.022.004-slim,threaded-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.022.004-slim,threaded/DevelPatchPerl.patch rename to 5.022.004-slim,threaded-stretch/DevelPatchPerl.patch diff --git a/5.022.004-slim,threaded/Dockerfile b/5.022.004-slim,threaded-stretch/Dockerfile similarity index 100% rename from 5.022.004-slim,threaded/Dockerfile rename to 5.022.004-slim,threaded-stretch/Dockerfile diff --git a/5.022.004-slim/DevelPatchPerl.patch b/5.022.004-slim-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.022.004-slim/DevelPatchPerl.patch rename to 5.022.004-slim-stretch/DevelPatchPerl.patch diff --git a/5.022.004-slim/Dockerfile b/5.022.004-slim-stretch/Dockerfile similarity index 100% rename from 5.022.004-slim/Dockerfile rename to 5.022.004-slim-stretch/Dockerfile diff --git a/5.024.004-main,threaded/DevelPatchPerl.patch b/5.024.004-main,threaded-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.024.004-main,threaded/DevelPatchPerl.patch rename to 5.024.004-main,threaded-stretch/DevelPatchPerl.patch diff --git a/5.024.004-main,threaded/Dockerfile b/5.024.004-main,threaded-stretch/Dockerfile similarity index 100% rename from 5.024.004-main,threaded/Dockerfile rename to 5.024.004-main,threaded-stretch/Dockerfile diff --git a/5.024.004-main/DevelPatchPerl.patch b/5.024.004-main-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.024.004-main/DevelPatchPerl.patch rename to 5.024.004-main-stretch/DevelPatchPerl.patch diff --git a/5.024.004-main/Dockerfile b/5.024.004-main-stretch/Dockerfile similarity index 100% rename from 5.024.004-main/Dockerfile rename to 5.024.004-main-stretch/Dockerfile diff --git a/5.024.004-slim,threaded/DevelPatchPerl.patch b/5.024.004-slim,threaded-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.024.004-slim,threaded/DevelPatchPerl.patch rename to 5.024.004-slim,threaded-stretch/DevelPatchPerl.patch diff --git a/5.024.004-slim,threaded/Dockerfile b/5.024.004-slim,threaded-stretch/Dockerfile similarity index 100% rename from 5.024.004-slim,threaded/Dockerfile rename to 5.024.004-slim,threaded-stretch/Dockerfile diff --git a/5.024.004-slim/DevelPatchPerl.patch b/5.024.004-slim-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.024.004-slim/DevelPatchPerl.patch rename to 5.024.004-slim-stretch/DevelPatchPerl.patch diff --git a/5.024.004-slim/Dockerfile b/5.024.004-slim-stretch/Dockerfile similarity index 100% rename from 5.024.004-slim/Dockerfile rename to 5.024.004-slim-stretch/Dockerfile diff --git a/5.026.003-main,threaded/DevelPatchPerl.patch b/5.026.003-main,threaded-buster/DevelPatchPerl.patch similarity index 100% rename from 5.026.003-main,threaded/DevelPatchPerl.patch rename to 5.026.003-main,threaded-buster/DevelPatchPerl.patch diff --git a/5.026.003-main,threaded-buster/Dockerfile b/5.026.003-main,threaded-buster/Dockerfile new file mode 100644 index 0000000..097dbfa --- /dev/null +++ b/5.026.003-main,threaded-buster/Dockerfile @@ -0,0 +1,29 @@ +FROM buildpack-deps:buster +LABEL maintainer="Peter Martini , Zak B. Elep " + +COPY *.patch /usr/src/perl/ +WORKDIR /usr/src/perl + +RUN true \ + && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.bz2 -o perl-5.26.3.tar.bz2 \ + && echo '9ff35a613213f29ab53975141af6825ae7d4408895538cac0922e47ab92a1477 *perl-5.26.3.tar.bz2' | sha256sum -c - \ + && tar --strip-components=1 -xaf perl-5.26.3.tar.bz2 -C /usr/src/perl \ + && rm perl-5.26.3.tar.bz2 \ + && cat *.patch | patch -p1 \ + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ + && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ + && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ + && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -des \ + && make -j$(nproc) \ + && TEST_JOBS=$(nproc) make test_harness \ + && make install \ + && cd /usr/src \ + && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ + && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ + && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ + && true \ + && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* + +WORKDIR /root + +CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-main/DevelPatchPerl.patch b/5.026.003-main,threaded-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.026.003-main/DevelPatchPerl.patch rename to 5.026.003-main,threaded-stretch/DevelPatchPerl.patch diff --git a/5.026.003-main,threaded/Dockerfile b/5.026.003-main,threaded-stretch/Dockerfile similarity index 100% rename from 5.026.003-main,threaded/Dockerfile rename to 5.026.003-main,threaded-stretch/Dockerfile diff --git a/5.026.003-slim,threaded/DevelPatchPerl.patch b/5.026.003-main-buster/DevelPatchPerl.patch similarity index 100% rename from 5.026.003-slim,threaded/DevelPatchPerl.patch rename to 5.026.003-main-buster/DevelPatchPerl.patch diff --git a/5.026.003-main-buster/Dockerfile b/5.026.003-main-buster/Dockerfile new file mode 100644 index 0000000..300efee --- /dev/null +++ b/5.026.003-main-buster/Dockerfile @@ -0,0 +1,29 @@ +FROM buildpack-deps:buster +LABEL maintainer="Peter Martini , Zak B. Elep " + +COPY *.patch /usr/src/perl/ +WORKDIR /usr/src/perl + +RUN true \ + && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.bz2 -o perl-5.26.3.tar.bz2 \ + && echo '9ff35a613213f29ab53975141af6825ae7d4408895538cac0922e47ab92a1477 *perl-5.26.3.tar.bz2' | sha256sum -c - \ + && tar --strip-components=1 -xaf perl-5.26.3.tar.bz2 -C /usr/src/perl \ + && rm perl-5.26.3.tar.bz2 \ + && cat *.patch | patch -p1 \ + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ + && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ + && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ + && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -des \ + && make -j$(nproc) \ + && TEST_JOBS=$(nproc) make test_harness \ + && make install \ + && cd /usr/src \ + && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ + && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ + && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ + && true \ + && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* + +WORKDIR /root + +CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-slim/DevelPatchPerl.patch b/5.026.003-main-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.026.003-slim/DevelPatchPerl.patch rename to 5.026.003-main-stretch/DevelPatchPerl.patch diff --git a/5.026.003-main/Dockerfile b/5.026.003-main-stretch/Dockerfile similarity index 100% rename from 5.026.003-main/Dockerfile rename to 5.026.003-main-stretch/Dockerfile diff --git a/5.026.003-slim,threaded-buster/DevelPatchPerl.patch b/5.026.003-slim,threaded-buster/DevelPatchPerl.patch new file mode 100644 index 0000000..1701c2a --- /dev/null +++ b/5.026.003-slim,threaded-buster/DevelPatchPerl.patch @@ -0,0 +1,21 @@ +diff --git a/hints/linux.sh b/hints/linux.sh +index 3f38ea0..a985a8e 100644 +--- a/hints/linux.sh ++++ b/hints/linux.sh +@@ -178,6 +178,16 @@ case "$plibpth" in + ;; + esac + ++# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some ++# available functions, like memem, won't be used. See the discussion in ++# [perl #133760]. musl doesn't offer an easy way to identify it, but, ++# at least on alpine linux, the ldd --version output contains the ++# string 'musl.' ++case `ldd --version 2>&1` in ++ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; ++ *) ;; ++esac ++ + # libquadmath is sometimes installed as gcc internal library, + # so contrary to our usual policy of *not* looking at gcc internal + # directories we now *do* look at them, in case they contain diff --git a/5.026.003-slim,threaded-buster/Dockerfile b/5.026.003-slim,threaded-buster/Dockerfile new file mode 100644 index 0000000..c285074 --- /dev/null +++ b/5.026.003-slim,threaded-buster/Dockerfile @@ -0,0 +1,53 @@ +FROM debian:buster-slim +LABEL maintainer="Peter Martini , Zak B. Elep " + +COPY *.patch /usr/src/perl/ +WORKDIR /usr/src/perl + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + # cpio \ + curl \ + dpkg-dev \ + # file \ + gcc \ + # g++ \ + # libbz2-dev \ + # libdb-dev \ + libc6-dev \ + # libgdbm-dev \ + # liblzma-dev \ + make \ + netbase \ + patch \ + # procps \ + # zlib1g-dev \ + xz-utils \ + && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.bz2 -o perl-5.26.3.tar.bz2 \ + && echo '9ff35a613213f29ab53975141af6825ae7d4408895538cac0922e47ab92a1477 *perl-5.26.3.tar.bz2' | sha256sum -c - \ + && tar --strip-components=1 -xaf perl-5.26.3.tar.bz2 -C /usr/src/perl \ + && rm perl-5.26.3.tar.bz2 \ + && cat *.patch | patch -p1 \ + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ + && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ + && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ + && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -des \ + && make -j$(nproc) \ + && TEST_JOBS=$(nproc) make test_harness \ + && make install \ + && cd /usr/src \ + && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ + && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ + && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ + && savedPackages="make netbase" \ + && apt-mark auto '.*' > /dev/null \ + && apt-mark manual $savedPackages \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ + && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ + && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* + +WORKDIR /root + +CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-slim,threaded-stretch/DevelPatchPerl.patch b/5.026.003-slim,threaded-stretch/DevelPatchPerl.patch new file mode 100644 index 0000000..1701c2a --- /dev/null +++ b/5.026.003-slim,threaded-stretch/DevelPatchPerl.patch @@ -0,0 +1,21 @@ +diff --git a/hints/linux.sh b/hints/linux.sh +index 3f38ea0..a985a8e 100644 +--- a/hints/linux.sh ++++ b/hints/linux.sh +@@ -178,6 +178,16 @@ case "$plibpth" in + ;; + esac + ++# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some ++# available functions, like memem, won't be used. See the discussion in ++# [perl #133760]. musl doesn't offer an easy way to identify it, but, ++# at least on alpine linux, the ldd --version output contains the ++# string 'musl.' ++case `ldd --version 2>&1` in ++ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; ++ *) ;; ++esac ++ + # libquadmath is sometimes installed as gcc internal library, + # so contrary to our usual policy of *not* looking at gcc internal + # directories we now *do* look at them, in case they contain diff --git a/5.026.003-slim,threaded/Dockerfile b/5.026.003-slim,threaded-stretch/Dockerfile similarity index 100% rename from 5.026.003-slim,threaded/Dockerfile rename to 5.026.003-slim,threaded-stretch/Dockerfile diff --git a/5.026.003-slim-buster/DevelPatchPerl.patch b/5.026.003-slim-buster/DevelPatchPerl.patch new file mode 100644 index 0000000..1701c2a --- /dev/null +++ b/5.026.003-slim-buster/DevelPatchPerl.patch @@ -0,0 +1,21 @@ +diff --git a/hints/linux.sh b/hints/linux.sh +index 3f38ea0..a985a8e 100644 +--- a/hints/linux.sh ++++ b/hints/linux.sh +@@ -178,6 +178,16 @@ case "$plibpth" in + ;; + esac + ++# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some ++# available functions, like memem, won't be used. See the discussion in ++# [perl #133760]. musl doesn't offer an easy way to identify it, but, ++# at least on alpine linux, the ldd --version output contains the ++# string 'musl.' ++case `ldd --version 2>&1` in ++ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; ++ *) ;; ++esac ++ + # libquadmath is sometimes installed as gcc internal library, + # so contrary to our usual policy of *not* looking at gcc internal + # directories we now *do* look at them, in case they contain diff --git a/5.026.003-slim-buster/Dockerfile b/5.026.003-slim-buster/Dockerfile new file mode 100644 index 0000000..576d66a --- /dev/null +++ b/5.026.003-slim-buster/Dockerfile @@ -0,0 +1,53 @@ +FROM debian:buster-slim +LABEL maintainer="Peter Martini , Zak B. Elep " + +COPY *.patch /usr/src/perl/ +WORKDIR /usr/src/perl + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + # cpio \ + curl \ + dpkg-dev \ + # file \ + gcc \ + # g++ \ + # libbz2-dev \ + # libdb-dev \ + libc6-dev \ + # libgdbm-dev \ + # liblzma-dev \ + make \ + netbase \ + patch \ + # procps \ + # zlib1g-dev \ + xz-utils \ + && curl -SL https://www.cpan.org/src/5.0/perl-5.26.3.tar.bz2 -o perl-5.26.3.tar.bz2 \ + && echo '9ff35a613213f29ab53975141af6825ae7d4408895538cac0922e47ab92a1477 *perl-5.26.3.tar.bz2' | sha256sum -c - \ + && tar --strip-components=1 -xaf perl-5.26.3.tar.bz2 -C /usr/src/perl \ + && rm perl-5.26.3.tar.bz2 \ + && cat *.patch | patch -p1 \ + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ + && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ + && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ + && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -des \ + && make -j$(nproc) \ + && TEST_JOBS=$(nproc) make test_harness \ + && make install \ + && cd /usr/src \ + && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ + && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ + && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ + && savedPackages="make netbase" \ + && apt-mark auto '.*' > /dev/null \ + && apt-mark manual $savedPackages \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ + && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ + && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* + +WORKDIR /root + +CMD ["perl5.26.3","-de0"] diff --git a/5.026.003-slim-stretch/DevelPatchPerl.patch b/5.026.003-slim-stretch/DevelPatchPerl.patch new file mode 100644 index 0000000..1701c2a --- /dev/null +++ b/5.026.003-slim-stretch/DevelPatchPerl.patch @@ -0,0 +1,21 @@ +diff --git a/hints/linux.sh b/hints/linux.sh +index 3f38ea0..a985a8e 100644 +--- a/hints/linux.sh ++++ b/hints/linux.sh +@@ -178,6 +178,16 @@ case "$plibpth" in + ;; + esac + ++# For the musl libc, perl should #define _GNU_SOURCE. Otherwise, some ++# available functions, like memem, won't be used. See the discussion in ++# [perl #133760]. musl doesn't offer an easy way to identify it, but, ++# at least on alpine linux, the ldd --version output contains the ++# string 'musl.' ++case `ldd --version 2>&1` in ++ musl*) ccflags="$ccflags -D_GNU_SOURCE" ;; ++ *) ;; ++esac ++ + # libquadmath is sometimes installed as gcc internal library, + # so contrary to our usual policy of *not* looking at gcc internal + # directories we now *do* look at them, in case they contain diff --git a/5.026.003-slim/Dockerfile b/5.026.003-slim-stretch/Dockerfile similarity index 100% rename from 5.026.003-slim/Dockerfile rename to 5.026.003-slim-stretch/Dockerfile diff --git a/5.028.002-main,threaded/DevelPatchPerl.patch b/5.028.002-main,threaded-buster/DevelPatchPerl.patch similarity index 100% rename from 5.028.002-main,threaded/DevelPatchPerl.patch rename to 5.028.002-main,threaded-buster/DevelPatchPerl.patch diff --git a/5.028.002-main,threaded-buster/Dockerfile b/5.028.002-main,threaded-buster/Dockerfile new file mode 100644 index 0000000..5c17398 --- /dev/null +++ b/5.028.002-main,threaded-buster/Dockerfile @@ -0,0 +1,29 @@ +FROM buildpack-deps:buster +LABEL maintainer="Peter Martini , Zak B. Elep " + +COPY *.patch /usr/src/perl/ +WORKDIR /usr/src/perl + +RUN true \ + && curl -SL https://www.cpan.org/src/5.0/perl-5.28.2.tar.xz -o perl-5.28.2.tar.xz \ + && echo '0b0189bfa4b2da20e899b4bdd746ac402e8f746a58e4fcf5516484157f2aab07 *perl-5.28.2.tar.xz' | sha256sum -c - \ + && tar --strip-components=1 -xaf perl-5.28.2.tar.xz -C /usr/src/perl \ + && rm perl-5.28.2.tar.xz \ + && cat *.patch | patch -p1 \ + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ + && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ + && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ + && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -des \ + && make -j$(nproc) \ + && TEST_JOBS=$(nproc) make test_harness \ + && make install \ + && cd /usr/src \ + && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ + && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ + && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ + && true \ + && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* + +WORKDIR /root + +CMD ["perl5.28.2","-de0"] diff --git a/5.028.002-main/DevelPatchPerl.patch b/5.028.002-main,threaded-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.028.002-main/DevelPatchPerl.patch rename to 5.028.002-main,threaded-stretch/DevelPatchPerl.patch diff --git a/5.028.002-main,threaded/Dockerfile b/5.028.002-main,threaded-stretch/Dockerfile similarity index 100% rename from 5.028.002-main,threaded/Dockerfile rename to 5.028.002-main,threaded-stretch/Dockerfile diff --git a/5.028.002-slim,threaded/DevelPatchPerl.patch b/5.028.002-main-buster/DevelPatchPerl.patch similarity index 100% rename from 5.028.002-slim,threaded/DevelPatchPerl.patch rename to 5.028.002-main-buster/DevelPatchPerl.patch diff --git a/5.028.002-main-buster/Dockerfile b/5.028.002-main-buster/Dockerfile new file mode 100644 index 0000000..14d6dab --- /dev/null +++ b/5.028.002-main-buster/Dockerfile @@ -0,0 +1,29 @@ +FROM buildpack-deps:buster +LABEL maintainer="Peter Martini , Zak B. Elep " + +COPY *.patch /usr/src/perl/ +WORKDIR /usr/src/perl + +RUN true \ + && curl -SL https://www.cpan.org/src/5.0/perl-5.28.2.tar.xz -o perl-5.28.2.tar.xz \ + && echo '0b0189bfa4b2da20e899b4bdd746ac402e8f746a58e4fcf5516484157f2aab07 *perl-5.28.2.tar.xz' | sha256sum -c - \ + && tar --strip-components=1 -xaf perl-5.28.2.tar.xz -C /usr/src/perl \ + && rm perl-5.28.2.tar.xz \ + && cat *.patch | patch -p1 \ + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ + && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ + && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ + && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -des \ + && make -j$(nproc) \ + && TEST_JOBS=$(nproc) make test_harness \ + && make install \ + && cd /usr/src \ + && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ + && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ + && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ + && true \ + && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* + +WORKDIR /root + +CMD ["perl5.28.2","-de0"] diff --git a/5.028.002-slim/DevelPatchPerl.patch b/5.028.002-main-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.028.002-slim/DevelPatchPerl.patch rename to 5.028.002-main-stretch/DevelPatchPerl.patch diff --git a/5.028.002-main/Dockerfile b/5.028.002-main-stretch/Dockerfile similarity index 100% rename from 5.028.002-main/Dockerfile rename to 5.028.002-main-stretch/Dockerfile diff --git a/5.030.000-main,threaded/DevelPatchPerl.patch b/5.028.002-slim,threaded-buster/DevelPatchPerl.patch similarity index 100% rename from 5.030.000-main,threaded/DevelPatchPerl.patch rename to 5.028.002-slim,threaded-buster/DevelPatchPerl.patch diff --git a/5.028.002-slim,threaded-buster/Dockerfile b/5.028.002-slim,threaded-buster/Dockerfile new file mode 100644 index 0000000..a95cfee --- /dev/null +++ b/5.028.002-slim,threaded-buster/Dockerfile @@ -0,0 +1,53 @@ +FROM debian:buster-slim +LABEL maintainer="Peter Martini , Zak B. Elep " + +COPY *.patch /usr/src/perl/ +WORKDIR /usr/src/perl + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + # cpio \ + curl \ + dpkg-dev \ + # file \ + gcc \ + # g++ \ + # libbz2-dev \ + # libdb-dev \ + libc6-dev \ + # libgdbm-dev \ + # liblzma-dev \ + make \ + netbase \ + patch \ + # procps \ + # zlib1g-dev \ + xz-utils \ + && curl -SL https://www.cpan.org/src/5.0/perl-5.28.2.tar.xz -o perl-5.28.2.tar.xz \ + && echo '0b0189bfa4b2da20e899b4bdd746ac402e8f746a58e4fcf5516484157f2aab07 *perl-5.28.2.tar.xz' | sha256sum -c - \ + && tar --strip-components=1 -xaf perl-5.28.2.tar.xz -C /usr/src/perl \ + && rm perl-5.28.2.tar.xz \ + && cat *.patch | patch -p1 \ + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ + && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ + && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ + && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -des \ + && make -j$(nproc) \ + && TEST_JOBS=$(nproc) make test_harness \ + && make install \ + && cd /usr/src \ + && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ + && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ + && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ + && savedPackages="make netbase" \ + && apt-mark auto '.*' > /dev/null \ + && apt-mark manual $savedPackages \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ + && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ + && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* + +WORKDIR /root + +CMD ["perl5.28.2","-de0"] diff --git a/5.030.000-main/DevelPatchPerl.patch b/5.028.002-slim,threaded-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.030.000-main/DevelPatchPerl.patch rename to 5.028.002-slim,threaded-stretch/DevelPatchPerl.patch diff --git a/5.028.002-slim,threaded/Dockerfile b/5.028.002-slim,threaded-stretch/Dockerfile similarity index 100% rename from 5.028.002-slim,threaded/Dockerfile rename to 5.028.002-slim,threaded-stretch/Dockerfile diff --git a/5.030.000-slim,threaded/DevelPatchPerl.patch b/5.028.002-slim-buster/DevelPatchPerl.patch similarity index 100% rename from 5.030.000-slim,threaded/DevelPatchPerl.patch rename to 5.028.002-slim-buster/DevelPatchPerl.patch diff --git a/5.028.002-slim-buster/Dockerfile b/5.028.002-slim-buster/Dockerfile new file mode 100644 index 0000000..c17b023 --- /dev/null +++ b/5.028.002-slim-buster/Dockerfile @@ -0,0 +1,53 @@ +FROM debian:buster-slim +LABEL maintainer="Peter Martini , Zak B. Elep " + +COPY *.patch /usr/src/perl/ +WORKDIR /usr/src/perl + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + # cpio \ + curl \ + dpkg-dev \ + # file \ + gcc \ + # g++ \ + # libbz2-dev \ + # libdb-dev \ + libc6-dev \ + # libgdbm-dev \ + # liblzma-dev \ + make \ + netbase \ + patch \ + # procps \ + # zlib1g-dev \ + xz-utils \ + && curl -SL https://www.cpan.org/src/5.0/perl-5.28.2.tar.xz -o perl-5.28.2.tar.xz \ + && echo '0b0189bfa4b2da20e899b4bdd746ac402e8f746a58e4fcf5516484157f2aab07 *perl-5.28.2.tar.xz' | sha256sum -c - \ + && tar --strip-components=1 -xaf perl-5.28.2.tar.xz -C /usr/src/perl \ + && rm perl-5.28.2.tar.xz \ + && cat *.patch | patch -p1 \ + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ + && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ + && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ + && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -des \ + && make -j$(nproc) \ + && TEST_JOBS=$(nproc) make test_harness \ + && make install \ + && cd /usr/src \ + && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ + && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ + && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ + && savedPackages="make netbase" \ + && apt-mark auto '.*' > /dev/null \ + && apt-mark manual $savedPackages \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ + && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ + && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* + +WORKDIR /root + +CMD ["perl5.28.2","-de0"] diff --git a/5.030.000-slim/DevelPatchPerl.patch b/5.028.002-slim-stretch/DevelPatchPerl.patch similarity index 100% rename from 5.030.000-slim/DevelPatchPerl.patch rename to 5.028.002-slim-stretch/DevelPatchPerl.patch diff --git a/5.028.002-slim/Dockerfile b/5.028.002-slim-stretch/Dockerfile similarity index 100% rename from 5.028.002-slim/Dockerfile rename to 5.028.002-slim-stretch/Dockerfile diff --git a/5.030.000-main,threaded-buster/DevelPatchPerl.patch b/5.030.000-main,threaded-buster/DevelPatchPerl.patch new file mode 100644 index 0000000..e69de29 diff --git a/5.030.000-main,threaded-buster/Dockerfile b/5.030.000-main,threaded-buster/Dockerfile new file mode 100644 index 0000000..2e6ab94 --- /dev/null +++ b/5.030.000-main,threaded-buster/Dockerfile @@ -0,0 +1,29 @@ +FROM buildpack-deps:buster +LABEL maintainer="Peter Martini , Zak B. Elep " + +COPY *.patch /usr/src/perl/ +WORKDIR /usr/src/perl + +RUN true \ + && curl -SL https://www.cpan.org/src/5.0/perl-5.30.0.tar.xz -o perl-5.30.0.tar.xz \ + && echo 'ac501cad4af904d33370a9ea39dbb7a8ad4cb19bc7bc8a9c17d8dc3e81ef6306 *perl-5.30.0.tar.xz' | sha256sum -c - \ + && tar --strip-components=1 -xaf perl-5.30.0.tar.xz -C /usr/src/perl \ + && rm perl-5.30.0.tar.xz \ + && cat *.patch | patch -p1 \ + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ + && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ + && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ + && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -des \ + && make -j$(nproc) \ + && TEST_JOBS=$(nproc) make test_harness \ + && make install \ + && cd /usr/src \ + && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ + && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ + && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ + && true \ + && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* + +WORKDIR /root + +CMD ["perl5.30.0","-de0"] diff --git a/5.030.000-main,threaded-stretch/DevelPatchPerl.patch b/5.030.000-main,threaded-stretch/DevelPatchPerl.patch new file mode 100644 index 0000000..e69de29 diff --git a/5.030.000-main,threaded/Dockerfile b/5.030.000-main,threaded-stretch/Dockerfile similarity index 100% rename from 5.030.000-main,threaded/Dockerfile rename to 5.030.000-main,threaded-stretch/Dockerfile diff --git a/5.030.000-main-buster/DevelPatchPerl.patch b/5.030.000-main-buster/DevelPatchPerl.patch new file mode 100644 index 0000000..e69de29 diff --git a/5.030.000-main-buster/Dockerfile b/5.030.000-main-buster/Dockerfile new file mode 100644 index 0000000..0226947 --- /dev/null +++ b/5.030.000-main-buster/Dockerfile @@ -0,0 +1,29 @@ +FROM buildpack-deps:buster +LABEL maintainer="Peter Martini , Zak B. Elep " + +COPY *.patch /usr/src/perl/ +WORKDIR /usr/src/perl + +RUN true \ + && curl -SL https://www.cpan.org/src/5.0/perl-5.30.0.tar.xz -o perl-5.30.0.tar.xz \ + && echo 'ac501cad4af904d33370a9ea39dbb7a8ad4cb19bc7bc8a9c17d8dc3e81ef6306 *perl-5.30.0.tar.xz' | sha256sum -c - \ + && tar --strip-components=1 -xaf perl-5.30.0.tar.xz -C /usr/src/perl \ + && rm perl-5.30.0.tar.xz \ + && cat *.patch | patch -p1 \ + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ + && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ + && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ + && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -des \ + && make -j$(nproc) \ + && TEST_JOBS=$(nproc) make test_harness \ + && make install \ + && cd /usr/src \ + && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ + && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ + && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ + && true \ + && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* + +WORKDIR /root + +CMD ["perl5.30.0","-de0"] diff --git a/5.030.000-main-stretch/DevelPatchPerl.patch b/5.030.000-main-stretch/DevelPatchPerl.patch new file mode 100644 index 0000000..e69de29 diff --git a/5.030.000-main/Dockerfile b/5.030.000-main-stretch/Dockerfile similarity index 100% rename from 5.030.000-main/Dockerfile rename to 5.030.000-main-stretch/Dockerfile diff --git a/5.030.000-slim,threaded-buster/DevelPatchPerl.patch b/5.030.000-slim,threaded-buster/DevelPatchPerl.patch new file mode 100644 index 0000000..e69de29 diff --git a/5.030.000-slim,threaded-buster/Dockerfile b/5.030.000-slim,threaded-buster/Dockerfile new file mode 100644 index 0000000..836ab71 --- /dev/null +++ b/5.030.000-slim,threaded-buster/Dockerfile @@ -0,0 +1,53 @@ +FROM debian:buster-slim +LABEL maintainer="Peter Martini , Zak B. Elep " + +COPY *.patch /usr/src/perl/ +WORKDIR /usr/src/perl + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + # cpio \ + curl \ + dpkg-dev \ + # file \ + gcc \ + # g++ \ + # libbz2-dev \ + # libdb-dev \ + libc6-dev \ + # libgdbm-dev \ + # liblzma-dev \ + make \ + netbase \ + patch \ + # procps \ + # zlib1g-dev \ + xz-utils \ + && curl -SL https://www.cpan.org/src/5.0/perl-5.30.0.tar.xz -o perl-5.30.0.tar.xz \ + && echo 'ac501cad4af904d33370a9ea39dbb7a8ad4cb19bc7bc8a9c17d8dc3e81ef6306 *perl-5.30.0.tar.xz' | sha256sum -c - \ + && tar --strip-components=1 -xaf perl-5.30.0.tar.xz -C /usr/src/perl \ + && rm perl-5.30.0.tar.xz \ + && cat *.patch | patch -p1 \ + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ + && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ + && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ + && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -des \ + && make -j$(nproc) \ + && TEST_JOBS=$(nproc) make test_harness \ + && make install \ + && cd /usr/src \ + && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ + && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ + && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ + && savedPackages="make netbase" \ + && apt-mark auto '.*' > /dev/null \ + && apt-mark manual $savedPackages \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ + && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ + && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* + +WORKDIR /root + +CMD ["perl5.30.0","-de0"] diff --git a/5.030.000-slim,threaded-stretch/DevelPatchPerl.patch b/5.030.000-slim,threaded-stretch/DevelPatchPerl.patch new file mode 100644 index 0000000..e69de29 diff --git a/5.030.000-slim,threaded/Dockerfile b/5.030.000-slim,threaded-stretch/Dockerfile similarity index 100% rename from 5.030.000-slim,threaded/Dockerfile rename to 5.030.000-slim,threaded-stretch/Dockerfile diff --git a/5.030.000-slim-buster/DevelPatchPerl.patch b/5.030.000-slim-buster/DevelPatchPerl.patch new file mode 100644 index 0000000..e69de29 diff --git a/5.030.000-slim-buster/Dockerfile b/5.030.000-slim-buster/Dockerfile new file mode 100644 index 0000000..926c0d5 --- /dev/null +++ b/5.030.000-slim-buster/Dockerfile @@ -0,0 +1,53 @@ +FROM debian:buster-slim +LABEL maintainer="Peter Martini , Zak B. Elep " + +COPY *.patch /usr/src/perl/ +WORKDIR /usr/src/perl + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + # cpio \ + curl \ + dpkg-dev \ + # file \ + gcc \ + # g++ \ + # libbz2-dev \ + # libdb-dev \ + libc6-dev \ + # libgdbm-dev \ + # liblzma-dev \ + make \ + netbase \ + patch \ + # procps \ + # zlib1g-dev \ + xz-utils \ + && curl -SL https://www.cpan.org/src/5.0/perl-5.30.0.tar.xz -o perl-5.30.0.tar.xz \ + && echo 'ac501cad4af904d33370a9ea39dbb7a8ad4cb19bc7bc8a9c17d8dc3e81ef6306 *perl-5.30.0.tar.xz' | sha256sum -c - \ + && tar --strip-components=1 -xaf perl-5.30.0.tar.xz -C /usr/src/perl \ + && rm perl-5.30.0.tar.xz \ + && cat *.patch | patch -p1 \ + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ + && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ + && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ + && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -des \ + && make -j$(nproc) \ + && TEST_JOBS=$(nproc) make test_harness \ + && make install \ + && cd /usr/src \ + && curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \ + && echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \ + && tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \ + && savedPackages="make netbase" \ + && apt-mark auto '.*' > /dev/null \ + && apt-mark manual $savedPackages \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ + && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ + && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/* + +WORKDIR /root + +CMD ["perl5.30.0","-de0"] diff --git a/5.030.000-slim-stretch/DevelPatchPerl.patch b/5.030.000-slim-stretch/DevelPatchPerl.patch new file mode 100644 index 0000000..e69de29 diff --git a/5.030.000-slim/Dockerfile b/5.030.000-slim-stretch/Dockerfile similarity index 100% rename from 5.030.000-slim/Dockerfile rename to 5.030.000-slim-stretch/Dockerfile