3

rpmパッケージにある情報のバージョン/リリース番号を自動インクリメントする方法があるかどうか誰かが知っているだろうかと思います。

すなわち

rpm -qil'package_name'

次のようなものが返されます:

Name: package_name
Version: 1.5
Release: 000001

rpmbuildを実行するたびにリリース番号を自動インクリメントする方法はありますか?rpm情報はスペックファイルにあります。

前もって感謝します!

4

3 に答える 3

4

リリース番号としてエポックを使用してもかまわない場合は、次のようにすることができます。

Release: 0.%(perl -e 'print time()')

私が0を前に付けた理由は、リリースタグとしてエポック以外のものを使用したい場合で、バージョンを変更したくない場合は、それが可能であるためです。

于 2011-12-21T17:34:26.550 に答える
0

makefileに次のようなものを追加しようとする場合があります。

perl -i.`date +"%s"` -pe 'if (/^Release:/) { s#(\d+)#$1+1#e }' YOURSPECFILE.spec

このonelinerが実行されるたびに、「Release:」で始まる行で見つかった整数がインクリメントされます。

操作はインプレースで実行され、安全上の理由から、SPECファイルの以前の内容は、ファイル名にエポック番号が付加されたバックアップファイルに保存されます。バックアップが1つだけ必要な場合は「-i.BAK」、何も問題が発生しないことが確実な場合は単に「-i」などを使用することもできます。

于 2016-02-28T11:29:37.000 に答える
-1

次のようにENV変数を設定することもできます。

export RPM_VERSION=1.1.1

次に、perlを使用してそれを取得します。

perl -e 'print $ENV{RPM_VERSION}'

これは、BambooでRPMを構築するときに使用しようとしているものです。

于 2013-06-20T23:53:28.200 に答える