On 2018年10月12日 17:03, Hongxu Jia wrote:
https://github.com/openssl/openssl/commit/4e351ca92e3a1f447cef3d2e330f13941f9412c6

That is a good find. Perhaps we could check for that in sanity.bbclass?
Is it commonly available in distributions like centos?
I am afraid the perl module (Text::Template) is not common,
available on most distro, since they do not need to build
openssl :(

But I am curious that without that perl module, the build seem
ok with newer perl (perl v5.22.1 in ubuntu 1804 and without Text::Template)

I am going on digging the root cause why the build works well
without the perl module


I know the reason

It will try to use Text::Template, if failed it fallback to load the old one in perl source

[snip util/dofile.pl]
use with_fallback "Text::Template 1.46";
[snip util/dofile.pl]

[snip util/perl/with_fallback.pm]
sub import {
    shift;

    use File::Basename;
    use File::Spec::Functions;
    foreach (@_) {
        eval "use $_";
        if ($@) {
            unshift @INC, catdir(dirname(__FILE__),
                                 "..", "..", "external", "perl");
            my $transfer = "transfer::$_";
            eval "use $transfer";
            shift @INC;
            warn $@ if $@;
        }
    }
}
[snip util/perl/with_fallback.pm]

https://github.com/openssl/openssl/commit/8ff2af548303d311ce3591406111f77862875a60
[comments]
Bundle the non core Perl module Text::Template

Because we're using Text::Template and we know it's a non core Perl
module, we choose to bundle it into our source, for convenience.

external/perl/Downloaded.txt document what modules we choose to bundle
this way and exactly where we downloaded it from.

With this changes comes the transfer module for with_fallback.

Reviewed-by: Rich Salz <[email protected]>
[comments]

//Hongxu

//Hongxu


-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to