summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnuj Mittal <anuj.mittal@intel.com>2018-10-16 10:47:12 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-11-05 16:02:44 +0000
commit0118c2d2aa9f0209a8669017047d9c4d15929402 (patch)
tree4ac4e562b710791b9395180f533ec831d062430b
parent0d6e6eb5101c1f24dabd4232d8a08369512c69e3 (diff)
downloadpoky-0118c2d2aa9f0209a8669017047d9c4d15929402.tar.gz
perl: skip tests that are not useful
Some tests, like the one that compares the hashes for a list of files against those stored in a .dat file, don't make sense for downstream distros packaging perl. Backport a patch from upstream that allows skipping of these tests at runtime. Also remove the local patch trying to keep hashes up-to-date for one of those tests. Fixes [YOCTO #12787] (From OE-Core rev: 557f4618b75b8739a647e46054ab587ae2bbdc25) (From OE-Core rev: 5cabded0895a5634b194ba125d1231b52e09a5e9) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> [Fix up for rocko context] Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/perl/perl/0001-Skip-various-tests-if-PERL_BUILD_PACKAGING-is-set.patch126
-rw-r--r--meta/recipes-devtools/perl/perl/perl-test-customized.patch86
-rw-r--r--meta/recipes-devtools/perl/perl/run-ptest2
-rw-r--r--meta/recipes-devtools/perl/perl_5.24.1.bb2
4 files changed, 128 insertions, 88 deletions
diff --git a/meta/recipes-devtools/perl/perl/0001-Skip-various-tests-if-PERL_BUILD_PACKAGING-is-set.patch b/meta/recipes-devtools/perl/perl/0001-Skip-various-tests-if-PERL_BUILD_PACKAGING-is-set.patch
new file mode 100644
index 0000000000..c5db1b7060
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl/0001-Skip-various-tests-if-PERL_BUILD_PACKAGING-is-set.patch
@@ -0,0 +1,126 @@
1From ba6733216202523a95b0b7ee2e534b8e30b6d7df Mon Sep 17 00:00:00 2001
2From: Dominic Hargreaves <dom@earth.li>
3Date: Sat, 14 Oct 2017 16:27:53 +0200
4Subject: [PATCH] Skip various tests if PERL_BUILD_PACKAGING is set
5
6These are tests which tend not to be useful for downstream packagers
7
8t/porting/customized.t change originally from Todd Rinaldo
9
10Upstream-Status: Backport[https://perl5.git.perl.org/perl.git/ba6733216202523a95b0b7ee2e534b8e30b6d7df]
11
12Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
13---
14 INSTALL | 3 ++-
15 MANIFEST | 1 +
16 PACKAGING | 30 ++++++++++++++++++++++++++++++
17 regen/lib_cleanup.pl | 5 +++++
18 t/porting/customized.t | 1 +
19 t/test.pl | 3 +++
20 6 files changed, 42 insertions(+), 1 deletion(-)
21 create mode 100644 PACKAGING
22
23diff --git a/INSTALL b/INSTALL
24index 636f4bd52f..1285fc69a2 100644
25--- a/INSTALL
26+++ b/INSTALL
27@@ -2714,4 +2714,5 @@ This document is part of the Perl package and may be distributed under
28 the same terms as perl itself, with the following additional request:
29 If you are distributing a modified version of perl (perhaps as part of
30 a larger package) please B<do> modify these installation instructions
31-and the contact information to match your distribution.
32+and the contact information to match your distribution. Additional
33+information for packagers is in F<PACKAGING>.
34diff --git a/MANIFEST b/MANIFEST
35index b3207030a9..32de824ca1 100644
36--- a/MANIFEST
37+++ b/MANIFEST
38@@ -4932,6 +4932,7 @@ os2/perlrexx.c Support perl interpreter embedded in REXX
39 os2/perlrexx.cmd Test perl interpreter embedded in REXX
40 overload.h generated overload enum (public)
41 overload.inc generated overload name table (implementation)
42+PACKAGING notes and best practice for packaging perl 5
43 packsizetables.inc The generated packprops array used in pp_pack.c
44 pad.c Scratchpad functions
45 pad.h Scratchpad headers
46diff --git a/PACKAGING b/PACKAGING
47new file mode 100644
48index 0000000000..0c69b87ba6
49--- /dev/null
50+++ b/PACKAGING
51@@ -0,0 +1,30 @@
52+If you read this file _as_is_, just ignore the funny characters you
53+see. It is written in the POD format (see pod/perlpod.pod) which is
54+specifically designed to be readable as is.
55+
56+=head1 NAME
57+
58+PACKAGING - notes and best practice for packaging perl 5
59+
60+=head1 SYNOPSIS
61+
62+This document is aimed at anyone who is producing their own version of
63+perl for distribution to other users. It is intended as a collection
64+of useful tips, advice and best practice, rather than being a complete
65+packaging manual. The starting point for installing perl remains
66+F<INSTALL>.
67+
68+=head1 Customizing test running
69+
70+A small number of porting tests (those in t/porting) are not well suited
71+to typical distribution packaging scenarios. For example, they assume
72+they are working in a git clone of the upstream Perl repository, or
73+enforce rules which are not relevant to downstream packagers. These can
74+be skipped by setting the environment variable PERL_BUILD_PACKAGING.
75+A complete list of tests which this applied to can be found by searching
76+the codebase for this string.
77+
78+An alternative strategy would be to skip all porting tests, but many of
79+them are useful if additional patches might be applied.
80+
81+=cut
82diff --git a/regen/lib_cleanup.pl b/regen/lib_cleanup.pl
83index 5e40b405a4..6caf74a563 100644
84--- a/regen/lib_cleanup.pl
85+++ b/regen/lib_cleanup.pl
86@@ -164,6 +164,11 @@ if ($TAP && !-d '.git' && !-f 'lib/.gitignore') {
87 exit 0;
88 }
89
90+if ($ENV{'PERL_BUILD_PACKAGING'}) {
91+ print "ok # skip explicitly disabled git tests by PERL_BUILD_PACKAGING\n";
92+ exit 0;
93+}
94+
95 $fh = open_new('lib/.gitignore', '>',
96 { by => $0,
97 from => 'MANIFEST and parsing files in cpan/ dist/ and ext/'});
98diff --git a/t/porting/customized.t b/t/porting/customized.t
99index 45fcafb100..5c3739198c 100644
100--- a/t/porting/customized.t
101+++ b/t/porting/customized.t
102@@ -13,6 +13,7 @@ BEGIN {
103 @INC = qw(lib Porting t);
104 require 'test.pl';
105 skip_all("pre-computed SHA1 won't match under EBCDIC") if $::IS_EBCDIC;
106+ skip_all("This distro may have modified some files in cpan/. Skipping validation.") if $ENV{'PERL_BUILD_PACKAGING'};
107 }
108
109 use strict;
110diff --git a/t/test.pl b/t/test.pl
111index 79e6e25e95..1782dcf73c 100644
112--- a/t/test.pl
113+++ b/t/test.pl
114@@ -212,6 +212,9 @@ sub find_git_or_skip {
115 } else {
116 $reason = 'not being run from a git checkout';
117 }
118+ if ($ENV{'PERL_BUILD_PACKAGING'}) {
119+ $reason = 'PERL_BUILD_PACKAGING is set';
120+ }
121 skip_all($reason) if $_[0] && $_[0] eq 'all';
122 skip($reason, @_);
123 }
124--
1252.17.1
126
diff --git a/meta/recipes-devtools/perl/perl/perl-test-customized.patch b/meta/recipes-devtools/perl/perl/perl-test-customized.patch
deleted file mode 100644
index 90e4dcd5fb..0000000000
--- a/meta/recipes-devtools/perl/perl/perl-test-customized.patch
+++ /dev/null
@@ -1,86 +0,0 @@
1From 64df09205b6ccb5a434a4e53e8e0a32377ab634f Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
3Date: Thu, 24 Nov 2016 10:49:55 -0600
4Subject: [PATCH] The OE core recipies customize some ExtUtils-MakeMaker
5 modules, which causes their MD5 sum to mismatch the provided table and the
6 corresponding tests to fail. Also, we patch several test files with a
7 backported patch. Update list of hashes to reflect the patched files.
8MIME-Version: 1.0
9Content-Type: text/plain; charset=UTF-8
10Content-Transfer-Encoding: 8bit
11
12Upstream-Status: Inappropriate [embedded specific]
13
14Signed-off-by: Bill Randle <william.c.randle@intel.com>
15Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
16---
17 t/porting/customized.dat | 16 ++++++++--------
18 1 file changed, 8 insertions(+), 8 deletions(-)
19
20diff --git a/t/porting/customized.dat b/t/porting/customized.dat
21index defeae1..b5d3c46 100644
22--- a/t/porting/customized.dat
23+++ b/t/porting/customized.dat
24@@ -18,12 +18,12 @@ Encode cpan/Encode/bin/unidump 715f47c2fcc661268f3c6cd3de0d27c72b745cd2
25 Encode cpan/Encode/Encode.pm e146861ff2e6aaa62defa4887eade68dd7b17c8e
26 Encode cpan/Encode/encoding.pm 51c19efc9bfe8467d6ae12a4654f6e7f980715bf
27 ExtUtils::Constant cpan/ExtUtils-Constant/t/Constant.t a0369c919e216fb02767a637666bb4577ad79b02
28-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/bin/instmodsh 5bc04a0173b8b787f465271b6186220326ae8eef
29+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/bin/instmodsh 2070fe968fa344d89aea1bdc6a8dbb0c467d0612
30 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command.pm e3a372e07392179711ea9972087c1105a2780fad
31 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm b72721bd6aa9bf7ec328bda99a8fdb63cac6114d
32 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm 0e1e4c25eddb999fec6c4dc66593f76db34cfd16
33-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm bfd2aa00ca4ed251f342e1d1ad704abbaf5a615e
34-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 5529ae3064365eafd99536621305d52f4ab31b45
35+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm d593d8fdc5c0ebcb6d3701c70fc6640c50d93455
36+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm bf9174c70a0e50ff2fee4552c7df89b37d292da1
37 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm bc88b275af73b8faac6abd59a9aad3f625925810
38 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod 062e5d14a803fbbec8d61803086a3d7997e8a473
39 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod a8a9cab7d67922ed3d6883c864e1fe29aaa6ad89
40@@ -33,7 +33,7 @@ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm 412e95c3
41 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm 8559ef191b4371d0c381472464856a8a73825b2a
42 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm 09d579ed9daea95c3bf47de2e0b8fe3aa0ff6447
43 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm f720c13748293b792f7073aa96e7daecb590b183
44-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 243649a399d293ae7ad0f26b7eab2668aa864ce8
45+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm ec39f68802a6fee8daaa914fc7131f40533cfc23
46 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm b63c90129303b2c17d084fb828aa2c02a2ad85b8
47 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm cabd1c97eaa427067811d92807e34c17940c7350
48 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm 6a185d897a600c34615a6073f4de0ac2f54fef3e
49@@ -42,7 +42,7 @@ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm 1f5eb772eed
50 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm de777d7809c0d73e5d4622a29921731c7e5dff48
51 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm 01e8f08a82b5304009574e3ac0892b4066ff7639
52 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm 5340052b58557a6764f5ac9f8b807fefec404a06
53-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 3c3b93f431b0a51b9592b3d69624dbf5409f6f74
54+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 0d6ed5e4bdcdcd28e968e8629a592fdd0cc84818
55 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm 40397f4cd2d49700b80b4ef490da98add24c5b37
56 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm 147e97fbabb74841f0733dbd5d1b9f3fa51f87c1
57 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm 3f13ed7045ff3443bcb4dd6c95c98b9bd705820f
58@@ -51,7 +51,7 @@ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm 48e8a2fe176
59 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm 6fefe99045b64459905d4721f3a494d8d50f7ab9
60 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm 172778ad21c065a89cd270668eb9f99a7364b41c
61 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/cd.t 0a71fbd646a7be8358b07b6f64f838243cc0aef4
62-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/echo.t 37aec8f794c52e037540757eb5b2556f79419ff7
63+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/echo.t 1a93dd8834e4bb0e5facf08204e782807567b2eb
64 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/NoXS.pm 371cdff1b2375017907cfbc9c8f4a31f5ad10582
65 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/prereq.t 53bda2c549fd13a6b6c13a070ca6bc79883081c0
66 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/vstrings.t 90035a2bdbf45f15b9c3196d072d7cba7e662871
67@@ -165,7 +165,7 @@ bignum cpan/bignum/lib/bigrat.pm 7fccc9df30e43dbbae6e5ea91b26c8046545c9a9
68 bignum cpan/bignum/lib/Math/BigFloat/Trace.pm a6b4b995e18f4083252e6dc72e9bef69671893dd
69 bignum cpan/bignum/lib/Math/BigInt/Trace.pm d9596963673760cae3eeeb752c1eeeec50bb2290
70 libnet cpan/libnet/lib/Net/Cmd.pm a44a10c939a4c35f923c4638054178c32f1d283a
71-libnet cpan/libnet/lib/Net/Config.pm 9bd49bf4de0dc438bceee0ef4baf8ba7a6633327
72+libnet cpan/libnet/lib/Net/Config.pm 2873da5efbffed67934dd297ef6f360b3558cb0b
73 libnet cpan/libnet/lib/Net/Domain.pm 1bbed50f70fd1ff3e1cdf087b19a9349cddfaced
74 libnet cpan/libnet/lib/Net/FTP.pm 40dba553c8d44e1530daec2d07a6e50910401f2e
75 libnet cpan/libnet/lib/Net/FTP/A.pm c570b10730b168990034dcf9cb00e305a100f336
76@@ -176,6 +176,6 @@ libnet cpan/libnet/lib/Net/FTP/L.pm ac1599c775faee0474710e4f75051c8949f13df2
77 libnet cpan/libnet/lib/Net/Netrc.pm 009cfc08f8a5bf247257acb64a21e1b6ad8b2c9c
78 libnet cpan/libnet/lib/Net/NNTP.pm 6325fc05fd9ef81dc8d461a77b2a3f56ad1ae114
79 libnet cpan/libnet/lib/Net/POP3.pm 2d8065646df80061dae5a9e3465a36a6557165fd
80-libnet cpan/libnet/lib/Net/SMTP.pm f3ed7a177b49ee0ba65ac1c414de797cdbbe6886
81+libnet cpan/libnet/lib/Net/SMTP.pm f1beb42bfbef4333ed24ad63d5dd1aa5c67b20c7
82 libnet cpan/libnet/lib/Net/Time.pm b3df8bbaa3bc253fbf77e8386c59a1b2aae13627
83 version cpan/version/lib/version.pm ff75e2076be10bd4c05133cd979fda0b38ca8653
84--
852.1.4
86
diff --git a/meta/recipes-devtools/perl/perl/run-ptest b/meta/recipes-devtools/perl/perl/run-ptest
index 1e2dd1b66d..dad4d42916 100644
--- a/meta/recipes-devtools/perl/perl/run-ptest
+++ b/meta/recipes-devtools/perl/perl/run-ptest
@@ -1,2 +1,2 @@
1#!/bin/sh 1#!/bin/sh
2cd t && ./TEST | sed -u -e 's|\(.*\) .* ok$|PASS: \1|' -e 's|\(.*\) .* skipped|SKIP: \1|' -e 's|\(.*\) \.\(.*\)|FAIL: \1|' 2cd t && PERL_BUILD_PACKAGING=1 ./TEST | sed -u -e 's|\(.*\) .* ok$|PASS: \1|' -e 's|\(.*\) .* skipped|SKIP: \1|' -e 's|\(.*\) \.\(.*\)|FAIL: \1|'
diff --git a/meta/recipes-devtools/perl/perl_5.24.1.bb b/meta/recipes-devtools/perl/perl_5.24.1.bb
index ac78dda4fe..1a9b8d1c3e 100644
--- a/meta/recipes-devtools/perl/perl_5.24.1.bb
+++ b/meta/recipes-devtools/perl/perl_5.24.1.bb
@@ -64,7 +64,6 @@ SRC_URI += " \
64 file://perl-PathTools-don-t-filter-out-blib-from-INC.patch \ 64 file://perl-PathTools-don-t-filter-out-blib-from-INC.patch \
65 file://perl-errno-generation-gcc5.patch \ 65 file://perl-errno-generation-gcc5.patch \
66 file://perl-fix-conflict-between-skip_all-and-END.patch \ 66 file://perl-fix-conflict-between-skip_all-and-END.patch \
67 file://perl-test-customized.patch \
68 file://perl-5.26.1-guard_old_libcrypt_fix.patch \ 67 file://perl-5.26.1-guard_old_libcrypt_fix.patch \
69 file://CVE-2017-12883.patch \ 68 file://CVE-2017-12883.patch \
70 file://CVE-2017-12837.patch \ 69 file://CVE-2017-12837.patch \
@@ -74,6 +73,7 @@ SRC_URI += " \
74SRC_URI_append_class-target = " \ 73SRC_URI_append_class-target = " \
75 file://test/dist-threads-t-join.t-adjust-ps-option.patch \ 74 file://test/dist-threads-t-join.t-adjust-ps-option.patch \
76 file://test/ext-DynaLoader-t-DynaLoader.t-fix-calling-dl_findfil.patch \ 75 file://test/ext-DynaLoader-t-DynaLoader.t-fix-calling-dl_findfil.patch \
76 file://0001-Skip-various-tests-if-PERL_BUILD_PACKAGING-is-set.patch \
77 " 77 "
78 78
79SRC_URI[md5sum] = "af6a84c7c3e2b8b269c105a5db2f6d53" 79SRC_URI[md5sum] = "af6a84c7c3e2b8b269c105a5db2f6d53"