From 025bdf5ab5d943eb92180de25753401954bb88b8 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Wed, 12 Jan 2022 17:22:51 +0200 Subject: Added the current setup --- .../automake/files/automake-1.10-perl-5.16.patch | 128 +++++++++++++++++++++ ....11-install-sh-avoid-low-risk-race-in-tmp.patch | 77 +++++++++++++ .../files/automake-1.13-dyn-ithreads.patch | 59 ++++++++++ .../automake-1.13-hash-order-workaround.patch | 14 +++ ...utomake-1.13-perl-escape-curly-bracket-r1.patch | 37 ++++++ ....14-install-sh-avoid-low-risk-race-in-tmp.patch | 77 +++++++++++++ ....15-install-sh-avoid-low-risk-race-in-tmp.patch | 82 +++++++++++++ ...tomake-1.16.2-fix-instmany-python.sh-test.patch | 26 +++++ ...ake-1.16.2-fix-py-compile-basedir.sh-test.patch | 26 +++++ .../files/automake-1.16.2-py3-compile.patch | 73 ++++++++++++ 10 files changed, 599 insertions(+) create mode 100644 sys-devel/automake/files/automake-1.10-perl-5.16.patch create mode 100644 sys-devel/automake/files/automake-1.11-install-sh-avoid-low-risk-race-in-tmp.patch create mode 100644 sys-devel/automake/files/automake-1.13-dyn-ithreads.patch create mode 100644 sys-devel/automake/files/automake-1.13-hash-order-workaround.patch create mode 100644 sys-devel/automake/files/automake-1.13-perl-escape-curly-bracket-r1.patch create mode 100644 sys-devel/automake/files/automake-1.14-install-sh-avoid-low-risk-race-in-tmp.patch create mode 100644 sys-devel/automake/files/automake-1.15-install-sh-avoid-low-risk-race-in-tmp.patch create mode 100644 sys-devel/automake/files/automake-1.16.2-fix-instmany-python.sh-test.patch create mode 100644 sys-devel/automake/files/automake-1.16.2-fix-py-compile-basedir.sh-test.patch create mode 100644 sys-devel/automake/files/automake-1.16.2-py3-compile.patch (limited to 'sys-devel/automake/files') diff --git a/sys-devel/automake/files/automake-1.10-perl-5.16.patch b/sys-devel/automake/files/automake-1.10-perl-5.16.patch new file mode 100644 index 0000000..19fe249 --- /dev/null +++ b/sys-devel/automake/files/automake-1.10-perl-5.16.patch @@ -0,0 +1,128 @@ +https://bugs.gentoo.org/424453 + +From 6bf58a59a1f3803e57e3f0378aa9344686707b75 Mon Sep 17 00:00:00 2001 +From: Stefano Lattarini +Date: Mon, 28 May 2012 13:32:03 +0200 +Subject: [PATCH] aclocal: declare function prototypes, do not use '&' in + function calls + +This change will also fix automake bug#11543 (from a report by Matt +Burgess). + +* aclocal.in: Declare prototypes for almost all functions early, before +any actual function definition (but omit the prototype for the dynamically +generated '&search' function). Add prototypes to any function definition. +Remove '&' from function invocations (i.e., simply use "func(ARGS..)" +instead of "&func(ARGS...)"). +* THANKS, NEWS: Update. + +Signed-off-by: Stefano Lattarini +--- + NEWS | 4 ++++ + THANKS | 1 + + aclocal.in | 42 ++++++++++++++++++++++++++++++++++-------- + 3 files changed, 39 insertions(+), 8 deletions(-) + +diff --git a/aclocal.in b/aclocal.in +index dfb851b..e8855d5 100644 +--- a/aclocal.in ++++ b/aclocal.in +@@ -152,8 +152,34 @@ my $erase_me; + + ################################################################ + ++# Prototypes for all subroutines. ++ ++sub unlink_tmp (;$); ++sub xmkdir_p ($); ++sub check_acinclude (); ++sub reset_maps (); ++sub install_file ($$); ++sub list_compare (\@\@); ++sub scan_m4_dirs ($@); ++sub scan_m4_files (); ++sub add_macro ($); ++sub scan_configure_dep ($); ++sub add_file ($); ++sub scan_file ($$$); ++sub strip_redundant_includes (%); ++sub trace_used_macros (); ++sub scan_configure (); ++sub write_aclocal ($@); ++sub usage ($); ++sub version (); ++sub handle_acdir_option ($$); ++sub parse_arguments (); ++sub parse_ACLOCAL_PATH (); ++ ++################################################################ ++ + # Erase temporary file ERASE_ME. Handle signals. +-sub unlink_tmp ++sub unlink_tmp (;$) + { + my ($sig) = @_; + +@@ -350,7 +376,7 @@ sub scan_m4_dirs ($@) + next if $file eq 'aclocal.m4'; + + my $fullfile = File::Spec->canonpath ("$m4dir/$file"); +- &scan_file ($type, $fullfile, 'aclocal'); ++ scan_file ($type, $fullfile, 'aclocal'); + } + closedir (DIR); + } +@@ -361,12 +387,12 @@ sub scan_m4_files () + { + # First, scan configure.ac. It may contain macro definitions, + # or may include other files that define macros. +- &scan_file (FT_USER, $configure_ac, 'aclocal'); ++ scan_file (FT_USER, $configure_ac, 'aclocal'); + + # Then, scan acinclude.m4 if it exists. + if (-f 'acinclude.m4') + { +- &scan_file (FT_USER, 'acinclude.m4', 'aclocal'); ++ scan_file (FT_USER, 'acinclude.m4', 'aclocal'); + } + + # Finally, scan all files in our search paths. +@@ -380,7 +406,7 @@ sub scan_m4_files () + my $search = "sub search {\nmy \$found = 0;\n"; + foreach my $key (reverse sort keys %map) + { +- $search .= ('if (/\b\Q' . $key . '\E(?!\w)/) { & add_macro ("' . $key ++ $search .= ('if (/\b\Q' . $key . '\E(?!\w)/) { add_macro ("' . $key + . '"); $found = 1; }' . "\n"); + } + $search .= "return \$found;\n};\n"; +@@ -403,7 +429,7 @@ sub add_macro ($) + + verb "saw macro $macro"; + $macro_seen{$macro} = 1; +- &add_file ($map{$macro}); ++ add_file ($map{$macro}); + } + + # scan_configure_dep ($file) +@@ -465,7 +491,7 @@ sub scan_configure_dep ($) + } + + add_macro ($_) foreach (@rlist); +- &scan_configure_dep ($_) foreach @ilist; ++ scan_configure_dep ($_) foreach @ilist; + } + + # add_file ($FILE) +@@ -931,7 +957,7 @@ EOF + } + + # Print version and exit. +-sub version() ++sub version () + { + print < +Date: Sat, 15 Aug 2015 04:40:57 -0400 +Subject: install-sh: avoid (low risk) race in /tmp + +Ensure that nobody can cross privilege boundaries by pre-creating +symlink on '$tmpdir' path. + +Just testing 'mkdir -p' by creating '/tmp/ins$RANDOM-$$/d' is not +safe because '/tmp' directory is usually world-writeable and +'/tmp/ins$RANDOM-$$' content could be pretty easily guessed by +attacker (at least for shells where $RANDOM is not supported). +So, as the first step, create the '/tmp/ins$RANDOM-$$' without -p. +This step would fail early if somebody wanted catch us. + +Note that systems that implement (and have enabled) +fs.protected_symlinks kernel feature are not affected even without +this commit. + +References: +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760455 +https://bugzilla.redhat.com/show_bug.cgi?id=1140725 + +* lib/install-sh: Implement safer 'mkdir -p' test by running +'$mkdirprog $mkdir_mode "$tmpdir"' first. +(scriptversion): Bump. + +--- a/lib/install-sh ++++ b/lib/install-sh +@@ -345,34 +345,41 @@ do + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) ++ # $RANDOM is not portable (e.g. dash); use it when possible to ++ # lower collision chance + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ +- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 ++ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 + ++ # As "mkdir -p" follows symlinks and we work in /tmp possibly; so ++ # create the $tmpdir first (and fail if unsuccessful) to make sure ++ # that nobody tries to guess the $tmpdir name. + if (umask $mkdir_umask && +- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 ++ $mkdirprog $mkdir_mode "$tmpdir" && ++ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writeable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. +- ls_ld_tmpdir=`ls -ld "$tmpdir"` ++ test_tmpdir="$tmpdir/a" ++ ls_ld_tmpdir=`ls -ld "$test_tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && +- $mkdirprog -m$different_mode -p -- "$tmpdir" && { +- ls_ld_tmpdir_1=`ls -ld "$tmpdir"` ++ $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { ++ ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi +- rmdir "$tmpdir/d" "$tmpdir" ++ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. +- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null ++ rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; + esac;; diff --git a/sys-devel/automake/files/automake-1.13-dyn-ithreads.patch b/sys-devel/automake/files/automake-1.13-dyn-ithreads.patch new file mode 100644 index 0000000..f790e77 --- /dev/null +++ b/sys-devel/automake/files/automake-1.13-dyn-ithreads.patch @@ -0,0 +1,59 @@ +https://bugs.gentoo.org/343439 + +From 182626687f2640609f8eb28ad1b04b078342f2c7 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Sat, 12 Jan 2013 00:19:40 -0500 +Subject: [PATCH] ithreads: use runtime (not configure time) detection of perl + threads + +I can't imagine the runtime checks being a big runtime penalty, so there +shouldn't be a need to do the checks at configure check and hardcode the +result in the generated automake. + +With the current system, it means if you change your perl config (build +perl w/threads, build automake, build perl w/out threads), or deploy a +compiled automake package on a different system (build had threads, but +deployed system does not), you get errors when trying to run automake. + +So take the logic from configure.ac and move it to the one place where +PERL_THREADS is used (lib/Automake/Config.in) and do the version/config +checking at runtime. + +* bootstrap.sh (PERL_THREADS): Delete assignment and use in sed. +* configure.ac (am_cv_prog_PERL_ithreads, PERL_THREADS): Delete all code +related to these two variables. +* lib/Automake/Config.in (perl_threads): Initialize to 0, and only set to +1 if the perl version is at least 5.007_002, and useithreads is in Config. + +Copyright-paperwork-exempt: yes +Signed-off-by: Mike Frysinger +Signed-off-by: Stefano Lattarini +--- + bootstrap.sh | 2 -- + configure.ac | 26 -------------------------- + lib/Automake/Config.in | 9 ++++++++- + 3 files changed, 8 insertions(+), 29 deletions(-) + +diff --git a/lib/Automake/Config.in b/lib/Automake/Config.in +index fe6ef9d..885e74e 100644 +--- a/lib/Automake/Config.in ++++ b/lib/Automake/Config.in +@@ -33,7 +33,14 @@ our $PACKAGE_BUGREPORT = '@PACKAGE_BUGREPORT@'; + our $VERSION = '@VERSION@'; + our $RELEASE_YEAR = '@RELEASE_YEAR@'; + our $libdir = '@datadir@/@PACKAGE@-@APIVERSION@'; +-our $perl_threads = @PERL_THREADS@; ++ ++our $perl_threads = 0; ++# We need at least this version for CLONE support. ++if (eval { require 5.007_002; }) ++ { ++ use Config; ++ $perl_threads = $Config{useithreads}; ++ } + + 1; + +-- +1.8.0.2 + diff --git a/sys-devel/automake/files/automake-1.13-hash-order-workaround.patch b/sys-devel/automake/files/automake-1.13-hash-order-workaround.patch new file mode 100644 index 0000000..79b81e6 --- /dev/null +++ b/sys-devel/automake/files/automake-1.13-hash-order-workaround.patch @@ -0,0 +1,14 @@ +--- a/t/primary-prefix-invalid-couples.tap ++++ b/t/primary-prefix-invalid-couples.tap +@@ -186,8 +186,10 @@ grep -v 'dir.* not a legitimate directory' stderr && exit 1 + # Check that the same failures are present without the '--add-missing' + # option. + mv stderr stderr.old ++cat stderr.old | sort > a + AUTOMAKE_fails -d "automake error out on mismatched prefix/primary couples" ++cat stderr | sort > b + command_ok_ "... and with the same diagnostic of 'automake -a'" \ +- diff stderr.old stderr ++ diff a b + + : diff --git a/sys-devel/automake/files/automake-1.13-perl-escape-curly-bracket-r1.patch b/sys-devel/automake/files/automake-1.13-perl-escape-curly-bracket-r1.patch new file mode 100644 index 0000000..bf8819a --- /dev/null +++ b/sys-devel/automake/files/automake-1.13-perl-escape-curly-bracket-r1.patch @@ -0,0 +1,37 @@ +http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21001 + +From 34163794a58b5bd91c5d6bd9adf5437571c7a479 Mon Sep 17 00:00:00 2001 +From: Pavel Raiskup +Date: Tue, 7 Jul 2015 10:54:24 +0200 +Subject: [PATCH] bin/automake: escape '{' in regexp pattern + +Based on perlre(1) documentation: +.. in Perl v5.26, literal uses of a curly bracket will be required +to be escaped, say by preceding them with a backslash ("\{" ) or +enclosing them within square brackets ("[{]") .. + +References: +https://bugzilla.redhat.com/1239379 + +* bin/automake.in (substitute_ac_subst_variables): Escape the +occurrence of '{' character. +--- + bin/automake.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bin/automake.in b/bin/automake.in +index 0c29184..c294ced 100644 +--- a/automake.in ++++ b/automake.in +@@ -3898,7 +3898,7 @@ sub substitute_ac_subst_variables_worker + sub substitute_ac_subst_variables ($) + { + my ($text) = @_; +- $text =~ s/\${([^ \t=:+{}]+)}/&substitute_ac_subst_variables_worker ($1)/ge; ++ $text =~ s/\$\{([^ \t=:+{}]+)}/&substitute_ac_subst_variables_worker ($1)/ge; + return $text; + } + +-- +2.1.0 + diff --git a/sys-devel/automake/files/automake-1.14-install-sh-avoid-low-risk-race-in-tmp.patch b/sys-devel/automake/files/automake-1.14-install-sh-avoid-low-risk-race-in-tmp.patch new file mode 100644 index 0000000..6793706 --- /dev/null +++ b/sys-devel/automake/files/automake-1.14-install-sh-avoid-low-risk-race-in-tmp.patch @@ -0,0 +1,77 @@ +From: Pavel Raiskup +Date: Sat, 15 Aug 2015 04:40:57 -0400 +Subject: install-sh: avoid (low risk) race in /tmp + +Ensure that nobody can cross privilege boundaries by pre-creating +symlink on '$tmpdir' path. + +Just testing 'mkdir -p' by creating '/tmp/ins$RANDOM-$$/d' is not +safe because '/tmp' directory is usually world-writeable and +'/tmp/ins$RANDOM-$$' content could be pretty easily guessed by +attacker (at least for shells where $RANDOM is not supported). +So, as the first step, create the '/tmp/ins$RANDOM-$$' without -p. +This step would fail early if somebody wanted catch us. + +Note that systems that implement (and have enabled) +fs.protected_symlinks kernel feature are not affected even without +this commit. + +References: +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760455 +https://bugzilla.redhat.com/show_bug.cgi?id=1140725 + +* lib/install-sh: Implement safer 'mkdir -p' test by running +'$mkdirprog $mkdir_mode "$tmpdir"' first. +(scriptversion): Bump. + +--- a/lib/install-sh ++++ b/lib/install-sh +@@ -345,34 +345,41 @@ do + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) ++ # $RANDOM is not portable (e.g. dash); use it when possible to ++ # lower collision chance + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ +- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 ++ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 + ++ # As "mkdir -p" follows symlinks and we work in /tmp possibly; so ++ # create the $tmpdir first (and fail if unsuccessful) to make sure ++ # that nobody tries to guess the $tmpdir name. + if (umask $mkdir_umask && +- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 ++ $mkdirprog $mkdir_mode "$tmpdir" && ++ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. +- ls_ld_tmpdir=`ls -ld "$tmpdir"` ++ test_tmpdir="$tmpdir/a" ++ ls_ld_tmpdir=`ls -ld "$test_tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && +- $mkdirprog -m$different_mode -p -- "$tmpdir" && { +- ls_ld_tmpdir_1=`ls -ld "$tmpdir"` ++ $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { ++ ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi +- rmdir "$tmpdir/d" "$tmpdir" ++ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. +- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null ++ rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; + esac;; diff --git a/sys-devel/automake/files/automake-1.15-install-sh-avoid-low-risk-race-in-tmp.patch b/sys-devel/automake/files/automake-1.15-install-sh-avoid-low-risk-race-in-tmp.patch new file mode 100644 index 0000000..1fabdd5 --- /dev/null +++ b/sys-devel/automake/files/automake-1.15-install-sh-avoid-low-risk-race-in-tmp.patch @@ -0,0 +1,82 @@ +From: Pavel Raiskup +Date: Sat, 15 Aug 2015 04:40:57 -0400 +Subject: install-sh: avoid (low risk) race in /tmp + +Ensure that nobody can cross privilege boundaries by pre-creating +symlink on '$tmpdir' path. + +Just testing 'mkdir -p' by creating '/tmp/ins$RANDOM-$$/d' is not +safe because '/tmp' directory is usually world-writeable and +'/tmp/ins$RANDOM-$$' content could be pretty easily guessed by +attacker (at least for shells where $RANDOM is not supported). +So, as the first step, create the '/tmp/ins$RANDOM-$$' without -p. +This step would fail early if somebody wanted catch us. + +Note that systems that implement (and have enabled) +fs.protected_symlinks kernel feature are not affected even without +this commit. + +References: +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760455 +https://bugzilla.redhat.com/show_bug.cgi?id=1140725 + +* lib/install-sh: Implement safer 'mkdir -p' test by running +'$mkdirprog $mkdir_mode "$tmpdir"' first. +(scriptversion): Bump. +--- + lib/install-sh | 23 +++++++++++++++-------- + 1 file changed, 15 insertions(+), 8 deletions(-) + +diff --git a/lib/install-sh b/lib/install-sh +index 0b0fdcb..59990a1 100755 +--- a/lib/install-sh ++++ b/lib/install-sh +@@ -324,34 +324,41 @@ do + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) ++ # $RANDOM is not portable (e.g. dash); use it when possible to ++ # lower collision chance + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ +- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 ++ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 + ++ # As "mkdir -p" follows symlinks and we work in /tmp possibly; so ++ # create the $tmpdir first (and fail if unsuccessful) to make sure ++ # that nobody tries to guess the $tmpdir name. + if (umask $mkdir_umask && +- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 ++ $mkdirprog $mkdir_mode "$tmpdir" && ++ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. +- ls_ld_tmpdir=`ls -ld "$tmpdir"` ++ test_tmpdir="$tmpdir/a" ++ ls_ld_tmpdir=`ls -ld "$test_tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && +- $mkdirprog -m$different_mode -p -- "$tmpdir" && { +- ls_ld_tmpdir_1=`ls -ld "$tmpdir"` ++ $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { ++ ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi +- rmdir "$tmpdir/d" "$tmpdir" ++ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. +- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null ++ rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; + esac;; diff --git a/sys-devel/automake/files/automake-1.16.2-fix-instmany-python.sh-test.patch b/sys-devel/automake/files/automake-1.16.2-fix-instmany-python.sh-test.patch new file mode 100644 index 0000000..5cddb4c --- /dev/null +++ b/sys-devel/automake/files/automake-1.16.2-fix-instmany-python.sh-test.patch @@ -0,0 +1,26 @@ +From 50daac4f15d207b6b69011b9cdde62b56c1c8b10 Mon Sep 17 00:00:00 2001 +From: Thomas Deutschmann +Date: Fri, 20 Nov 2020 02:17:31 +0100 +Subject: [PATCH 2/2] tests: fix instmany-python.sh: increase limit + +Still failing with 4500 on Gentoo. Passing with 7000... +--- + t/instmany-python.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/t/instmany-python.sh b/t/instmany-python.sh +index dce3594b5..1c482520d 100644 +--- a/t/instmany-python.sh ++++ b/t/instmany-python.sh +@@ -21,7 +21,7 @@ + required='python' + . test-init.sh + +-limit=4500 ++limit=7000 + subdir=long_subdir_name_with_many_characters + nfiles=81 + list=$(seq_ 1 $nfiles) +-- +2.29.2 + diff --git a/sys-devel/automake/files/automake-1.16.2-fix-py-compile-basedir.sh-test.patch b/sys-devel/automake/files/automake-1.16.2-fix-py-compile-basedir.sh-test.patch new file mode 100644 index 0000000..f49dd25 --- /dev/null +++ b/sys-devel/automake/files/automake-1.16.2-fix-py-compile-basedir.sh-test.patch @@ -0,0 +1,26 @@ +From e3db5b8038a902501a354b6921dcebcb4180f50a Mon Sep 17 00:00:00 2001 +From: Thomas Deutschmann +Date: Fri, 20 Nov 2020 02:13:56 +0100 +Subject: [PATCH 1/2] tests: fix py-compile-basedir.sh: add missing test call + +Fixes: b279a0d46 ("tests: in python tests, do not require .pyo files (for python3)") +--- + t/py-compile-basedir.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/t/py-compile-basedir.sh b/t/py-compile-basedir.sh +index 13a22ff1d..1a16ee2d7 100644 +--- a/t/py-compile-basedir.sh ++++ b/t/py-compile-basedir.sh +@@ -43,7 +43,7 @@ for d in foo foo/bar "$(pwd)/foo" . .. ../foo ''; do + py_installed "$d2/sub/$f.pyc" + files=$(find "$d2" | grep '\.py[co]$') + # with new-enough Python3, there are six files. +- test $(echo "$files" | wc -l) -eq 4 || $(echo "$files" | wc -l) -eq 6 ++ test $(echo "$files" | wc -l) -eq 4 || test $(echo "$files" | wc -l) -eq 6 + case $d2 in + .|..) rm -f $files;; + *) rm -rf "$d2";; +-- +2.29.2 + diff --git a/sys-devel/automake/files/automake-1.16.2-py3-compile.patch b/sys-devel/automake/files/automake-1.16.2-py3-compile.patch new file mode 100644 index 0000000..7924f20 --- /dev/null +++ b/sys-devel/automake/files/automake-1.16.2-py3-compile.patch @@ -0,0 +1,73 @@ +From aa449bd4c836abf0320033c5077259fc760b622d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Sun, 3 Nov 2019 11:51:19 +0100 +Subject: [PATCH] py-compile: Support -OO for py3.5+, and -O&-OO for pypy3 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Michał Górny +--- + lib/py-compile | 29 +++++++++++++++++++++++++---- + 1 file changed, 25 insertions(+), 4 deletions(-) + +diff --git a/lib/py-compile b/lib/py-compile +index e56d98d6e..5b9ae5d5d 100755 +--- a/lib/py-compile ++++ b/lib/py-compile +@@ -126,12 +126,10 @@ if test "$python_major" -le 2; then + import_lib=imp + import_test="hasattr(imp, 'get_tag')" + import_call=imp.cache_from_source +- import_arg2=', False' # needed in one call and not the other + else + import_lib=importlib + import_test="hasattr(sys.implementation, 'cache_tag')" + import_call=importlib.util.cache_from_source +- import_arg2= + fi + + $PYTHON -c " +@@ -159,7 +157,7 @@ $PYTHON -O -c " + import sys, os, py_compile, $import_lib + + # pypy does not use .pyo optimization +-if hasattr(sys, 'pypy_translation_info'): ++if hasattr(sys, 'pypy_translation_info') and sys.hexversion < 0x03050000: + sys.exit(0) + + files = '''$files''' +@@ -173,7 +171,30 @@ for file in files.split(): + sys.stdout.write(file) + sys.stdout.flush() + if $import_test: +- py_compile.compile(filepath, $import_call(filepath$import_arg2), path) ++ py_compile.compile(filepath, $import_call(filepath), path) ++ else: ++ py_compile.compile(filepath, filepath + 'o', path) ++sys.stdout.write('\n')" 2>/dev/null || : ++ ++$PYTHON -OO -c " ++import sys, os, py_compile, $import_lib ++ ++# python<3.5 does not have split files for -O and -OO ++if sys.hexversion < 0x03050000: ++ sys.exit(0) ++ ++files = '''$files''' ++sys.stdout.write('Byte-compiling python modules (optimized versions) ...\n') ++for file in files.split(): ++ $pathtrans ++ $filetrans ++ if not os.path.exists(filepath) or not (len(filepath) >= 3 ++ and filepath[-3:] == '.py'): ++ continue ++ sys.stdout.write(file) ++ sys.stdout.flush() ++ if $import_test: ++ py_compile.compile(filepath, $import_call(filepath), path) + else: + py_compile.compile(filepath, filepath + 'o', path) + sys.stdout.write('\n')" 2>/dev/null || : +-- +2.25.2 -- cgit v1.2.3