如何替换Yocto中的OpenSSL包?

如何替换Yocto中的OpenSSL包?,openssl,bitbake,yocto,Openssl,Bitbake,Yocto,我想替换中的默认包。具体来说,我想替换OpenSSL 我使用了IMAGE\u INSTALL\u remove,并添加了首选的\u提供者\u virtual/openssl=。但由于某些原因,最初的openssl不断被构建并被其他方法使用 如何使我的openssl构建成为所有系统的默认提供程序?嗯,在Yocto中确实没有SSL提供程序的全局选择 您必须查看openssl中拖拽了哪些配方,并检查它们是否支持切换到gnutls或您想要使用的任何东西 如果我们看一下curl_7.37.1.bb: PA

我想替换中的默认包。具体来说,我想替换OpenSSL

我使用了IMAGE\u INSTALL\u remove,并添加了首选的\u提供者\u virtual/openssl=。但由于某些原因,最初的openssl不断被构建并被其他方法使用


如何使我的openssl构建成为所有系统的默认提供程序?

嗯,在Yocto中确实没有SSL提供程序的全局选择

您必须查看openssl中拖拽了哪些配方,并检查它们是否支持切换到gnutls或您想要使用的任何东西

如果我们看一下curl_7.37.1.bb:

PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "ipv6", "ipv6", "", d)} gnutls zlib"
PACKAGECONFIG_class-native = "ipv6 ssl zlib"
PACKAGECONFIG_class-nativesdk = "ipv6 ssl zlib"

PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
PACKAGECONFIG[ssl] = "--with-ssl,--without-ssl,openssl"
PACKAGECONFIG[gnutls] = "--with-gnutls=${STAGING_LIBDIR}/../,--without-gnutls,gnutls"
PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib"
您将看到curl同时支持gnutls和openssl。在这种特殊情况下,默认情况是对目标构建使用gnutls,对本机主机构建使用openssl。这可以从代码段的前三行确定

因此,如果您想将curl更改为在目标构建中使用openssl,那么您应该在第一个PACKAGECONFIG???=。。。。。。线路


相当多的食谱都得到了这种支持,尽管它们之间的默认值有所不同。因此,您必须准确地检查图像中哪些配方会在openssl中拖动,并在可能的情况下重新配置它们。

谢谢!我会去检查食谱,然后带着修改的结果回来