From 83ad28221a987ec9eb57ca59e30d05f73f39f2f3 Mon Sep 17 00:00:00 2001 From: Samuel Tyler Date: Mon, 15 Sep 2025 10:11:19 +1000 Subject: [PATCH] Ensure digest of lib/unicore/mktables is reproducible For reasons Perl has decided files that don't exist should be given a random "small" digest to make them rebuild always. That isn't helpful for reproducibility. --- steps/perl-5.22.4/pass1.sh | 5 +++++ steps/perl-5.24.4/pass1.sh | 5 +++++ steps/perl-5.30.3/pass1.sh | 6 +++++- steps/perl-5.36.3/pass1.sh | 5 +++++ steps/perl-5.42.0/pass1.sh | 5 +++++ 5 files changed, 25 insertions(+), 1 deletion(-) diff --git a/steps/perl-5.22.4/pass1.sh b/steps/perl-5.22.4/pass1.sh index 3ca73545..3fb0c2c7 100755 --- a/steps/perl-5.22.4/pass1.sh +++ b/steps/perl-5.22.4/pass1.sh @@ -35,6 +35,11 @@ src_prepare() { lib/feature.pm lib/B/Op_private.pm miniperlmain.c unicode_constants.h \ charclass_invlists.h ebcdic_tables.h packsizetables.c overload.c \ mg_names.c + # If an input file does not exist, the "digest" of the input file (used as + # a manifest of inputs) in the generated file is a random number, which is + # not reproducible + touch lib/unicore/mktables.lst + perl regen.pl perl regen_perly.pl -b bison-2.3 perl regen/keywords.pl diff --git a/steps/perl-5.24.4/pass1.sh b/steps/perl-5.24.4/pass1.sh index 2aad1cf5..e1e6cec0 100755 --- a/steps/perl-5.24.4/pass1.sh +++ b/steps/perl-5.24.4/pass1.sh @@ -35,6 +35,11 @@ src_prepare() { lib/feature.pm lib/B/Op_private.pm miniperlmain.c unicode_constants.h \ charclass_invlists.h ebcdic_tables.h mg_names.inc overload.inc \ packsizetables.inc + # If an input file does not exist, the "digest" of the input file (used as + # a manifest of inputs) in the generated file is a random number, which is + # not reproducible + touch lib/unicore/mktables.lst + perl regen.pl perl regen_perly.pl -b bison-2.3 perl regen/keywords.pl diff --git a/steps/perl-5.30.3/pass1.sh b/steps/perl-5.30.3/pass1.sh index a2f3b1e8..035e49f9 100755 --- a/steps/perl-5.30.3/pass1.sh +++ b/steps/perl-5.30.3/pass1.sh @@ -30,6 +30,11 @@ src_prepare() { lib/feature.pm lib/B/Op_private.pm miniperlmain.c unicode_constants.h \ charclass_invlists.h ebcdic_tables.h mg_names.inc overload.inc \ packsizetables.inc uni_keywords.h + # If an input file does not exist, the "digest" of the input file (used as + # a manifest of inputs) in the generated file is a random number, which is + # not reproducible + touch lib/unicore/mktables.lst + perl regen.pl perl regen_perly.pl -b bison-2.3 perl regen/keywords.pl @@ -51,7 +56,6 @@ src_prepare() { ln -s ../perl-* "$mconf_dir"/perl "$mconf_dir"/U/mkglossary > Porting/Glossary - bash dist/Devel-PPPort/devel/mkapidoc.sh . \ dist/Devel-PPPort/parts/apidoc.fnc \ dist/Devel-PPPort/parts/embed.fnc diff --git a/steps/perl-5.36.3/pass1.sh b/steps/perl-5.36.3/pass1.sh index 15ab2ed5..db0caa80 100755 --- a/steps/perl-5.36.3/pass1.sh +++ b/steps/perl-5.36.3/pass1.sh @@ -31,6 +31,11 @@ src_prepare() { miniperlmain.c unicode_constants.h uni_keywords.h \ charclass_invlists.h ebcdic_tables.h mg_names.inc overload.inc \ packsizetables.inc + # If an input file does not exist, the "digest" of the input file (used as + # a manifest of inputs) in the generated file is a random number, which is + # not reproducible + touch lib/unicore/mktables.lst + perl regen.pl perl regen_perly.pl perl regen/keywords.pl diff --git a/steps/perl-5.42.0/pass1.sh b/steps/perl-5.42.0/pass1.sh index 7c387c97..f0ed900e 100755 --- a/steps/perl-5.42.0/pass1.sh +++ b/steps/perl-5.42.0/pass1.sh @@ -34,6 +34,11 @@ src_prepare() { charclass_invlists.h ebcdic_tables.h mg_names.inc overload.inc \ packsizetables.inc regexp_constants.h locale_table.h scope_types.h \ charclass_invlists.inc + # If an input file does not exist, the "digest" of the input file (used as + # a manifest of inputs) in the generated file is a random number, which is + # not reproducible + touch lib/unicore/mktables.lst + perl regen.pl perl regen_perly.pl perl regen/keywords.pl