[OE-core] [PATCH 3/4] libidn2: fix buildpaths qa warning

Kang Kai Kai.Kang at windriver.com
Mon Feb 18 09:32:08 UTC 2019


On 2019/2/15 下午5:57, Richard Purdie wrote:
> On Thu, 2019-02-14 at 21:06 -0500, kai.kang at windriver.com wrote:
>> From: Kai Kang <kai.kang at windriver.com>
>>
>> Fix buildpaths qa warning of libidn2:
>>
>>> WARNING: libidn2-2.0.5-r0 do_package_qa: QA Issue: File
>>> /work/core2-64-poky-linux/libidn2/2.0.5-r0/packages-split/libidn2-
>>> dev/usr/lib/pkgconfig/libidn2.pc
>>> in package contained reference to tmpdir [buildpaths]
>> Signed-off-by: Kai Kang <kai.kang at windriver.com>
>> ---
>>   meta/recipes-extended/libidn/libidn2_2.0.5.bb | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/meta/recipes-extended/libidn/libidn2_2.0.5.bb
>> b/meta/recipes-extended/libidn/libidn2_2.0.5.bb
>> index 0daf7a6877..da77c4402d 100644
>> --- a/meta/recipes-extended/libidn/libidn2_2.0.5.bb
>> +++ b/meta/recipes-extended/libidn/libidn2_2.0.5.bb
>> @@ -26,4 +26,8 @@ EXTRA_OECONF += "--disable-rpath \
>>   LICENSE_${PN} = "(GPLv2+ | LGPLv3)"
>>   LICENSE_${PN}-bin = "GPLv3+"
>>   
>> +do_install_append () {
>> +    sed -i 's#${RECIPE_SYSROOT}##'
>> ${D}${libdir}/pkgconfig/libidn2.pc
>> +}
>> +
>>   BBCLASSEXTEND = "native nativesdk"
> I have a strong dislike for editing .pc files after the fact. Part of
> the concern is sed expressions like this bitrot badly, its hard to tell
> if they still work as intended.
>
> Is there not a way we can generate a correct .pc file in the first
> place even if that means a patch?

The buildpaths qa issue is caused by a patch to fix compile-host-path qa 
issue. But I could NOT reproduce compile-host-path issue when revert the 
patch.
I'll turn Khem for some help to check whether could revert that patch.

commit e87b501659eecc22f48b3e3ca8cde6b4de9f663a
Author: Khem Raj <raj.khem at gmail.com>
Date:   Sun Aug 19 10:23:41 2018 -0700

     libidn2: Fix libunistring detection

     libunistring is one such library which many autotooled packages
     mistake to use from build system if its installed on it. This
     is specifically toxic when build host arch is same as target arch
     since we only see the problem during runtime but thankfully OE
     has build time QA which warns about it.

     QA Issue: libidn2: The compile log indicates that host include 
and/or library paths were used.

     Using --with-libunistring-prefix nudges the autoconf system for the
     component to first look into target sysroot before going on to search
     on the build host

     (From OE-Core rev: 9a4ea4ff856e2379888ea5cdcc0e761956e1f53b)

     Signed-off-by: Khem Raj <raj.khem at gmail.com>
     Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

diff --git a/meta/recipes-extended/libidn/libidn2_2.0.5.bb 
b/meta/recipes-extended/libidn/libidn2_2.0.5.bb
index 0d7bddbc7f..0daf7a6877 100644
--- a/meta/recipes-extended/libidn/libidn2_2.0.5.bb
+++ b/meta/recipes-extended/libidn/libidn2_2.0.5.bb
@@ -19,6 +19,10 @@ DEPENDS = "virtual/libiconv libunistring"

  inherit pkgconfig autotools gettext texinfo gtk-doc lib_package

+EXTRA_OECONF += "--disable-rpath \
+ --with-libunistring-prefix=${STAGING_EXECPREFIXDIR} \
+                 "
+
  LICENSE_${PN} = "(GPLv2+ | LGPLv3)"
  LICENSE_${PN}-bin = "GPLv3+"

Thanks.
Kai

>
> Cheers,
>
> Richard
>
>
>

-- 
Kai Kang



More information about the Openembedded-core mailing list