我在持续集成环境中构建 RPM,我需要区分连续构建,但显然规范文件不会在每次签入时修改。
规范文件头包含类似
Version: 1.0beta7
Release: 1.1
Run Code Online (Sandbox Code Playgroud)
我想覆盖它,以便构建的 RPM 将有一个合格的附加到版本,例如
Version: 1.0.beta7.2913
Run Code Online (Sandbox Code Playgroud)
假设限定符已经可用,作为环境变量,将限定符附加到版本的最简单方法是什么?
相当简单:
Version: 1.0.beta7.%(echo $ENVVAR)
Run Code Online (Sandbox Code Playgroud)
你可以在 %(); 中运行任何你想要的命令。只要确保输出中没有空格。
就个人而言,我认为将其粘贴在顶部的变量中是一种触摸清洁器:
%define buildnumber %(whatever command to get the build number)
Version: 1.0.beta7.%{buildnumber}
Run Code Online (Sandbox Code Playgroud)
或者使其以设置的变量为条件:
Version: 1.0.beta7%{?buildnumber:.%{buildnumber}}
Run Code Online (Sandbox Code Playgroud)
那应该只打印 '.' 如果设置了 %buildnumber。