mirror of
https://git.yoctoproject.org/poky
synced 2026-04-16 06:32:13 +02:00
perl: fix race issues for MakeMaker
Fixed a race issue when compile libhtml-parser-perl and others who use MakeMaker:
[snip]
chmod 755 blib/arch/auto/HTML/Parser/Parser.so
chmod 644 "Parser.bs"
[snip]
The rule INST_DYNAMIC removes '.bs' file which are generated by BOOTSTRAP, but
the have no dependencies, so there is a race issue:
BOOTSTRAP:
touch foo.bs
chmod 755 foo.bs
INST_DYNAMIC:
rm -fr foo.bs
The error would happen when INST_DYNAMIC removes foo.bs after BOOTSTRAP touched
it but before chmod on it.
(From OE-Core rev: f33d7124cd07f776e8b05a26703f6d551357ae09)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
0e10a37618
commit
e3bca3c8d0
@@ -16,6 +16,7 @@ SRC_URI += "\
|
||||
file://perl-PathTools-don-t-filter-out-blib-from-INC.patch \
|
||||
file://0001-Configure-Remove-fstack-protector-strong-for-native-.patch \
|
||||
file://perl-5.26.1-guard_old_libcrypt_fix.patch \
|
||||
file://0001-ExtUtils-MM_Unix.pm-fix-race-issues.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "04622bc4d3941dc7eb571c52b7c02993"
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
From 40702abf3156fa92ef70ee5d445fe52dd6cfbc7d Mon Sep 17 00:00:00 2001
|
||||
From: Robert Yang <liezhi.yang@windriver.com>
|
||||
Date: Thu, 20 Sep 2018 18:48:48 +0800
|
||||
Subject: [PATCH] ExtUtils/MM_Unix.pm: fix race issues
|
||||
|
||||
Fixed a race issue when compile libhtml-parser-perl and others who use MakeMaker:
|
||||
[snip]
|
||||
chmod 755 blib/arch/auto/HTML/Parser/Parser.so
|
||||
chmod 644 "Parser.bs"
|
||||
[snip]
|
||||
|
||||
The rule INST_DYNAMIC removes '.bs' file which are generated by BOOTSTRAP, but
|
||||
the have no dependencies, so there is a race issue:
|
||||
|
||||
BOOTSTRAP:
|
||||
touch foo.bs
|
||||
chmod 755 foo.bs
|
||||
|
||||
INST_DYNAMIC:
|
||||
rm -fr foo.bs
|
||||
|
||||
The error would happen when INST_DYNAMIC removes foo.bs after BOOTSTRAP touched
|
||||
it but before chmod on it.
|
||||
|
||||
Upstream-Status: Backport [https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/44e95e717372abe2b0a6ee55de4b686760b65360]
|
||||
|
||||
Note, This is not a real backport, upstream has totally refactored it in one
|
||||
patch, please see the link above, it's not a good idea to backport such a big
|
||||
patch, I just referred it to fix the problem in a simple way. I mark it as
|
||||
backport is because we can drop the patch after upgrade perl to 5.26 or 5.28.
|
||||
|
||||
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
||||
---
|
||||
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
|
||||
index 95d9761..9cabe2d 100644
|
||||
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
|
||||
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
|
||||
@@ -933,7 +933,7 @@ OTHERLDFLAGS = '.$ld_opt.$otherldflags.'
|
||||
INST_DYNAMIC_DEP = '.$inst_dynamic_dep.'
|
||||
INST_DYNAMIC_FIX = '.$ld_fix.'
|
||||
|
||||
-$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists $(EXPORT_LIST) $(PERL_ARCHIVEDEP) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP)
|
||||
+$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists $(EXPORT_LIST) $(PERL_ARCHIVEDEP) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP) $(BOOTSTRAP)
|
||||
');
|
||||
if ($armaybe ne ':'){
|
||||
$ldfrom = 'tmp$(LIB_EXT)';
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -65,6 +65,7 @@ SRC_URI += " \
|
||||
file://perl-test-customized.patch \
|
||||
file://perl-5.26.1-guard_old_libcrypt_fix.patch \
|
||||
file://CVE-2018-12015.patch \
|
||||
file://0001-ExtUtils-MM_Unix.pm-fix-race-issues.patch \
|
||||
"
|
||||
|
||||
# Fix test case issues
|
||||
|
||||
Reference in New Issue
Block a user