会议结论:
1、 TC委员会同意创新版本开源软件版本选型策略与选型周期
2、 TC委员会同意开发版本与LTS 版本的SP 发布节奏以及开源软件版本选型策略与选型周期,周期见附件
遗留问题:
1、 以上信息需要和参与openEuler 的OSV 厂商线下沟通并达成一致。 责任人:TC 委员会
2、 Kernel 升级策略目前未明确,对修改导致ABI变更问题还未达成一致,需要尽快明确。 责任人:kernel SIG
李次华 欧拉部-2012 实验室 华为技术有限公司 Tel : +86 15158056404 Email : licihua@huawei.com [cid:image004.png@01D64A31.91A8A590]
This e-mail and its attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it!
发件人: Licihua [mailto:licihua@huawei.com] 发送时间: 2020年6月22日 17:05 收件人: tc@openeuler.org 抄送: Hehuazhen hehuazhen@huawei.com; Hexiaowen (Hex, EulerOS) hexiaowen@huawei.com; chenyaqiang chenyaqiang@huawei.com 主题: [Tc] 【TC议题申请】关于openEuler LTS 版本软件选型与运作的提议
背景:为了减少 openEuler LTS 版本的开源软件维护成本,openEuler 社区定义了开源软件升级策略,目前策略已经发布,需要将相关信息传递到给SIG,启动运作
解决建议: 1、各SIG按照目前定义的策略运行一段时间,将运作发现的问题反馈到TC 委员会,然后根据反馈的问题调整策略。 2、软件兼容列表需要根据大家使用情况持续补充,希望可以得到大家的意见反馈
以下是策略具体描述:
openEuler LTS 版本基线选取openEuler 创新版本最近release 的稳定版本,维护周期4年
1. LTS版本的软件版本要兼顾质量与稳定,优先选择主流OS发行商广泛应用的版本,或社区成熟期LTS版本和稳定版本。 2. LTS版本的软件升级后原则上不得影响兼容性列表,兼容性列表由openEuler TC 看护。 3. LTS版本的软件在一个版本生命周期内,尽量不做大版本的变动,采取特性、补丁回合的方式解决质量问题。 4. 如果发生软件升级,需做好两个版本间的差异分析,并需经过版本发布管理SIG的评审。
LTS版本软件选型的兼容性保证
根据开源软件的应用场景和重要程度,可分为三个等级,针对不同级别来确定对应开源软件质量策略(选型、维护、测试和社区参与策略)。
1. 系统核心组件 (kernel, glibc, gcc)原则上一个openEuler LTS主版本内不升级,只做有限特性和全量CVE及关键BUG的backport; 2. 如果是基础软件(如在/usr/lib 安装.so文件),原则上只升级维护版本 (比如 x.y.z -> x.y.z+1),例如 libxm2 可以从2.9.8->2.9.10,最后一位变化表示bugfix版本。Lib库仅供软件自身使用的按照工具类处理; 3. 如果是工具\应用类软件(仅在 /usr/bin、/usr/sbin 下有安装文件),在兼容情况下允许升级小功能迭代最新稳定版本来满足业务诉求,否则仅做小版本升级,例如kpatch可以从0.6.1->0.9.1,中间位变化表示增加了新特性。如果存在不兼容影响使用的问题,则采用backport 方式修复BUG,不做升级。
LTS版本兼容性列表
LTS版本的软件升级后不得影响兼容性列表,兼容性列表由openEuler TC 看护。此兼容性列表根据实际场景或用户反馈增删或修改。下面是举例,详细的表格参见openEuler LTS版本兼容性列表https://gitee.com/openeuler/community/blob/master/zh/technical-committee/governance/software-management.md。
一级列表定义
API和ABI在主版本的生命周期内保持稳定,并且在接下来的一个主版本中也尽量保持稳定。 1、主版本从openEuler LTS 20.3开始。 2、如果更改导致与现有二进制文件不兼容,则应考虑补丁或特性回合来保持兼容性,而不是粗暴的升级。 3、或提供该库的新旧两个版本等消减措施,以消除对上层软件的影响。
一级列表范围
glibc、gcc(libstdc++, libgcc, libgomp, libatomic)、libxml2、zlib、libvirt、elfutils、pam、krb5
二级列表定义
API和ABI在单个主版本的生存期内保持稳定,依赖的应用程序在单个主版本生命周期内原则上无需做重大修改。
二级列表范围
Kernel KABI、dbus、openssl、bzip2、curl、xz、systemd、libssh、alsa-lib、libmodulemd、motif、libacl、libattr、nss
三级列表定义
API和ABI在单个主版本的生存期内不强制保持稳定,存在依赖关系的应用程序保持联动升级。
三级列表范围
一级列表与二级列表范围外
软件升级差异分析
软件包升级时,需要对升级前后版本按照下面表格模板做全面的差异分析,以此评估影响。保留所有项,按照实际情况填写差异项,并将表格记录在issue的comments中。此内容需要Maintiner在审核PR时、测试团队在确认issue时,重点关注。 差异分类
差异项
差异说明
影响评估
特性变化
新增特性/删除特性/变更特性实现
配置文件
新增/变更/删除配置项
ABI差异
新增/变更/删除API
新增/变更/删除结构体
命令行/功能
新增/变更/删除命令
新增/变更/删除命令选项
新增/变更/删除日志输出
SPEC文件
新增/变更/删除 编译依赖、安装依赖、依赖的软件版本变更
拆分软件包方式变更
李次华 欧拉部-2012 实验室 华为技术有限公司 Tel : +86 15158056404 Email : licihua@huawei.commailto:licihua@huawei.com [cid:image003.png@01D64A21.4F8B3E30]
This e-mail and its attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it!