diff mbox series

icu: Add coreutils-native as DEPENDS

Message ID 20250418081919.382562-1-changqing.li@windriver.com
State New
Headers show
Series icu: Add coreutils-native as DEPENDS | expand

Commit Message

Changqing Li April 18, 2025, 8:19 a.m. UTC
From: Changqing Li <changqing.li@windriver.com>

icu will check program install path during do_configure, eg:
checking for a BSD-compatible install... /path/to/install -c

And this path will be writen into pkgdata.inc:
INSTALL_CMD=$(INSTALL-L)

Decided by if install is installed into recipe-sysroot-native during
do_configure stage, the INSTALL_CMD could be
/build/tmp/work/corei7-64-wrs-linux/icu/76-1/recipe-sysroot-native/usr/bin/install
or /build/tmp/hosttools/install

Add coreutils-native as DEPENDS to make a determined result of
INSTALL_CMD, avoid vary caused by the execute sequence of another task
which DEPENDS on coreutils-native and also independent with do_configure

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 meta/recipes-support/icu/icu_76-1.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Mathieu Dubois-Briand April 18, 2025, 4:26 p.m. UTC | #1
On Fri Apr 18, 2025 at 10:19 AM CEST, Changqing Li via lists.openembedded.org wrote:
> From: Changqing Li <changqing.li@windriver.com>
>
> icu will check program install path during do_configure, eg:
> checking for a BSD-compatible install... /path/to/install -c
>
> And this path will be writen into pkgdata.inc:
> INSTALL_CMD=$(INSTALL-L)
>
> Decided by if install is installed into recipe-sysroot-native during
> do_configure stage, the INSTALL_CMD could be
> /build/tmp/work/corei7-64-wrs-linux/icu/76-1/recipe-sysroot-native/usr/bin/install
> or /build/tmp/hosttools/install
>
> Add coreutils-native as DEPENDS to make a determined result of
> INSTALL_CMD, avoid vary caused by the execute sequence of another task
> which DEPENDS on coreutils-native and also independent with do_configure
>
> Signed-off-by: Changqing Li <changqing.li@windriver.com>
> ---

Hi,

Thanks for your patch.

It looks like this is raising a QA issue:

ERROR: nativesdk-icu-76-1-r0 do_package_qa: QA Issue: File /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/icu/76.1/pkgdata.inc in package nativesdk-icu-dev contains reference to TMPDIR [buildpaths]
ERROR: nativesdk-icu-76-1-r0 do_package_qa: Fatal QA errors were found, failing task.

https://autobuilder.yoctoproject.org/valkyrie/#/builders/43/builds/1404

Can you have a look at this error please?
Changqing Li April 21, 2025, 1:55 a.m. UTC | #2
On 4/19/25 00:26, Mathieu Dubois-Briand wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> On Fri Apr 18, 2025 at 10:19 AM CEST, Changqing Li via lists.openembedded.org wrote:
>> From: Changqing Li<changqing.li@windriver.com>
>>
>> icu will check program install path during do_configure, eg:
>> checking for a BSD-compatible install... /path/to/install -c
>>
>> And this path will be writen into pkgdata.inc:
>> INSTALL_CMD=$(INSTALL-L)
>>
>> Decided by if install is installed into recipe-sysroot-native during
>> do_configure stage, the INSTALL_CMD could be
>> /build/tmp/work/corei7-64-wrs-linux/icu/76-1/recipe-sysroot-native/usr/bin/install
>> or /build/tmp/hosttools/install
>>
>> Add coreutils-native as DEPENDS to make a determined result of
>> INSTALL_CMD, avoid vary caused by the execute sequence of another task
>> which DEPENDS on coreutils-native and also independent with do_configure
>>
>> Signed-off-by: Changqing Li<changqing.li@windriver.com>
>> ---
> Hi,
>
> Thanks for your patch.
>
> It looks like this is raising a QA issue:
>
> ERROR: nativesdk-icu-76-1-r0 do_package_qa: QA Issue: File /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/icu/76.1/pkgdata.inc in package nativesdk-icu-dev contains reference to TMPDIR [buildpaths]
> ERROR: nativesdk-icu-76-1-r0 do_package_qa: Fatal QA errors were found, failing task.
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/43/builds/1404
>
> Can you have a look at this error please?

Hi,

Thanks, V2 is sent.

Regards

Changqing

> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
Richard Purdie April 21, 2025, 12:26 p.m. UTC | #3
On Fri, 2025-04-18 at 16:19 +0800, Changqing Li via lists.openembedded.org wrote:
> From: Changqing Li <changqing.li@windriver.com>
> 
> icu will check program install path during do_configure, eg:
> checking for a BSD-compatible install... /path/to/install -c
> 
> And this path will be writen into pkgdata.inc:
> INSTALL_CMD=$(INSTALL-L)
> 
> Decided by if install is installed into recipe-sysroot-native during
> do_configure stage, the INSTALL_CMD could be
> /build/tmp/work/corei7-64-wrs-linux/icu/76-1/recipe-sysroot-native/usr/bin/install
> or /build/tmp/hosttools/install
> 
> Add coreutils-native as DEPENDS to make a determined result of
> INSTALL_CMD, avoid vary caused by the execute sequence of another task
> which DEPENDS on coreutils-native and also independent with do_configure
> 
> Signed-off-by: Changqing Li <changqing.li@windriver.com>
> ---
>  meta/recipes-support/icu/icu_76-1.bb | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

This needs to be fixed differently, we should be forcing it to use PATH
and set the value to just "install". We don't want to add dependencies
unless we really need them, they slow the builds down and add
inefficiencies.

Cheers,

Richard
Changqing Li April 22, 2025, 1:07 p.m. UTC | #4
On 4/21/25 20:26, Richard Purdie wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> On Fri, 2025-04-18 at 16:19 +0800, Changqing Li via lists.openembedded.org wrote:
>> From: Changqing Li<changqing.li@windriver.com>
>>
>> icu will check program install path during do_configure, eg:
>> checking for a BSD-compatible install... /path/to/install -c
>>
>> And this path will be writen into pkgdata.inc:
>> INSTALL_CMD=$(INSTALL-L)
>>
>> Decided by if install is installed into recipe-sysroot-native during
>> do_configure stage, the INSTALL_CMD could be
>> /build/tmp/work/corei7-64-wrs-linux/icu/76-1/recipe-sysroot-native/usr/bin/install
>> or /build/tmp/hosttools/install
>>
>> Add coreutils-native as DEPENDS to make a determined result of
>> INSTALL_CMD, avoid vary caused by the execute sequence of another task
>> which DEPENDS on coreutils-native and also independent with do_configure
>>
>> Signed-off-by: Changqing Li<changqing.li@windriver.com>
>> ---
>>   meta/recipes-support/icu/icu_76-1.bb | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
> This needs to be fixed differently, we should be forcing it to use PATH
> and set the value to just "install". We don't want to add dependencies
> unless we really need them, they slow the builds down and add
> inefficiencies.

Thanks Richard. Currently, it will find "install" in PATH,  but 
STAGING_BINDIR_NATIVE is before HOSTTOOLS_DIR,

so when there is install under STAGING_BINDIR_NATIVE, it will use this 
one,  if not,  it will use the one under

HOSTTOOLS_DIR.  According to your comments,  I send a V3,  force it to 
use HOSTTOOLS_DIR/install directly,

please help to review.

Regards

//Changqing

>
> Cheers,
>
> Richard
Changqing Li April 24, 2025, 3:28 a.m. UTC | #5
On 4/21/25 20:26, Richard Purdie wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> On Fri, 2025-04-18 at 16:19 +0800, Changqing Li via lists.openembedded.org wrote:
>> From: Changqing Li<changqing.li@windriver.com>
>>
>> icu will check program install path during do_configure, eg:
>> checking for a BSD-compatible install... /path/to/install -c
>>
>> And this path will be writen into pkgdata.inc:
>> INSTALL_CMD=$(INSTALL-L)
>>
>> Decided by if install is installed into recipe-sysroot-native during
>> do_configure stage, the INSTALL_CMD could be
>> /build/tmp/work/corei7-64-wrs-linux/icu/76-1/recipe-sysroot-native/usr/bin/install
>> or /build/tmp/hosttools/install
>>
>> Add coreutils-native as DEPENDS to make a determined result of
>> INSTALL_CMD, avoid vary caused by the execute sequence of another task
>> which DEPENDS on coreutils-native and also independent with do_configure
>>
>> Signed-off-by: Changqing Li<changqing.li@windriver.com>
>> ---
>>   meta/recipes-support/icu/icu_76-1.bb | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
> This needs to be fixed differently, we should be forcing it to use PATH
> and set the value to just "install". We don't want to add dependencies
> unless we really need them, they slow the builds down and add
> inefficiencies.

Hi, Mathieu, Richard

According to Richard's comments, I send a  V3 patch:  [PATCH V3] icu: 
set ac_cv_path_install to install under hosttools

But I noticed that [PATCH V2] icu: Add coreutils-native as DEPENDS is on 
master-next.

So I am wondering maybe V2 is merged by accident?  Please help to check, 
if there is no problem, you can just ignore this mail.

Thanks

Changqing

>
> Cheers,
>
> Richard
Mathieu Dubois-Briand April 24, 2025, 12:10 p.m. UTC | #6
On Thu Apr 24, 2025 at 5:28 AM CEST, Changqing Li wrote:
>
> On 4/21/25 20:26, Richard Purdie wrote:
> Hi, Mathieu, Richard
>
> According to Richard's comments, I send a  V3 patch:  [PATCH V3] icu: 
> set ac_cv_path_install to install under hosttools
>
> But I noticed that [PATCH V2] icu: Add coreutils-native as DEPENDS is on 
> master-next.
>
> So I am wondering maybe V2 is merged by accident?  Please help to check, 
> if there is no problem, you can just ignore this mail.
>

Yes, my bad. IIRC the v2 was working fine on my side, so I kept it in my
branch and then forgot to drop it when you sent the v3.

I'm dropping the v2 now.
diff mbox series

Patch

diff --git a/meta/recipes-support/icu/icu_76-1.bb b/meta/recipes-support/icu/icu_76-1.bb
index f0890fc890..d70717aa10 100644
--- a/meta/recipes-support/icu/icu_76-1.bb
+++ b/meta/recipes-support/icu/icu_76-1.bb
@@ -6,7 +6,7 @@  same results on all platforms."
 HOMEPAGE = "http://site.icu-project.org/"
 
 LICENSE = "ICU"
-DEPENDS = "icu-native autoconf-archive-native"
+DEPENDS = "icu-native autoconf-archive-native coreutils-native"
 
 CVE_PRODUCT = "international_components_for_unicode"
 
@@ -60,7 +60,7 @@  remove_build_host_references() {
 	sed -i  \
 	    -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
 	    -e 's|${DEBUG_PREFIX_MAP}||g' \
-	    -e 's:${HOSTTOOLS_DIR}/::g' \
+	    -e 's:${RECIPE_SYSROOT_NATIVE}${bindir}/::g' \
 	    ${D}/${libdir}/${BPN}/${@icu_install_folder(d)}/Makefile.inc \
 	    ${D}/${libdir}/${BPN}/${@icu_install_folder(d)}/pkgdata.inc
 }