diff options
-rw-r--r-- | meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch | 46 | ||||
-rw-r--r-- | meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.13.bb | 21 |
2 files changed, 67 insertions, 0 deletions
diff --git a/meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch b/meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch new file mode 100644 index 0000000000..78a7e63b9e --- /dev/null +++ b/meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch | |||
@@ -0,0 +1,46 @@ | |||
1 | From d111fd85b25466f7829ccee34493aa0e3b551308 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mingli Yu <mingli.yu@windriver.com> | ||
3 | Date: Tue, 23 Apr 2019 19:13:19 -0700 | ||
4 | Subject: [PATCH] CheckLib.pm: don't execute the binary | ||
5 | |||
6 | Don't execute the binary in build env as the | ||
7 | binary which is generated in cross compile env | ||
8 | may fail when executed in build env. | ||
9 | |||
10 | And it's enough to verify the libs via successully | ||
11 | generate the binary which links the libs as below. | ||
12 | $ /yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot-native/usr/bin/x86_64-poky-linux/x86_64-poky-linux-gcc \ | ||
13 | -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security \ | ||
14 | -Werror=format-security --sysroot=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot \ | ||
15 | -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/perl/5.28.1-r1=/usr/src/debug/perl/5.28.1-r1 \ | ||
16 | -fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/perl/5.28.1-r1=/usr/src/debug/perl/5.28.1-r1 \ | ||
17 | -fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot= -fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot-native= -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 assertlibEhx19yuY.c -L/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot/usr/lib -lcrypto -fstack-protector-strong -o assertlibCOw_eujb | ||
18 | |||
19 | Execute the binary in cross compile env as below | ||
20 | and use the return status to determine the lib's | ||
21 | checking status is not appropriate in cross compile env. | ||
22 | $ /yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/git/assertlibCOw_eujb | ||
23 | |||
24 | Upstream-Status: Inappropriate[oe specific] | ||
25 | |||
26 | Signed-off-by: Mingli Yu <mingli.yu@windriver.com> | ||
27 | --- | ||
28 | lib/Devel/CheckLib.pm | 2 +- | ||
29 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
30 | |||
31 | diff --git a/lib/Devel/CheckLib.pm b/lib/Devel/CheckLib.pm | ||
32 | index e45cfb4..d228bb5 100644 | ||
33 | --- a/lib/Devel/CheckLib.pm | ||
34 | +++ b/lib/Devel/CheckLib.pm | ||
35 | @@ -424,7 +424,7 @@ sub assert_lib { | ||
36 | my $absexefile = File::Spec->rel2abs($exefile); | ||
37 | $absexefile = '"'.$absexefile.'"' if $absexefile =~ m/\s/; | ||
38 | if (!$not_execute && system($absexefile) != 0) { | ||
39 | - push @wrongresult, $lib; | ||
40 | + print "Checking the lib $lib\n"; | ||
41 | } | ||
42 | else { | ||
43 | if ($analyze_binary) { | ||
44 | -- | ||
45 | 2.17.1 | ||
46 | |||
diff --git a/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.13.bb b/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.13.bb new file mode 100644 index 0000000000..f5bdb2087f --- /dev/null +++ b/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.13.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | SUMMARY = "A Perl module that checks whether a particular C library and its headers are available" | ||
2 | DESCRIPTION = "This module provides a way of checking whether a particular library \ | ||
3 | and its headers are available, by attempting to compile a simple program and \ | ||
4 | link against it." | ||
5 | HOMEPAGE = "https://metacpan.org/pod/Devel::CheckLib" | ||
6 | SECTION = "libs" | ||
7 | LICENSE = "Artistic-1.0 | GPL-1.0+" | ||
8 | |||
9 | LIC_FILES_CHKSUM = "file://README;md5=7911cdbb572d25c5f2e2ea17f669efc2" | ||
10 | |||
11 | SRC_URI = "https://cpan.metacpan.org/modules/by-module/Devel/Devel-CheckLib-${PV}.tar.gz \ | ||
12 | file://0001-CheckLib.pm-don-t-execute-the-binary.patch \ | ||
13 | " | ||
14 | SRC_URI[md5sum] = "930216c5abc0f016df8a7539d48c891a" | ||
15 | SRC_URI[sha256sum] = "24adfd908705dfac4bb320711763f37126b75cf54b3566c2c27c7cdef9c429a8" | ||
16 | |||
17 | S = "${WORKDIR}/Devel-CheckLib-${PV}" | ||
18 | |||
19 | inherit cpan | ||
20 | |||
21 | BBCLASSEXTEND="native" | ||