Ebuild 版本修订

Ebuild 可能与一个 Gentoo 版本号相关联。这是一个 -rX 后缀,其中 X 是一个整数——参见 文件命名规则。此组件只能用于 Gentoo 的更改,不能用于上游版本。没有显式版本号的 ebuild 具有隐式 -r0 版本。

Ebuild 版本修订通常有两个用途

  1. 在进行可能破坏性更改时保留 ebuild 的旧副本,以及
  2. 在执行有意义的更改时传播软件包的重新构建,否则这些更改会被已经安装了当前版本的用户的忽略。

鼓励开发者在确定是否引入新的 -rX 版本时使用常识。以下经验法则可用作指导

  1. 如果更改可能导致软件包损坏到需要用户恢复到先前版本的程度,则应引入新版本并保留旧版本。对于任何此类版本升级,新 ebuild 应基于先前版本,以确保不会意外删除修复程序。
  2. 如果软件包具有稳定关键字,则应为每个非平凡更改引入新版本,并且其关键字应降级到 ~arch(参见 升级时的关键字)。这里的总体指导原则是保守主义,以及最大程度地降低稳定用户意外损坏风险的必要性。
  3. 如果更改对已安装该软件包的用户产生了重大影响(修复运行时问题,更改已安装的文件等),并且无法通过其他方式传播,则应将 ebuild 重命名为新版本。如果软件包具有稳定关键字,则应将其移动到新版本而不删除。要提交 ebuild,应使用 pkgdev commitgit commit 配合 pkgcheck scan --commits
  4. 否则,可以在当前 ebuild 版本中进行更改。

需要新版本的更改示例包括

无需版本升级即可进行的更改示例包括