已开启
update to version 2.54.0, drop upstreamed CVE patches #182
Funda Wang创建于 5 天前
update to version 2.54.0, drop upstreamed CVE patches #182
已开启
Funda Wang创建于 5 天前
Funda Wang
Funda Wang
5 天前

当前PR是否有AI参与:

[ ] 否

[x] Yes
__1. AI Agent 平台: AtomCode
__2. AI 模型 : glm5.3-flash
__3. Prompt 上下文 : 用户要求将 webkitgtk 升级到 2.54.0 并同步修改仓库中 webkitgtk.spec 与 webkitgtk6_0.spec 两个 spec;AI 完成上游版本确认、补丁适用性核查(CVE 补丁已上游化)、两个 spec 同步更新、分配器/JIT 配置修复与说明、tarball 替换与 MR 提交

参考:openEuler社区《生成式AI工具使用与开源贡献政策》

PR功能描述 / 为什么需要这个合入**:

将 webkitgtk / webkitgtk6.0 从 2.52.6 同步升级到 2.54.0(webkitgtk.org 官方发布),并删除已被上游合入的两个 CVE backport 补丁。两个 spec(webkitgtk.spec、webkitgtk6_0.spec)已同步修改。

差异分析报告

差异分析报告 版本变更原因 变更后版本
版本升级 同步上游 2.54.0 稳定版本 2.54.0
差异分类 差异项 差异说明 影响评估与适配方案
特性变化 新增特性 WebKitWebView 新增 magnification 属性(视觉缩放);GTK3 下 SHM/GBM 映射缓冲区 y-flip 修复;合成 tile 采样考虑 layer transform 纯增量与缺陷修复,ABI 兼容(2.54 为 2.53 dev 系列后的稳定版)
特性变化 删除特性 NA NA
特性变化 变更特性实现 CVE-2026-78376(JSC APICallbackFunction 越界)与 CVE-2026-83596(OpenTypeVerticalData 越界)修复已随上游合入 2.54.0(前者重构为 Integrity::audit + 受保护 Vector 方案,后者 isValidEnd 边界校验已广泛存在),本地 backport 补丁删除;favicon 过期时间/tls_info 修复;skia compositor 视频方向处理;加速合成下不在主线程渲染 tile 缺陷修复,无接口破坏;两个 CVE 补丁文件一并删除
配置文件 新增/变更/删除配置项 aarch64/riscv64 分配器配置调整:2.54 起 USE_64KB_PAGE_BLOCK(aarch64)与 RISCV64 的 USE_MIMALLOC 默认值变为 ON,与原有显式 -DUSE_SYSTEM_MALLOC=ON 双开触发 BPlatform.h 互斥 #error(aarch64 门禁构建失败);删除 USE_SYSTEM_MALLOC=ON,aarch64/riscv64 走上游默认 mimalloc,loongarch64 保持 system malloc 不受影响;%install 后清理内嵌 mimalloc 的无条件安装残留(对应 2026-09-20 门禁 "Installed (but unpackaged) file(s) found" 失败) 构建修复;分配器为各架构上游约束下的最优组合(aarch64 64KB 页与 riscv64 无 libpas 支持)
ABI差异 新增 API webkit_web_view magnification 属性及读写接口 增量符号,ABI 兼容
ABI差异 变更/删除 API NA NA
命令行/功能 新增/变更/删除命令及选项 NA(库软件包;WEBDRIVER 保持 4.1 提供、6.0 关闭的上游并行安装设计不变) NA
SPEC文件 编译依赖/安装依赖/依赖软件版本变更 NA(上游 OptionsGTK.cmake 依赖要求与 2.52 系一致:glib 2.70/soup3 3.0/harfbuzz 2.7.4/ICU 70.1 等;Skia 为内置源码构建,与 2.52 相同,无需新增 rust 等构建依赖;mimalloc 为内嵌源码静态链入,无需新增依赖) NA
SPEC文件 拆分软件包方式变更 NA NA

该PR关联的issue

(格式为fixes #<issue号>, 或者resolves #<issue号>): fixes #

希望检视人员了解:

  • 仓库中 webkitgtk.spec 与 webkitgtk6_0.spec 两个 spec 已同步修改(版本 2.54.0、Release 重置 1、删除 Patch6000/Patch6001、changelog 各加一条);
  • backport-CVE-2026-78376.patch 与 backport-CVE-2026-83596.patch 已被上游合入 2.54.0(已在 tarball 源码中逐项核实),本 PR 一并删除;webkitgtk-add-loongarch-and-sw.patch 与 drop-Wunsafe-buffer-usage.patch 经验证仍可应用,保留;
  • 分配器(allocator)配置调整的原因:WebKit 的 CMake 选项互不联动,显式 -DUSE_SYSTEM_MALLOC=ON 不会自动关闭 USE_MIMALLOC;2.54 起上游将 USE_64KB_PAGE_BLOCK(aarch64)与 RISCV64 场景的 USE_MIMALLOC_DEFAULT 改为 ON,与 spec 原有的 USE_SYSTEM_MALLOC=ON 双开,命中 BPlatform.h 的 #error "libpas, mimalloc, and system malloc are exclusive"(2026-09-22 aarch64 门禁失败根因);修复为删除 USE_SYSTEM_MALLOC=ON:aarch64 因 openEuler aarch64 内核 64KB 页(2.28 时代起的发行版级决策,libpas 不支持 64KB 页)与 riscv64(libpas 不支持该架构)走上游默认 mimalloc,loongarch64 走上游兜底默认 system malloc,不受影响;同时 %install 后 rm 清理内嵌 mimalloc 的头文件/cmake/pc/object 安装残留——内嵌 mimalloc 以 object library 静态链入 libbmalloc,但其 install() 规则无条件执行,残留文件导致 "Installed (but unpackaged) file(s) found" 失败(2026-09-20 门禁失败根因);
  • JIT 三架构显式关闭的理由(webkitgtk.spec 的 JIT 开关已从 riscv64 单架构写法对齐为与 webkitgtk6_0.spec 相同的 aarch64 loongarch64 riscv64 三架构写法):aarch64 随 USE_64KB_PAGE_BLOCK 而关(上游为 64KB 页场景将 ENABLE_JIT_DEFAULT 设为 OFF,JIT 页大小假设与 64KB 页冲突);riscv64 为 2.46.6 "Disable JIT due to build problem" 的历史遗留(上游 2.54 已将 RISCV64 的 JIT 默认改为 ON,后续可实测恢复,本次以稳定为先);loongarch64 上游无专属分支、落兜底配置(JIT OFF + C_LOOP),显式写出仅为固化上游默认;
  • WEBDRIVER 保持 4.1 开、6.0 关,不作对齐:上游 OptionsGTK.cmake 注明 WebKitWebDriver 在 GTK3/GTK4 口味间不并行可安装(同一路径、同一服务进程),只能由一方提供;现有分工为 webkitgtk(4.1) 提供、webkitgtk6.0(6.0) 以 -DENABLE_WEBDRIVER=OFF 让位,符合上游设计;
  • 本机无 rpmbuild,构建验证依赖门禁 CI(两个 spec 的 %prep 补丁应用阶段已通过本地 rpmbuild -bp --nodeps 验证)。
likedislike
合并受阻
Funda WangFunda Wang
5 天前 创建了 pull request,commit 0f65e836
openeuler-ci-botopeneuler-ci-bot成员
5 天前 将lipingEmmaSiguyi,small_leek,weidongkl,openbot,t_feng,lw520203,dou33,starlet-dx,cherry530,technology208,yanan-rock,dwl301,wangxp006,lostway1,robert-xingwang设为审查人
openeuler-ci-botopeneuler-ci-bot成员
5 天前 添加了label:sig/Desktop
openeuler-ci-bot
openeuler-ci-bot成员
5 天前 评论:

Welcome To openEuler Community

Hey @fundawang , thanks for your contribution to the community.

Bot Usage Manual

I'm the Bot here serving you. You can find the instructions on how to interact with me at Here . That means you can comment below every pull request or issue to trigger Bot Commands. You can self-configure the PR merge rules for this repository. For more details, please refer to Here.

Contact Guide

If you have any questions, please contact the SIG: Desktop ,
and any of the maintainers: @cherry530, @dou33, @dwl301, @lipingEmmaSiguyi, @lostway1, @lw520203, @openbot, @robert-xingwang, @small_leek, @starlet-dx, @t_feng, @technology208, @wangxp006, @weidongkl, @yanan-rock ,
and any of the committers: @t_feng, @wangxp006, @yanan-rock .

likedislike
openeuler-ci-botopeneuler-ci-bot成员
5 天前 添加了label:ai-co-authored
此处折叠了218条消息 查看更多
openeuler-ci-botopeneuler-ci-bot成员
6 小时前 删除了label:ci_processing
openeuler-ci-bot
openeuler-ci-bot成员
6 小时前 评论:
Check Name Build Result 详情 Build Details
check_binary_file SUCCESS #107
check_lfsconfig EXCLUDE
check_package_yaml_file SUCCESS
check_repo_in_maintain SUCCESS
check_consistency SUCCESS
check_spec_file SUCCESS
x86_64 check_build SUCCESS #107
check_install SUCCESS
check_license SUCCESS
aarch64 check_build SUCCESS #107
check_install SUCCESS
check_license SUCCESS
likedislike
openeuler-ci-botopeneuler-ci-bot成员
6 小时前 添加了label:ci_successful
openeuler-ci-bot
openeuler-ci-bot成员
6 小时前 评论:

如下为接口变更检查结果,目标分支为master,请PR提交者check差异信息

Arch Name Check Items Rpm Name Check Result Build Details
compare_package(x86_64) add_rpms SUCCESS #107
delete_rpms SUCCESS
rpm_abi webkit2gtk4.1
jsc4.1
jsc6.0
FAILED
rpm_cmd SUCCESS
rpm_files SUCCESS
rpm_header webkit2gtk4.1-devel
jsc4.1-devel
webkitgtk6.0-devel
jsc6.0-devel
FAILED
rpm_lib SUCCESS
rpm_provides SUCCESS
rpm_requires webkitgtk6.0
webkit2gtk4.1-devel
jsc4.1-devel
webkitgtk6.0-devel
webkit2gtk4.1
jsc6.0-devel
jsc4.1
jsc6.0
FAILED
rpm_symbol jsc4.1
jsc6.0
FAILED
compare_package(aarch64) add_rpms SUCCESS #107
delete_rpms SUCCESS
rpm_abi webkit2gtk4.1
jsc4.1
jsc6.0
FAILED
rpm_cmd SUCCESS
rpm_files SUCCESS
rpm_header jsc4.1-devel
jsc6.0-devel
webkitgtk6.0-devel
webkit2gtk4.1-devel
FAILED
rpm_lib SUCCESS
rpm_provides SUCCESS
rpm_requires webkit2gtk4.1
jsc4.1-devel
jsc4.1
jsc6.0-devel
jsc6.0
webkitgtk6.0-devel
webkit2gtk4.1-devel
webkitgtk6.0
FAILED
rpm_symbol jsc4.1
jsc6.0
FAILED
likedislike
openeuler-ci-bot
openeuler-ci-bot成员
6 小时前 评论:
likedislike