[OE-core] [PATCHv3] iputils: add PACKAGECONFIG for libidn and disable it by default

Andre McCurdy armccurdy at gmail.com
Mon Mar 19 23:32:16 UTC 2018


On Sat, Mar 17, 2018 at 4:26 AM, Martin Jansa <martin.jansa at gmail.com> wrote:
> * it got enabled by default, but without the dependency on libidn in:
>   commit 5997981fa2c22609a88b8cbb595dbf7758b2f7c2
>   Author: Alexander Kanavin <alexander.kanavin at linux.intel.com>
>   AuthorDate: Thu Feb 1 20:02:08 2018 +0200
>   Subject: iputils: update to 20161105
>
> * https://github.com/iputils/iputils/blob/master/RELNOTES.old
>   mentiones that IDN was enabled by default in:
>   [s20160308] and surprisingly the same in [s20150815]
>   but there are no release notes for s20151218 version we were using until
>   now, don't know how it really relates to [s20150815].
>
> * but there are some issues with libidn as described in:
>   https://github.com/iputils/iputils/commit/f3a461603ef4fb7512ade3bdb73fe1824e294547
>   so disable it by default.
>
> * fails with:
>   | In file included from ping_common.c:1:0:
>   | ping.h:39:10: fatal error: idna.h: No such file or directory
>   |  #include <idna.h>
>   |           ^~~~~~~~
>
> * Easiest way to reproduce this failure is to remove libidn from gnutls
>   PACKAGECONFIG or to use gnutls which doesn't have libidn PACKAGECONFIG
>   at all (like the one in meta-gplv2).
>
> * First it leads to following QA issue:
>   http://errors.yoctoproject.org/Errors/Build/53212/
>   ERROR: iputils-s20161105-r0 do_package_qa: QA Issue: iputils-ping rdepends on libidn, but it isn't a build dependency, missing libidn in DEPENDS or PACKAGECONFIG? [build-deps]
>   ERROR: iputils-s20161105-r0 do_package_qa: QA Issue: iputils-traceroute6 rdepends on libidn, but it isn't a build dependency, missing libidn in DEPENDS or PACKAGECONFIG? [build-deps]
>   ERROR: iputils-s20161105-r0 do_package_qa: QA run found fatal errors.
>   Please consider fixing them.
>   ERROR: iputils-s20161105-r0 do_package_qa: Function failed:
>   do_package_qa
>   ERROR: Logfile of failure stored in: /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/iputils/s20161105-r0/temp/log.do_package_qa.7627
>   ERROR: Task (/OE/build/oe-core/openembedded-core/meta/recipes-extended/iputils/iputils_s20161105.bb:do_package_qa) failed with exit code '1'
>
> * But if you cleansstate iputils as well (after removing libidn from
>   gnutls PACKAGECONFIG) to empty iputils RSS, then you get the error about
>   missing idna.h:
>   http://errors.yoctoproject.org/Errors/Build/53213/
>
> * Adding the libidn dependency explicitly in iputils recipe fixes the
>   issue.
>
> Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> ---
>  meta/recipes-extended/iputils/iputils_s20161105.bb | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-extended/iputils/iputils_s20161105.bb b/meta/recipes-extended/iputils/iputils_s20161105.bb
> index ad7dbc4d4a..0125739b03 100644
> --- a/meta/recipes-extended/iputils/iputils_s20161105.bb
> +++ b/meta/recipes-extended/iputils/iputils_s20161105.bb
> @@ -23,8 +23,11 @@ UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>s\d+)"
>
>  EXTRA_OEMAKE = "-e MAKEFLAGS="
>
> +PACKAGECONFIG ?= ""

It looks like mut (and now master-next) have picked up v1 of this
patch, where libidn is enabled by default.

> +PACKAGECONFIG[libidn] = "USE_IDN=yes,USE_IDN=no,libidn"
> +
>  do_compile () {
> -       oe_runmake 'CC=${CC} -D_GNU_SOURCE' VPATH="${STAGING_LIBDIR}:${STAGING_DIR_HOST}/${base_libdir}" all
> +       oe_runmake 'CC=${CC} -D_GNU_SOURCE' VPATH="${STAGING_LIBDIR}:${STAGING_DIR_HOST}/${base_libdir}" ${PACKAGECONFIG_CONFARGS} all
>  }
>
>  do_install () {
> --
> 2.15.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list