[OE-core] [PATCH v2] curl: allow build with c-ares library support.

Saul Wold sgw at linux.intel.com
Wed Nov 13 16:35:30 UTC 2013


On 11/13/2013 06:51 AM, Yevhen Kyriukha wrote:
> Also added c-ares library recipe.
>
> In libcurl there is an issue with DNS lookups that cause crash on some platforms:
> http://curl.haxx.se/mail/lib-2008-09/0197.html
> To avoid this issue libcurl has to be built with c-ares name resolver.
>
This still does not fully explain why this is needed. Nor credits to 
origin of the c-ares recipe.

You also did not address Phil Blundell's comment about causing other 
issues, and possibibly using the existing libcurl internal threaded 
resolver.

Can you test with the internal resolver to see if it address your 
issues, before we add a new recipe.

> Signed-off-by: Yevhen Kyriukha <kirgene at gmail.com>
> ---
>   meta/recipes-support/c-ares/c-ares_1.10.0.bb | 24 ++++++++++++++++++++++++
>   meta/recipes-support/curl/curl_7.33.0.bb     |  2 ++
>   2 files changed, 26 insertions(+)
>   create mode 100644 meta/recipes-support/c-ares/c-ares_1.10.0.bb
>

This still needs to be split into 2 distict patches, one adding the 
c-ares recipe and a second one to use the PACKAGECONFIG.

Sau!

> diff --git a/meta/recipes-support/c-ares/c-ares_1.10.0.bb b/meta/recipes-support/c-ares/c-ares_1.10.0.bb
> new file mode 100644
> index 0000000..23b3d0e
> --- /dev/null
> +++ b/meta/recipes-support/c-ares/c-ares_1.10.0.bb
> @@ -0,0 +1,24 @@
> +# Copyright (c) 2012-2013 LG Electronics, Inc.
> +
> +DESCRIPTION = "c-ares is a C library that resolves names asynchronously."
> +HOMEPAGE = "http://daniel.haxx.se/projects/c-ares/"
> +SECTION = "libs"
> +LICENSE = "MIT"
> +LIC_FILES_CHKSUM = "file://README;beginline=17;endline=18;md5=b320556568bc067d215a1e34c5b34a14"
> +
> +inherit autotools
> +inherit pkgconfig
> +
> +SRC_URI = "http://c-ares.haxx.se/download/${BP}.tar.gz"
> +SRC_URI[md5sum] = "1196067641411a75d3cbebe074fd36d8"
> +SRC_URI[sha256sum] = "3d701674615d1158e56a59aaede7891f2dde3da0f46a6d3c684e0ae70f52d3db"
> +
> +EXTRA_OECONF = "--enable-shared"
> +
> +# install private headers to ares subdirectory
> +do_install_append() {
> +    install -d ${D}/${includedir}/ares
> +    install -m 0644 ares*.h ${D}/${includedir}/ares/
> +}
> +
> +FILES_${PN}-dev += "${includedir}/ares/*.h"
> diff --git a/meta/recipes-support/curl/curl_7.33.0.bb b/meta/recipes-support/curl/curl_7.33.0.bb
> index 8539fec..717c4f9 100644
> --- a/meta/recipes-support/curl/curl_7.33.0.bb
> +++ b/meta/recipes-support/curl/curl_7.33.0.bb
> @@ -23,6 +23,8 @@ SRC_URI[sha256sum] = "0afde4cd949e2658eddc3cda675b19b165eea1af48ac5f3e1ec1607922
>
>   inherit autotools pkgconfig binconfig
>
> +PACKAGECONFIG[c-ares] = "--enable-ares,--disable-ares,c-ares"
> +
>   EXTRA_OECONF = "--with-zlib=${STAGING_LIBDIR}/../ \
>                   --without-libssh2 \
>                   --with-random=/dev/urandom \
>



More information about the Openembedded-core mailing list