我想将最后一个“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(使用前将#替换为@)