live-bootstrap/steps/perl-5.18.4/patches/Generate-Errno-and-Pod-Functions-with-deterministic-.patch
Samuel Tyler 7bc5ec4555 Make Perl 5.18 reproducible
All of these only apply to Perl 5.18 and future perls are okay.
This commit backports
- a patch to make the include order of files in Encode package
  reproducible
- a patch to make Errno and Pod pm files reproducible
- a patch to make the ordering of .a files deterministic using ParseXS
2025-10-06 12:21:53 +11:00

70 lines
2.2 KiB
Diff

SPDX-FileCopyrightText: 2013 Nicholas Clark <nick@ccl4.org>
SPDX-License-Identifier: Artistic-1.0
Direct application of this commit to ensure reproducibility of Errno.pm and
Functions.pm.
From 826ca1caadb538106237a9a41004ce52e2c29c51 Mon Sep 17 00:00:00 2001
From: Nicholas Clark <nick@ccl4.org>
Date: Fri, 12 Jul 2013 16:50:13 +0200
Subject: [PATCH] Generate Errno and Pod::Functions with deterministic order.
Previously the order of duplicate names in Errno was determined by hash
iteration order, as was the order of the list of types for built-ins in
Pod::Functions. With hash randomisation this meant that the generated file
could differ between builds, which isn't ideal if the input is the same.
(Spotted as a side effect of running a diff on two installation trees.)
---
ext/Errno/Errno_pm.PL | 4 ++--
ext/Pod-Functions/Functions_pm.PL | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git perl-5.18.4/ext/Errno/Errno_pm.PL perl-5.18.4/ext/Errno/Errno_pm.PL
index b7079112bf..b372875480 100644
--- perl-5.18.4/ext/Errno/Errno_pm.PL
+++ perl-5.18.4/ext/Errno/Errno_pm.PL
@@ -2,7 +2,7 @@ use ExtUtils::MakeMaker;
use Config;
use strict;
-our $VERSION = "1.18";
+our $VERSION = "1.19";
my %err = ();
my %wsa = ();
@@ -305,7 +305,7 @@ BEGIN {
%err = (
EDQ
- my @err = sort { $err{$a} <=> $err{$b} }
+ my @err = sort { $err{$a} <=> $err{$b} || $a cmp $b }
grep { $err{$_} =~ /-?\d+$/ } keys %err;
foreach $err (@err) {
diff --git perl-5.18.4/ext/Pod-Functions/Functions_pm.PL perl-5.18.4/ext/Pod-Functions/Functions_pm.PL
index 0d38aef003..7cf0b51e92 100644
--- perl-5.18.4/ext/Pod-Functions/Functions_pm.PL
+++ perl-5.18.4/ext/Pod-Functions/Functions_pm.PL
@@ -198,7 +198,7 @@ L<perlfunc/"Perl Functions by Category"> section.
=cut
-our $VERSION = '1.06';
+our $VERSION = '1.07';
require Exporter;
@@ -265,7 +265,7 @@ foreach my $func (sort_funcs(keys %Flavor)) {
my $desc = $Flavor{$func};
die "No types listed for $func" unless $Type{$func};
next if $Omit{$func};
- print $fh join("\t", $func, @{$Type{$func}}, $desc), "\n";
+ print $fh join("\t", $func, (sort @{$Type{$func}}), $desc), "\n";
}
close $fh or die "Can't close '$temp': $!";
--
2.49.1