2011-12-21 12 views
3

rpmパッケージに含まれる情報のバージョン番号/リリース番号を自動的にインクリメントする方法があるかどうか知っている人はいませんか?Rpmパッケージ情報:自動インクリメントバージョン

すなわち

rpmのようなものを返すだろう 'パッケージ名'

-qil:道はリリース番号が自動インクリメントに私が行うすべての時間がある

Name: package_name 
Version: 1.5 
Release: 000001 

をrpmbuild? rpm情報はspecファイルにあります。

ありがとうございます!

答えて

4

あなたはリリース番号としてエポックを持つ気にしない場合は、あなたがこれを行うことができます:

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

あなたがこれまでのようにエポック以外のものを使用したい場合、私は前に0を置く理由はそうですリリースタグ、およびバージョンを変更することはできません。

+0

バージョン番号を変更する方法はありますか – anish

+0

私はここであなたの質問を理解していません。 –

+0

rpm -iコマンドを使用してRPMパッケージをインストールしました。rpm -qを照会すると、仕様ファイルに記述されているバージョンが表示されます。これで、ファイルに影響を与えることなくバージョン番号を変更します。 this、 – anish

-1
あなたも設定し、ENV変数そうのようなことができ

perl -e 'print $ENV{RPM_VERSION}' 

これは私が竹でRPMをビルドする際に使用する程度だものです:それをつかむためにPerlを使用し、その後

export RPM_VERSION=1.1.1 

と。

+1

環境変数はbashでも利用できます。 echo $ RPM_VERSION)あなたはperlを呼び出す必要はありません – Ramfjord

0

あなたが好きなもの、あなたのメイクファイルに追加しようとする場合があります。

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

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

操作はインプレースで行われ、安全上の理由から、SPECファイルの以前の内容は、エポック番号がファイル名に添付されたバックアップファイルに保存されます。バックアップが1つだけ必要な場合は "-i.BAK"のようなものを使用することも、間違いがないことを確かめる場合は単に "-i"を使うこともできます。

関連する問題