On Thu, 28 Sep 2023 at 21:44, Hugh McMaster wrote: > Hi Andres, > > On Thu, 28 Sept 2023 at 18:49, Andres Salomon wrote: > > > > Control: affects -1 chromium > > > > > > On Thu, 28 Sep 2023 01:24:00 +0900 SuperCat wrote: > > > Hi, > > > > > > In chromium source code, function SkScalerContext::GlyphMetrics > > > SkScalerContext_FreeType::generateMetrics() will call > > > FT_Get_Color_Glyph_Paint() if macro TT_SUPPORT_COLRV1 exists. Somehow > > > FT_Get_Color_Glyph_Paint will be a NULL pointer if this patch applied, > and > > > chromium will not be able to run. > > > > > > This smells like an ABI change that doesn't really seem appropriate for > a point release update. I can patch TT_SUPPORT_COLRV1 out of bookworm's > Chromium, but I wonder if any other packages are using it on bookworm? > > > > For the record, Skia has the following code: > > > > #ifdef TT_SUPPORT_COLRV1 > > > > // So undefine TT_SUPPORT_COLRV1 before 2.11.1 but not if FT_STATIC_CAST > is defined. > > #if (((FREETYPE_MAJOR) < 2) || \ > > ((FREETYPE_MAJOR) == 2 && (FREETYPE_MINOR) < 11) || \ > > ((FREETYPE_MAJOR) == 2 && (FREETYPE_MINOR) == 11 && > (FREETYPE_PATCH) < 1)) && \ > > !defined(FT_STATIC_CAST) > > # undef TT_SUPPORT_COLRV1 > > > > > > So on bullseye (with freetype 2.10) it doesn't try to use COLRV1. On sid > (with freetype 2.13) it will use COLRV1. If freetype's COLRV1 is going to > remain disabled on bookworm via the proposed-update (with chromium being > the only broken package), then I'll probably just bump that version check > to only allow TT_SUPPORT_COLRV1 with FREETYPE_MINOR >= 13. > > FreeType 2.12.1 was released with experimental COLRv1 support enabled. > This was unintentional, as the implementation shipped in this release > was incomplete and incompatible with the final COLRv1 API. > > Upstream's intention was to enable COLRv1 support in FreeType 2.13.0, > which has a stable and complete COLRv1 API. > > I'm surprised Chromium actually used an experimental API, although > this version check copied above seems like a bug. > > Grepping for TT_SUPPORT_COLRV1 yields a small number of packages. > firefox*, godot and paraview are fine. Most of the openjdk-* packages > aren't in bookworm.
After discussing the timing of Debian 12.2 with a release manager, I’ll revert the change shortly. Hugh >