RPM 实际上有一个记录很少的VCS
标签。
它似乎没有任何关于其使用的指南,但它存在并且受到支持。
cat > test.spec <<'__END__'
Name: foo
Version: 1
Summary: foo
License: None
Release: 1
VCS: git:repo=my-repo:branch=my-branch:sha=1234deadbeef
%description
foo
__END__
$ rpmspec -q test.spec --qf "%{VCS}\n"
git:repo=my-repo:branch=my-branch:sha=1234deadbeef
Run Code Online (Sandbox Code Playgroud)
它似乎仅限于单个解析令牌。还是有用的。我没有找到任何关于它的明确定义的格式或结构的文档,并且它的采用是有限的。在我的 Fedora 32 系统上,我发现两个使用它的软件包,具有不同的格式:
$ rpm -qa --qf '%{Name} %{VCS}\n' |grep -v '(none)'
bcache-tools https://github.com/g2p/bcache-tools.git
libcue scm:git:https://github.com/lipnitsk/libcue.git
$
Run Code Online (Sandbox Code Playgroud)
坦率地说,rpm 不让我们能够注入自定义标签信息,这真是太遗憾了。我想记录 Jenkins 构建 ID 和作业名称、git 提交哈希以及 git 分支或标签,但并不真正希望它们出现在变更日志中。
我可以在带有X-BS-foo
标签的 debs 中执行此操作。
您可以查看允许的 rpm 标签列表rpm --querytags
。
该DISTURL
标签似乎被保留用于其他用途,但可能是一个候选者。
还有URL
;您可以选择在其中嵌入 SCM 信息,并进行重定向,以便在浏览器访问时将 URL 带到合理的位置。
您可能会看到对支持自定义标签的“rpm5”的引用。这似乎是 rpm 的死叉,而不是大多数主要发行版上使用的 rpm.org 发行版。
Fedora(很少有 RHEL)将此信息放在 Release 标签中。
例如:
Name: mypackage
Version: 0.0.1
Release: 20140114git0abcdef
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1810 次 |
最近记录: |