想象一个名为 的 RPM abc-123-1.x86.rpm,我在其中发现了一个错误。
但我不知道如何命名新包。
也许abc-123-2.x86.rpm?但是如果有一个xyz.rpm依赖abc-123-1呢?
也许abc-123-1.x86.1.rpm,...
所以我的问题是RPM 的 Name-Version-Release 的规则是什么?
问题是错误在哪里以及谁修复了它。
rpm 包/文件名的组成部分是name、version、release和architecture(也有 ,epoch但仅在特殊情况下使用)。
如果修复的错误在软件本身中,那么可能会发布该软件的新版本,并且它会有一个新的版本号,因此您可以适当地打包(假设您正在为您的发行版打包软件的新版本)。
如果错误在打包中(或者您没有打包新版本,而是向后移植补丁),那么软件版本不会更改,您无法更改它,因此您可以更改版本。
大多数包不应该依赖于另一个包的特定版本。(它们可能有最低支持版本,因为它们依赖于包装更改或向后移植的补丁,但这是一项要求abc < 123-1,不受此版本调整的影响。)
Fedora(以及 RedHat 和 CentOS)关于此的政策位于Package Versioning。在该 wiki 中还提供了更多与包装相关的信息。