diff mbox series

icu: split at '.' instead of '-' for major version

Message ID 20260113-icu-major-version-fix-v1-1-50e1e75b4254@phytec.de
State Accepted, archived
Commit beb0a16ac408d741213b635ab6151f5a921bd129
Headers show
Series icu: split at '.' instead of '-' for major version | expand

Commit Message

Yannic Moog Jan. 13, 2026, 8:27 a.m. UTC
With version 78.1, icu adopted '.' as separator between major and minor
version. With the upgrade commit, ICU_MAJOR_VER wasn't updated and still
tried to split versions with '-' instead of '.'. Fix by using '.' as
separator.

Fixes: 479d48503dd2 ("upgrade 77-1 -> 78.1")
Signed-off-by: Yannic Moog <y.moog@phytec.de>
---
 meta/recipes-support/icu/icu_78.1.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


---
base-commit: dbb0defb5e345b17211ca54d2b9d6237dede60f8
change-id: 20260113-icu-major-version-fix-5b8806a74fe0

Best regards,

Comments

Alexander Kanavin Jan. 13, 2026, 10:43 a.m. UTC | #1
On Tue, 13 Jan 2026 at 09:27, Yannic Moog via lists.openembedded.org
<y.moog=phytec.de@lists.openembedded.org> wrote:
> With version 78.1, icu adopted '.' as separator between major and minor
> version. With the upgrade commit, ICU_MAJOR_VER wasn't updated and still
> tried to split versions with '-' instead of '.'. Fix by using '.' as
> separator.
> -ICU_MAJOR_VER = "${@d.getVar('PV').split('-')[0]}"
> +ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"

Presumably this change comes from build problems you are observing,
but it doesn't explain why plain poky is building fine without this
fix. Can you look into that please?

Alex
Yannic Moog Jan. 13, 2026, 12:42 p.m. UTC | #2
On Tue, 2026-01-13 at 11:43 +0100, Alexander Kanavin wrote:
> On Tue, 13 Jan 2026 at 09:27, Yannic Moog via lists.openembedded.org
> <y.moog=phytec.de@lists.openembedded.org> wrote:
> > With version 78.1, icu adopted '.' as separator between major and minor
> > version. With the upgrade commit, ICU_MAJOR_VER wasn't updated and still
> > tried to split versions with '-' instead of '.'. Fix by using '.' as
> > separator.
> > -ICU_MAJOR_VER = "${@d.getVar('PV').split('-')[0]}"
> > +ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> 
> Presumably this change comes from build problems you are observing,
> but it doesn't explain why plain poky is building fine without this
> fix. Can you look into that please?

Yep. I was mistaken initially. The task that failed for me is the do_make_icudata.

Within that task, the last command fails:

do_make_icudata:class-target () {
    ${@bb.utils.contains('PACKAGECONFIG', 'make-icudata', '', 'exit 0', d)}
    [...]
    install -Dm644 ${S}/data/out/icudt${ICU_MAJOR_VER}l.dat ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat
}

We do not see it with poky, because PACKAGECONFIG does not contain make-icudata.
We have the following in a bbappend of our distro layer:

FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
SRC_URI += "file://filter.json"
PACKAGECONFIG += "make-icudata"
PACKAGECONFIG:pn-icu-native += " make-icudata"

which triggers the error.

Yannic

> 
> Alex
Alexander Kanavin Jan. 13, 2026, 3:19 p.m. UTC | #3
On Tue, 13 Jan 2026 at 13:42, Yannic Moog <Y.Moog@phytec.de> wrote:

> Yep. I was mistaken initially. The task that failed for me is the do_make_icudata.
>
> Within that task, the last command fails:
>
> do_make_icudata:class-target () {
>     ${@bb.utils.contains('PACKAGECONFIG', 'make-icudata', '', 'exit 0', d)}
>     [...]
>     install -Dm644 ${S}/data/out/icudt${ICU_MAJOR_VER}l.dat ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat
> }
>
> We do not see it with poky, because PACKAGECONFIG does not contain make-icudata.
> We have the following in a bbappend of our distro layer:
>
> FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
> SRC_URI += "file://filter.json"
> PACKAGECONFIG += "make-icudata"
> PACKAGECONFIG:pn-icu-native += " make-icudata"
>
> which triggers the error.

Thanks. Can you add this information to the commit message and resend the patch?

Alex
Yannic Moog Jan. 14, 2026, 8:07 a.m. UTC | #4
On Tue, 2026-01-13 at 16:19 +0100, Alexander Kanavin wrote:
> On Tue, 13 Jan 2026 at 13:42, Yannic Moog <Y.Moog@phytec.de> wrote:
> 
> > Yep. I was mistaken initially. The task that failed for me is the do_make_icudata.
> > 
> > Within that task, the last command fails:
> > 
> > do_make_icudata:class-target () {
> >     ${@bb.utils.contains('PACKAGECONFIG', 'make-icudata', '', 'exit 0', d)}
> >     [...]
> >     install -Dm644 ${S}/data/out/icudt${ICU_MAJOR_VER}l.dat
> > ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat
> > }
> > 
> > We do not see it with poky, because PACKAGECONFIG does not contain make-icudata.
> > We have the following in a bbappend of our distro layer:
> > 
> > FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
> > SRC_URI += "file://filter.json"
> > PACKAGECONFIG += "make-icudata"
> > PACKAGECONFIG:pn-icu-native += " make-icudata"
> > 
> > which triggers the error.
> 
> Thanks. Can you add this information to the commit message and resend the patch?

Yes, will do.

Yannic

> 
> Alex
diff mbox series

Patch

diff --git a/meta/recipes-support/icu/icu_78.1.bb b/meta/recipes-support/icu/icu_78.1.bb
index 8827f05f5190ddd364fd9f0a139ca6588809e04e..ee7245c27bf101da3623658d044239c45859d6f0 100644
--- a/meta/recipes-support/icu/icu_78.1.bb
+++ b/meta/recipes-support/icu/icu_78.1.bb
@@ -13,7 +13,7 @@  CVE_PRODUCT = "international_components_for_unicode"
 S = "${UNPACKDIR}/icu/source"
 STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
 
-ICU_MAJOR_VER = "${@d.getVar('PV').split('-')[0]}"
+ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
 
 inherit autotools pkgconfig github-releases