我想知道是否有人知道是否有一种方法可以为 rpm 包中的信息自动增加版本/发布号。
IE
rpm -qil 'package_name'
会返回类似:
Name: package_name
Version: 1.5
Release: 000001
有没有办法在我每次执行 rpmbuild 时自动增加版本号?rpm 信息位于规范文件中。
提前致谢!
我想知道是否有人知道是否有一种方法可以为 rpm 包中的信息自动增加版本/发布号。
IE
rpm -qil 'package_name'
会返回类似:
Name: package_name
Version: 1.5
Release: 000001
有没有办法在我每次执行 rpmbuild 时自动增加版本号?rpm 信息位于规范文件中。
提前致谢!
如果您不介意将 epoch 作为版本号,您可以这样做:
Release: 0.%(perl -e 'print time()')
我把 0. 放在前面的原因是,如果你想使用 epoch 以外的东西作为发布标签,而不是更改版本,你可以。
您可以尝试在您的 makefile 中添加如下内容:
perl -i.`date +"%s"` -pe 'if (/^Release:/) { s#(\d+)#$1+1#e }' YOURSPECFILE.spec
每次运行此 oneliner 时,它都会递增在以“Release:”开头的行中找到的整数。
该操作在原地完成,出于安全原因,SPEC 文件的先前内容保存在备份文件中,文件名附有纪元号。如果您只需要一个备份,您也可以使用“-i.BAK”之类的东西,或者如果您确定不会发生任何错误,则只需使用“-i”。
你也可以像这样设置和 ENV 变量:
export RPM_VERSION=1.1.1
然后使用 perl 抓取它:
perl -e 'print $ENV{RPM_VERSION}'
这就是我在 Bamboo 中构建 RPM 时将要使用的内容。