在 rpm 中将最后一个 git commit id 放在哪里

2024-02-16

我想将最后一个“git commit id”添加到我的 rpm 中,以便有一种万无一失的方法来追踪用于构建包的源。

我可以使用 rpmrelease标签,但这已经用于快照的发行号和日期。我不想再让这个负担过重了。

是否有其他标签或机制可以将最后一次提交 ID 存储在 rpm 中?


我不知道规范格式中有任何专门为此设计的内容,但我确实看到了几个选项:

  • Use the version tag
    • 你提到了release你的问题中的标签,但这是为了封装版本,而不是软件版本。 Git 修订版更像是软件版本而不是软件包版本。
    • 对于稳定版本,您仍然可以使用数字标签,例如1.0如果您愿意,但我建议您确保这对应于具有相同名称的 Git 标记,以便您的版本始终对 Git 有意义。
    • 这样做意味着您可能还应该使用serial标签,以便 RPM 可以弄清楚如何订购版本。 (如果您正确标记并使用以下方法确定您的版本,则这可能不是必需的。)
    • 这将包括包名称中的修订,或者至少在文件名中,听起来您不希望这样。
  • Name your source archive with the Git hash and then use a url tag like http://example.com/software/software-abcd123.zip.
    • 使用此方法,您不需要在包文件名中包含修订版本。

在第一种情况(也可能是第二种)中,可能值得使用git describe http://git-scm.com/docs/git-describe确定您的 Git 感知版本号,例如

$ git describe HEAD
1.0.0-3-gabcd123
'-.-' | |'--.--'
  |   | |   `---- Short Git hash
  |   | `-------- Indicates that a Git hash follows
  |   `---------- Three commits ahead of the previous tag name
  `-------------- The name of the base tag

请注意,您的每分钟转数 (RPM)version不能包含连字符,因此此版本可能必须转录为类似的内容1.0.0_3_gabcd123.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 rpm 中将最后一个 git commit id 放在哪里 的相关文章

随机推荐