diff options
author | Anuj Mittal <anuj.mittal@intel.com> | 2018-10-16 10:47:12 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-10-16 20:35:43 +0100 |
commit | bfa9068b4013bbd9ea47229d34f39853c973b63f (patch) | |
tree | 8678c4c19fd694e3c4206389b1b76d191e504684 | |
parent | 1c106ae64a1776e9e85724293d6b7c7c03f7249d (diff) | |
download | poky-bfa9068b4013bbd9ea47229d34f39853c973b63f.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)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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 @@ | |||
1 | From ba6733216202523a95b0b7ee2e534b8e30b6d7df Mon Sep 17 00:00:00 2001 | ||
2 | From: Dominic Hargreaves <dom@earth.li> | ||
3 | Date: Sat, 14 Oct 2017 16:27:53 +0200 | ||
4 | Subject: [PATCH] Skip various tests if PERL_BUILD_PACKAGING is set | ||
5 | |||
6 | These are tests which tend not to be useful for downstream packagers | ||
7 | |||
8 | t/porting/customized.t change originally from Todd Rinaldo | ||
9 | |||
10 | Upstream-Status: Backport[https://perl5.git.perl.org/perl.git/ba6733216202523a95b0b7ee2e534b8e30b6d7df] | ||
11 | |||
12 | Signed-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 | |||
23 | diff --git a/INSTALL b/INSTALL | ||
24 | index 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>. | ||
34 | diff --git a/MANIFEST b/MANIFEST | ||
35 | index 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 | ||
46 | diff --git a/PACKAGING b/PACKAGING | ||
47 | new file mode 100644 | ||
48 | index 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 | ||
82 | diff --git a/regen/lib_cleanup.pl b/regen/lib_cleanup.pl | ||
83 | index 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/'}); | ||
98 | diff --git a/t/porting/customized.t b/t/porting/customized.t | ||
99 | index 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; | ||
110 | diff --git a/t/test.pl b/t/test.pl | ||
111 | index 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 | -- | ||
125 | 2.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 1d9a56d4c1..0000000000 --- a/meta/recipes-devtools/perl/perl/perl-test-customized.patch +++ /dev/null | |||
@@ -1,86 +0,0 @@ | |||
1 | From 64df09205b6ccb5a434a4e53e8e0a32377ab634f Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com> | ||
3 | Date: Thu, 24 Nov 2016 10:49:55 -0600 | ||
4 | Subject: [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. | ||
8 | MIME-Version: 1.0 | ||
9 | Content-Type: text/plain; charset=UTF-8 | ||
10 | Content-Transfer-Encoding: 8bit | ||
11 | |||
12 | Upstream-Status: Inappropriate [embedded specific] | ||
13 | |||
14 | Signed-off-by: Bill Randle <william.c.randle@intel.com> | ||
15 | Signed-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 | |||
20 | diff --git a/t/porting/customized.dat b/t/porting/customized.dat | ||
21 | index 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 f1ca5ec247eb69ba13a269f34dc205da37b61244 | ||
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 | -- | ||
85 | 2.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 |
2 | cd t && ./TEST | sed -u -e 's|\(.*\) .* ok$|PASS: \1|' -e 's|\(.*\) .* skipped|SKIP: \1|' -e 's|\(.*\) \.\(.*\)|FAIL: \1|' | 2 | cd 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.4.bb b/meta/recipes-devtools/perl/perl_5.24.4.bb index cc5aae9fd0..a644970192 100644 --- a/meta/recipes-devtools/perl/perl_5.24.4.bb +++ b/meta/recipes-devtools/perl/perl_5.24.4.bb | |||
@@ -62,7 +62,6 @@ SRC_URI += " \ | |||
62 | file://perl-PathTools-don-t-filter-out-blib-from-INC.patch \ | 62 | file://perl-PathTools-don-t-filter-out-blib-from-INC.patch \ |
63 | file://perl-errno-generation-gcc5.patch \ | 63 | file://perl-errno-generation-gcc5.patch \ |
64 | file://perl-fix-conflict-between-skip_all-and-END.patch \ | 64 | file://perl-fix-conflict-between-skip_all-and-END.patch \ |
65 | file://perl-test-customized.patch \ | ||
66 | file://perl-5.26.1-guard_old_libcrypt_fix.patch \ | 65 | file://perl-5.26.1-guard_old_libcrypt_fix.patch \ |
67 | file://CVE-2018-12015.patch \ | 66 | file://CVE-2018-12015.patch \ |
68 | file://0001-ExtUtils-MM_Unix.pm-fix-race-issues.patch \ | 67 | file://0001-ExtUtils-MM_Unix.pm-fix-race-issues.patch \ |
@@ -72,6 +71,7 @@ SRC_URI += " \ | |||
72 | SRC_URI_append_class-target = " \ | 71 | SRC_URI_append_class-target = " \ |
73 | file://test/dist-threads-t-join.t-adjust-ps-option.patch \ | 72 | file://test/dist-threads-t-join.t-adjust-ps-option.patch \ |
74 | file://test/ext-DynaLoader-t-DynaLoader.t-fix-calling-dl_findfil.patch \ | 73 | file://test/ext-DynaLoader-t-DynaLoader.t-fix-calling-dl_findfil.patch \ |
74 | file://0001-Skip-various-tests-if-PERL_BUILD_PACKAGING-is-set.patch \ | ||
75 | " | 75 | " |
76 | 76 | ||
77 | SRC_URI[md5sum] = "04622bc4d3941dc7eb571c52b7c02993" | 77 | SRC_URI[md5sum] = "04622bc4d3941dc7eb571c52b7c02993" |