openSUSE:X11:XOrg 项目补丁指南

跳转到:导航搜索


X11:XOrg 下有超过 40 个软件包。其中许多包含对核心系统至关重要的软件。SUSE Linux Enterprise 产品的软件包将直接从中派生。因此,保持这些软件包的可管理性和可维护性至关重要。
为了实现这一目标,目标是将源软件包中的补丁数量保持在最低限度。 任何保留的补丁都需要遵循某些准则,以便可以轻松了解补丁的目的和预期寿命。

补丁内容格式

补丁应包含一个标头,提供有关补丁的信息——首选格式是 'git format-patch' 或 'git show' 创建的格式。Diffstats 很好,但不是必需的。

标头应包含

  • 作者
    • 添加一行:作者:我的姓名 <Name@my.domain>'
  • 主题(通常是 git commit 的摘要行。)
    • 添加一行:主题:...'
  • 如果补丁已合并到上游。
    • 添加一行:补丁-主线:["上游"/发布号|"待合并到上游"|"不适用"|"永不"|"临时"]'.
    • 如果可用,应提供首次包含此补丁的发布号。大多数状态不言自明。“临时”状态需要进一步说明:此状态应用于修复需要解决上游问题(由于代码更改)或需要修复特定发布版构建问题的修复程序。 后一目的的补丁应在 spec 文件中使用 if-子句包装,以便仅将其包含在所需的发布版中。 临时补丁不得在下一个源 tarball 更新周期后幸存,除非它们需要解决特定发布版的构建问题。 描述*必须*解释为什么需要此解决方法。 如果状态为“永不”,则注释*必须*解释原因。
  • 上游项目的 git commit ID(如果它是基于 git 的项目)
    • 添加一行:Git-commit:<commit-ID>'
  • 任何引用,例如 bug ID(如 bnc #N,任何相关网址,安全修复的 CVE 号,请参阅 openSUSE:Packaging_Patches_guidelines 获取缩写)
    • 添加一行:引用:<reference> ...'
  • 负责此补丁的人(如果与作者不同)
    • 添加一行:Signed-off-by:我的姓名 <name@my.domain>'

补丁应使用 -p0 或 -p1 应用。

文件名格式

文件名应采用以下形式<upstreamtag>[_<package-or-driver>]_<patchname>.patch
<upstreamtag>

  • 'N' 用于:不适用
  • 'n' 用于:永不合并到上游。
  • 'u' 用于:待合并到上游
  • 'U' 用于:已合并到上游,即来自上游
  • 'T' 用于:临时

<package-or-driver>如果 rpm 源软件包中存在多个子软件包,则应标识子软件包。 为了使补丁名称稍微短一些,只需命名唯一标识软件包的部分软件包名称即可(例如,xf86-video-intel 的 intel)。<patchname>作者可以选择任何内容。 它应该略具描述性(例如,git format-patch 完成的将所有空格替换为下划线的摘要行)。

OSC changelog 条目

OSC changelog 条目应提供

  • 更改的补丁名称,
  • 引用(如果适用)(如果是一个新补丁,则需要一个 bugzilla 条目,其中包含更多详细信息),
  • 一个(缩写)摘要以及负责 OSC 中补丁的人(不是上游)——如果这与提交者不同。