已合并
Fix parsing of function pointer typedefs for Doxygen >= 1.18 #4
Funda Wang创建于 8月15日
Fix parsing of function pointer typedefs for Doxygen >= 1.18 #4
已合并
Funda Wang创建于 8月15日
从已删除 :fix-typedef-doxygen-1.18合入到src-openeuler/python-sphinxygenmaster
Funda Wang
Funda Wang
8月15日

当前PR是否有AI参与:

[ ] 否

[x] Yes
__1. AI Agent 平台: AtomCode
__2. AI 模型 : deepseek-v4-flash
__3. Prompt 上下文 : 修复 sphinxygen 解析 doxygen 1.18 函数指针 typedef XML 格式变化导致的 read_typedef 断言失败;要求生成兼容补丁、更新 openEuler spec(Patch1 + Release + changelog)并提交单 commit MR。

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

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

Doxygen 1.18 改变了函数指针 typedef 的 XML 输出格式:<type> 现在包含完整的 void(*) 片段,<argsstring> 以 ( 开头而不是 )。sphinxygen 1.0.12 的 read_typedef() 中硬编码了旧格式断言(target_text[-2:] == "(*" and args_text[0] == ")"),因此在新格式下直接 AssertionError。lilv 等使用 sphinxygen 生成 API 文档的包在 openEuler mainline(doxygen 1.18)构建环境下失败。

本补丁在断言前将新格式归一化回旧格式,使 read_typedef() 同时兼容 doxygen 1.17 与 1.18,生成的 Sphinx 标记与旧版本完全一致。

验证:本地用 doxygen 1.17.0 与 1.18.0 分别对 lilv 0.28.0 生成 XML 并运行补丁后的 sphinxygen,两版本均正常生成 RST,函数指针 typedef 输出 diff 完全一致。

该PR关联的issue

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

希望检视人员了解:

  • 补丁文件 Fix-typedef-parsing-for-doxygen-1.18.patch 为 git format-patch 格式,%autosetup -p1 自动应用。
  • 单 commit,commit message 带 Co-Authored-By: AtomCode (deepseek-v4-flash)。
likedislike
Pull Request已成功合入, 合并人@openeuler-ci-bot
(感谢 Funda Wang 的贡献)
Funda WangFunda Wang
8月15日 创建了 pull request,commit 174b60ef
openeuler-ci-botopeneuler-ci-bot成员
8月15日 将small_leek,shinwell_hu,solarhu设为审查人
openeuler-ci-bot
openeuler-ci-bot成员
8月15日 评论:

当前仓库存在以下 保护分支 :

Protected Branch Version Release
master 1.0.12 1
openEuler-26.09-DevStation 1.0.12 1
openEuler-26.09 1.0.12 1

评论 /sync <branch1> <branch2> ... 可将当前 PR 修改同步到其它分支(创建同步 PR):
a) 如果当前 PR 是 Open 状态,同步操作将延迟到 PR 被合并时执行
b) 如果当前 PR 已经 Merged,将立即执行同步操作

注意:

  1. /sync 命令可以指定同步到多个分支,仅最后一个 /sync 命令生效
  2. 如果创建的同步 PR 不正确,可通过向同步 PR 的源分支提交轻量级 PR 完善,或使用 /close 命令关闭
likedislike
openeuler-ci-botopeneuler-ci-bot成员
8月15日 添加了label:sig/sig-epol
openeuler-ci-botopeneuler-ci-bot成员
8月15日 添加了label:ai-co-authored
openeuler-ci-botopeneuler-ci-bot成员
8月15日 添加了label:openeuler-cla/yes
openeuler-ci-botopeneuler-ci-bot成员
8月15日 添加了label:ai-includes-code
openeuler-ci-bot
openeuler-ci-bot成员
8月15日 评论:

CLA Signature Pass

fundawang, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
openeuler-ci-bot
openeuler-ci-bot成员
8月15日 评论:

门禁正在运行, 您可以通过以下链接查看实时门禁检查结果.
若您对门禁结果含义不清晰或者遇到问题不知如何解决,可参考门禁指导手册
门禁入口及编码规范检查: multiarch/src-openeuler/trigger/python-sphinxygen/2/console

likedislike
openeuler-ci-botopeneuler-ci-bot成员
8月15日 添加了label:ci_processing
openeuler-ci-bot
openeuler-ci-bot成员
8月15日 评论:

AI Declaration Check Failed

@fundawang, AI declaration compliance check failed, please try again later. ❌

likedislike
openeuler-ci-bot
openeuler-ci-bot成员
8月15日 评论:

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.

Contact Guide

If you have any questions, please contact the SIG: sig-epol ,
and any of the maintainers: @shinwell_hu, @small_leek, @solarhu ,
and any of the committers: @cherry530, @lostway1, @lyn1001 .

likedislike
Funda Wang
Funda Wang
8月15日 评论:

/sync openEuler-26.09-DevStation

likedislike
openeuler-ci-bot
openeuler-ci-bot成员
8月15日 评论:

In response to this:

/sync openEuler-26.09-DevStation

@fundawang
一旦当前 PR 被合入,以下同步操作将会执行:

Branch Status
openEuler-26.09-DevStation 当前 PR 合并后,将创建同步 PR
likedislike
openeuler-ci-bot
openeuler-ci-bot成员
8月15日 评论:

x86_64架构构建及构建后检查:multiarch/src-openeuler/x86-64/python-sphinxygen/2/console

likedislike
openeuler-ci-bot
openeuler-ci-bot成员
8月15日 评论:

aarch64架构构建及构建后检查:multiarch/src-openeuler/aarch64/python-sphinxygen/2/console

likedislike
openeuler-ci-botopeneuler-ci-bot成员
8月15日 删除了label:ci_processing
openeuler-ci-bot
openeuler-ci-bot成员
8月15日 评论:
Check Name Build Result 详情 Build Details
check_binary_file ✅SUCCESS #2
check_lfsconfig :ballot_box_with_check:EXCLUDE
check_package_yaml_file ✅SUCCESS
check_repo_in_maintain ✅SUCCESS
check_consistency ✅SUCCESS
check_spec_file ✅SUCCESS
x86_64 check_build ✅SUCCESS #2
check_install ✅SUCCESS
check_license ✅SUCCESS
aarch64 check_build ✅SUCCESS #2
check_install ✅SUCCESS
check_license ✅SUCCESS
likedislike
openeuler-ci-botopeneuler-ci-bot成员
8月15日 添加了label:ci_successful
openeuler-ci-bot
openeuler-ci-bot成员
8月15日 评论:

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

Arch Name Check Items Rpm Name Check Result Build Details
compare_package(x86_64) add_rpms ✅SUCCESS #2
delete_rpms ✅SUCCESS
rpm_cmd ✅SUCCESS
rpm_files python3-sphinxygen ❌FAILED
rpm_provides ✅SUCCESS
rpm_requires ✅SUCCESS
compare_package(aarch64) add_rpms ✅SUCCESS #2
delete_rpms ✅SUCCESS
rpm_cmd ✅SUCCESS
rpm_files python3-sphinxygen ❌FAILED
rpm_provides ✅SUCCESS
rpm_requires ✅SUCCESS
likedislike
openeuler-ci-bot
openeuler-ci-bot成员
8月15日 评论:
likedislike
xu_ping成员
8月17日 评论:

/lgtm
/approve

likedislike
openeuler-ci-botopeneuler-ci-bot成员
8月17日 添加了label:approvedlgtm
openeuler-ci-bot
openeuler-ci-bot成员
8月17日 评论:

Review Code Feedback

  • The label lgtm, approved was added to this pull request. It means that cherry530 reviewed the code changes. 👋
Tips
  • If this pull request is not merged while all conditions are met, comment /check-pr to try again. 😄
likedislike
openeuler-ci-botopeneuler-ci-bot成员
8月17日 合入了pull request,合并节点 SHA:d757ac80882b8e1257cfaf35fe43a660ad050f23
openeuler-ci-bot
openeuler-ci-bot成员
8月17日 评论:

In response to this:

/sync openEuler-26.09-DevStation

@fundawang

同步操作执行结果:

Branch Status Pull Request
likedislike