Message ID | b6a3ea4a7a3c811d7f3f9fa74e11d5001321ecb1.1736150475.git.liezhi.yang@windriver.com |
---|---|
State | Accepted, archived |
Commit | 659d71114c3f2f12e4e3012d66580866486e14c0 |
Headers | show |
Series | [1/1] fmt: 11.0.2 -> 11.1.1 | expand |
I know this patch is applied but I still want to bring it to attention Many packages in other layers depend on fmt. fmt's APIs are not or not used in a very backward compatible way some packages provide an option to use vendored version of fmt so in case of system fmt being not compatible is not a huge issue other than duplication, but some packages e.g. gerbera rely on system provided fmt and it still has not moved to 11.1 I have tried to fix some of this fall out in meta-openembedded layers but this kind of stuff comes unplanned, so please build/test fmt upgrades with more than oe-core, oe-core has 1 recipe ( ccache ) which depends on fmt but meta-openembedded has more complex use cases of fmt. On Mon, Jan 6, 2025 at 12:02 AM Robert Yang via lists.openembedded.org <liezhi.yang=windriver.com@lists.openembedded.org> wrote: > > From: Robert Yang <liezhi.yang@windriver.com> > > Remove backported patch 0001-Get-rid-of-std-copy.patch. > > Signed-off-by: Robert Yang <liezhi.yang@windriver.com> > --- > .../fmt/fmt/0001-Get-rid-of-std-copy.patch | 52 ------------------- > .../fmt/{fmt_11.0.2.bb => fmt_11.1.1.bb} | 6 +-- > 2 files changed, 2 insertions(+), 56 deletions(-) > delete mode 100644 meta/recipes-devtools/fmt/fmt/0001-Get-rid-of-std-copy.patch > rename meta/recipes-devtools/fmt/{fmt_11.0.2.bb => fmt_11.1.1.bb} (80%) > > diff --git a/meta/recipes-devtools/fmt/fmt/0001-Get-rid-of-std-copy.patch b/meta/recipes-devtools/fmt/fmt/0001-Get-rid-of-std-copy.patch > deleted file mode 100644 > index 1b495ea075..0000000000 > --- a/meta/recipes-devtools/fmt/fmt/0001-Get-rid-of-std-copy.patch > +++ /dev/null > @@ -1,52 +0,0 @@ > -From 6e462b89aa22fd5f737ed162d0150e145ccb1914 Mon Sep 17 00:00:00 2001 > -From: Victor Zverovich <viz@meta.com> > -Date: Mon, 29 Jul 2024 15:58:05 -0700 > -Subject: [PATCH] Get rid of std::copy > - > -Signed-off-by: Khem Raj <raj.khem@gmail.com> > -Upstream-Status: Backport [https://github.com/fmtlib/fmt/commit/6e462b89aa22fd5f737ed162d0150e145ccb1914] > ---- > - include/fmt/color.h | 11 +++++------ > - 1 file changed, 5 insertions(+), 6 deletions(-) > - > -diff --git a/include/fmt/color.h b/include/fmt/color.h > -index f0e9dd94..231d93c8 100644 > ---- a/include/fmt/color.h > -+++ b/include/fmt/color.h > -@@ -560,31 +560,30 @@ struct formatter<detail::styled_arg<T>, Char> : formatter<T, Char> { > - auto format(const detail::styled_arg<T>& arg, FormatContext& ctx) const > - -> decltype(ctx.out()) { > - const auto& ts = arg.style; > -- const auto& value = arg.value; > - auto out = ctx.out(); > - > - bool has_style = false; > - if (ts.has_emphasis()) { > - has_style = true; > - auto emphasis = detail::make_emphasis<Char>(ts.get_emphasis()); > -- out = std::copy(emphasis.begin(), emphasis.end(), out); > -+ out = detail::copy<Char>(emphasis.begin(), emphasis.end(), out); > - } > - if (ts.has_foreground()) { > - has_style = true; > - auto foreground = > - detail::make_foreground_color<Char>(ts.get_foreground()); > -- out = std::copy(foreground.begin(), foreground.end(), out); > -+ out = detail::copy<Char>(foreground.begin(), foreground.end(), out); > - } > - if (ts.has_background()) { > - has_style = true; > - auto background = > - detail::make_background_color<Char>(ts.get_background()); > -- out = std::copy(background.begin(), background.end(), out); > -+ out = detail::copy<Char>(background.begin(), background.end(), out); > - } > -- out = formatter<T, Char>::format(value, ctx); > -+ out = formatter<T, Char>::format(arg.value, ctx); > - if (has_style) { > - auto reset_color = string_view("\x1b[0m"); > -- out = std::copy(reset_color.begin(), reset_color.end(), out); > -+ out = detail::copy<Char>(reset_color.begin(), reset_color.end(), out); > - } > - return out; > - } > diff --git a/meta/recipes-devtools/fmt/fmt_11.0.2.bb b/meta/recipes-devtools/fmt/fmt_11.1.1.bb > similarity index 80% > rename from meta/recipes-devtools/fmt/fmt_11.0.2.bb > rename to meta/recipes-devtools/fmt/fmt_11.1.1.bb > index 5c60921efa..a99a377ad4 100644 > --- a/meta/recipes-devtools/fmt/fmt_11.0.2.bb > +++ b/meta/recipes-devtools/fmt/fmt_11.1.1.bb > @@ -4,10 +4,8 @@ HOMEPAGE = "https://fmt.dev" > LICENSE = "MIT" > LIC_FILES_CHKSUM = "file://LICENSE;md5=b9257785fc4f3803a4b71b76c1412729" > > -SRC_URI = "git://github.com/fmtlib/fmt;branch=master;protocol=https \ > - file://0001-Get-rid-of-std-copy.patch \ > - " > -SRCREV = "0c9fce2ffefecfdce794e1859584e25877b7b592" > +SRC_URI = "git://github.com/fmtlib/fmt;branch=master;protocol=https" > +SRCREV = "e3ddede6c4ee818825c4e5a6dfa1d384860c27d9" > > S = "${WORKDIR}/git" > > -- > 2.44.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#209422): https://lists.openembedded.org/g/openembedded-core/message/209422 > Mute This Topic: https://lists.openembedded.org/mt/110453434/1997914 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Hi Khem, On 1/10/25 02:35, Khem Raj wrote: > I know this patch is applied but I still want to bring it to attention > Many packages in other layers depend on fmt. fmt's APIs are not or > not used in a very backward compatible way > some packages provide an option to use vendored version of fmt so in > case of system fmt being not compatible is not > a huge issue other than duplication, but some packages e.g. gerbera > rely on system provided fmt and it still has not moved to > 11.1 > > I have tried to fix some of this fall out in meta-openembedded layers > but this kind of stuff comes unplanned, so please build/test > fmt upgrades with more than oe-core, oe-core has 1 recipe ( ccache ) > which depends on fmt but meta-openembedded has more complex use cases > of fmt. Sorry about that, I will test with meta-openembedded next time when upgrade fmt. // Robert > > On Mon, Jan 6, 2025 at 12:02 AM Robert Yang via lists.openembedded.org > <liezhi.yang=windriver.com@lists.openembedded.org> wrote: >> >> From: Robert Yang <liezhi.yang@windriver.com> >> >> Remove backported patch 0001-Get-rid-of-std-copy.patch. >> >> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> >> --- >> .../fmt/fmt/0001-Get-rid-of-std-copy.patch | 52 ------------------- >> .../fmt/{fmt_11.0.2.bb => fmt_11.1.1.bb} | 6 +-- >> 2 files changed, 2 insertions(+), 56 deletions(-) >> delete mode 100644 meta/recipes-devtools/fmt/fmt/0001-Get-rid-of-std-copy.patch >> rename meta/recipes-devtools/fmt/{fmt_11.0.2.bb => fmt_11.1.1.bb} (80%) >> >> diff --git a/meta/recipes-devtools/fmt/fmt/0001-Get-rid-of-std-copy.patch b/meta/recipes-devtools/fmt/fmt/0001-Get-rid-of-std-copy.patch >> deleted file mode 100644 >> index 1b495ea075..0000000000 >> --- a/meta/recipes-devtools/fmt/fmt/0001-Get-rid-of-std-copy.patch >> +++ /dev/null >> @@ -1,52 +0,0 @@ >> -From 6e462b89aa22fd5f737ed162d0150e145ccb1914 Mon Sep 17 00:00:00 2001 >> -From: Victor Zverovich <viz@meta.com> >> -Date: Mon, 29 Jul 2024 15:58:05 -0700 >> -Subject: [PATCH] Get rid of std::copy >> - >> -Signed-off-by: Khem Raj <raj.khem@gmail.com> >> -Upstream-Status: Backport [https://github.com/fmtlib/fmt/commit/6e462b89aa22fd5f737ed162d0150e145ccb1914] >> ---- >> - include/fmt/color.h | 11 +++++------ >> - 1 file changed, 5 insertions(+), 6 deletions(-) >> - >> -diff --git a/include/fmt/color.h b/include/fmt/color.h >> -index f0e9dd94..231d93c8 100644 >> ---- a/include/fmt/color.h >> -+++ b/include/fmt/color.h >> -@@ -560,31 +560,30 @@ struct formatter<detail::styled_arg<T>, Char> : formatter<T, Char> { >> - auto format(const detail::styled_arg<T>& arg, FormatContext& ctx) const >> - -> decltype(ctx.out()) { >> - const auto& ts = arg.style; >> -- const auto& value = arg.value; >> - auto out = ctx.out(); >> - >> - bool has_style = false; >> - if (ts.has_emphasis()) { >> - has_style = true; >> - auto emphasis = detail::make_emphasis<Char>(ts.get_emphasis()); >> -- out = std::copy(emphasis.begin(), emphasis.end(), out); >> -+ out = detail::copy<Char>(emphasis.begin(), emphasis.end(), out); >> - } >> - if (ts.has_foreground()) { >> - has_style = true; >> - auto foreground = >> - detail::make_foreground_color<Char>(ts.get_foreground()); >> -- out = std::copy(foreground.begin(), foreground.end(), out); >> -+ out = detail::copy<Char>(foreground.begin(), foreground.end(), out); >> - } >> - if (ts.has_background()) { >> - has_style = true; >> - auto background = >> - detail::make_background_color<Char>(ts.get_background()); >> -- out = std::copy(background.begin(), background.end(), out); >> -+ out = detail::copy<Char>(background.begin(), background.end(), out); >> - } >> -- out = formatter<T, Char>::format(value, ctx); >> -+ out = formatter<T, Char>::format(arg.value, ctx); >> - if (has_style) { >> - auto reset_color = string_view("\x1b[0m"); >> -- out = std::copy(reset_color.begin(), reset_color.end(), out); >> -+ out = detail::copy<Char>(reset_color.begin(), reset_color.end(), out); >> - } >> - return out; >> - } >> diff --git a/meta/recipes-devtools/fmt/fmt_11.0.2.bb b/meta/recipes-devtools/fmt/fmt_11.1.1.bb >> similarity index 80% >> rename from meta/recipes-devtools/fmt/fmt_11.0.2.bb >> rename to meta/recipes-devtools/fmt/fmt_11.1.1.bb >> index 5c60921efa..a99a377ad4 100644 >> --- a/meta/recipes-devtools/fmt/fmt_11.0.2.bb >> +++ b/meta/recipes-devtools/fmt/fmt_11.1.1.bb >> @@ -4,10 +4,8 @@ HOMEPAGE = "https://fmt.dev" >> LICENSE = "MIT" >> LIC_FILES_CHKSUM = "file://LICENSE;md5=b9257785fc4f3803a4b71b76c1412729" >> >> -SRC_URI = "git://github.com/fmtlib/fmt;branch=master;protocol=https \ >> - file://0001-Get-rid-of-std-copy.patch \ >> - " >> -SRCREV = "0c9fce2ffefecfdce794e1859584e25877b7b592" >> +SRC_URI = "git://github.com/fmtlib/fmt;branch=master;protocol=https" >> +SRCREV = "e3ddede6c4ee818825c4e5a6dfa1d384860c27d9" >> >> S = "${WORKDIR}/git" >> >> -- >> 2.44.1 >> >> >> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> View/Reply Online (#209422): https://lists.openembedded.org/g/openembedded-core/message/209422 >> Mute This Topic: https://lists.openembedded.org/mt/110453434/1997914 >> Group Owner: openembedded-core+owner@lists.openembedded.org >> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com] >> -=-=-=-=-=-=-=-=-=-=-=- >>
On 9 Jan 2025, at 18:35, Khem Raj via lists.openembedded.org <raj.khem=gmail.com@lists.openembedded.org> wrote: > > I know this patch is applied but I still want to bring it to attention > Many packages in other layers depend on fmt. fmt's APIs are not or > not used in a very backward compatible way > some packages provide an option to use vendored version of fmt so in > case of system fmt being not compatible is not > a huge issue other than duplication, but some packages e.g. gerbera > rely on system provided fmt and it still has not moved to > 11.1 If fmt has basically no API stability, should we just have fmt10, fmt11 etc recipes instead? The -dev packages for each of those will conflict as they don’t version the headers, but at least the library packages could be parallel installed. Ross
On Fri, Jan 17, 2025 at 7:46 AM Ross Burton <Ross.Burton@arm.com> wrote: > > On 9 Jan 2025, at 18:35, Khem Raj via lists.openembedded.org <raj.khem=gmail.com@lists.openembedded.org> wrote: > > > > I know this patch is applied but I still want to bring it to attention > > Many packages in other layers depend on fmt. fmt's APIs are not or > > not used in a very backward compatible way > > some packages provide an option to use vendored version of fmt so in > > case of system fmt being not compatible is not > > a huge issue other than duplication, but some packages e.g. gerbera > > rely on system provided fmt and it still has not moved to > > 11.1 > > If fmt has basically no API stability, should we just have fmt10, fmt11 etc recipes instead? > maybe, although that also means that multiple versions are made to coexist. > The -dev packages for each of those will conflict as they don’t version the headers, but at least the library packages could be parallel installed. > exactly. I have seen that most packages have it vendored and it's used statically. Sometimes OE-core updates versions of such packages, before rest of distributions have picked it up. It means the burden of porting the dependent packages falls on us too and we may not have enough folks doing this sort of unplanned work. For meta-openembedded I have decided to add SKIP_RECIPE to recipes failing with such porting issues, until world builds become clean, sometimes it means disabling a lot of recipes but I expect folks who use them will fix them in due course. > Ross
diff --git a/meta/recipes-devtools/fmt/fmt/0001-Get-rid-of-std-copy.patch b/meta/recipes-devtools/fmt/fmt/0001-Get-rid-of-std-copy.patch deleted file mode 100644 index 1b495ea075..0000000000 --- a/meta/recipes-devtools/fmt/fmt/0001-Get-rid-of-std-copy.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 6e462b89aa22fd5f737ed162d0150e145ccb1914 Mon Sep 17 00:00:00 2001 -From: Victor Zverovich <viz@meta.com> -Date: Mon, 29 Jul 2024 15:58:05 -0700 -Subject: [PATCH] Get rid of std::copy - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport [https://github.com/fmtlib/fmt/commit/6e462b89aa22fd5f737ed162d0150e145ccb1914] ---- - include/fmt/color.h | 11 +++++------ - 1 file changed, 5 insertions(+), 6 deletions(-) - -diff --git a/include/fmt/color.h b/include/fmt/color.h -index f0e9dd94..231d93c8 100644 ---- a/include/fmt/color.h -+++ b/include/fmt/color.h -@@ -560,31 +560,30 @@ struct formatter<detail::styled_arg<T>, Char> : formatter<T, Char> { - auto format(const detail::styled_arg<T>& arg, FormatContext& ctx) const - -> decltype(ctx.out()) { - const auto& ts = arg.style; -- const auto& value = arg.value; - auto out = ctx.out(); - - bool has_style = false; - if (ts.has_emphasis()) { - has_style = true; - auto emphasis = detail::make_emphasis<Char>(ts.get_emphasis()); -- out = std::copy(emphasis.begin(), emphasis.end(), out); -+ out = detail::copy<Char>(emphasis.begin(), emphasis.end(), out); - } - if (ts.has_foreground()) { - has_style = true; - auto foreground = - detail::make_foreground_color<Char>(ts.get_foreground()); -- out = std::copy(foreground.begin(), foreground.end(), out); -+ out = detail::copy<Char>(foreground.begin(), foreground.end(), out); - } - if (ts.has_background()) { - has_style = true; - auto background = - detail::make_background_color<Char>(ts.get_background()); -- out = std::copy(background.begin(), background.end(), out); -+ out = detail::copy<Char>(background.begin(), background.end(), out); - } -- out = formatter<T, Char>::format(value, ctx); -+ out = formatter<T, Char>::format(arg.value, ctx); - if (has_style) { - auto reset_color = string_view("\x1b[0m"); -- out = std::copy(reset_color.begin(), reset_color.end(), out); -+ out = detail::copy<Char>(reset_color.begin(), reset_color.end(), out); - } - return out; - } diff --git a/meta/recipes-devtools/fmt/fmt_11.0.2.bb b/meta/recipes-devtools/fmt/fmt_11.1.1.bb similarity index 80% rename from meta/recipes-devtools/fmt/fmt_11.0.2.bb rename to meta/recipes-devtools/fmt/fmt_11.1.1.bb index 5c60921efa..a99a377ad4 100644 --- a/meta/recipes-devtools/fmt/fmt_11.0.2.bb +++ b/meta/recipes-devtools/fmt/fmt_11.1.1.bb @@ -4,10 +4,8 @@ HOMEPAGE = "https://fmt.dev" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=b9257785fc4f3803a4b71b76c1412729" -SRC_URI = "git://github.com/fmtlib/fmt;branch=master;protocol=https \ - file://0001-Get-rid-of-std-copy.patch \ - " -SRCREV = "0c9fce2ffefecfdce794e1859584e25877b7b592" +SRC_URI = "git://github.com/fmtlib/fmt;branch=master;protocol=https" +SRCREV = "e3ddede6c4ee818825c4e5a6dfa1d384860c27d9" S = "${WORKDIR}/git"