230 Star 880 Fork 432

GVPopenEuler / kernel

 / 详情

kabi 检查工具集成到 patchwork CI

Done
Task
Opened this issue  
2021-11-26 15:12

kabideps: 根据下游给的 ko, 生成符号引用表, 根据符号引用表, 用例判断符号被谁在使用; 以及被使用的多少.
- 根据引用数量等信息, 提取符号表
- 识别变更的kabi符号, 判断影响范围
1、指定包含路径的ko列表或者ko文件所在目录、Module.symvers
./scripts/kabideps -m module_list (-d basedir_of_modules) -s symvers -e

kabisyms: 判断符号被那些ko使用; 根据符号表, 生成kabi基线.
1、判断符号被那些ko使用
./scripts/kabisyms -k symlist -d kabideps -o output
2、根据符号表, 生成kabi基线
./scripts/kabisyms -k symlist -s symvers -o output

check-kabi: 检查kabi是否变化.
1、指定基线Module.symvers.baseline和当前版本Module.symvers
./scripts/check-kabi -k Module.symvers.baseline -s Module.symvers

场景1 - 确定 kabi 基线:

  1. 根据需求搜集 ko 文件, 导出各ko使用的符号列表; 使用 kabideps 生成各 ko 使用符号的次数等信息
  2. 根据上述数据及商用os的符号表, 综合成 euleros 的kabi兼容列表;
  3. 编译正式版本生成 Modules.symvers
  4. 使用 kabisyms, 将上述kabi符号列表和Modules.sysvers 生成 kabi 基线;

场景2 - 开发和补丁时, 检查 kabi 是否变化

  1. 合入补丁, 编译, 生成 Module.symver
  2. 使用 check-kabi 检查 kabi 是否变化;
  3. fix kabi

场景3 - 版本维护时识别kabi变化的影响

  1. 合入补丁后使用 check-kabi 识别到 kabi 变化列表;
  2. 使用 kabysyms 检查这些符号影响哪些 ko
  3. 根据影响的 ko, 判断影响范围, 以及CCB.

bugzilla: 13262

Comments (2)

zhangjialin created需求
openeuler-ci-bot added
 
sig/Kernel
label
Expand operation logs

Hi zhangjialin11, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at
https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md.
If you have any questions, please contact the SIG: Kernel, and any of the maintainers: @XieXiuQi , @YangYingliang , @成坚 (CHENG Jian) .

zhangjialin changed description
zhangjialin changed description
zhangjialin changed description
zhangjialin changed description
zhangjialin changed description
zhangjialin changed description
zhangjialin changed description
zhangjialin changed issue type from 需求 to 任务
zhangjialin changed issue state from 新建 to 待办的
zhangjialin changed description
zhangjialin changed description
zhangjialin changed description
zhengzengkai throughsrc-openeuler/kernel Pull Request !461 changed issue state from 待办的 to 已完成

诚邀Issue的创建人,负责人,协作人以及评论人对此次Issue解决过程给予评价:

   0   1   2   3   4   5   6   7   8   9   10  

 不满意                        非常满意

Sign in to comment

Status
Assignees
Projects
Milestones
Pull Requests
Successfully merging a pull request will close this issue.
Branches
Planed to start   -   Planed to end
-
Top level
Priority
Duration (hours)
参与者(3)
5329419 openeuler ci bot 1632792936 9968373 openeuler survey bot 1637036855
C
1
https://toscode.gitee.com/openeuler/kernel.git
git@toscode.gitee.com:openeuler/kernel.git
openeuler
kernel
kernel

Search