RPMリリースタグのpkgrel、extraver、snapinfo、およびmajorbumpフィールドはどのように使用されますか?

RPMリリースタグのpkgrel、extraver、snapinfo、およびmajorbumpフィールドはどのように使用されますか?

Fedora LinuxでRPMパッケージを作成するためのドキュメント状態それ

構造化タグは、次の4つのフィールドで構成できます Release:

  • ソフトウェアパッケージリリース番号(<pkgrel>
  • 追加バージョン情報(<extraver>
  • スナップショット情報(<snapinfo>
  • 少しのリリースクラッシュ( <minorbump>)

ただし、Specfileでこれらのフィールドを実際に使用する方法に関する情報は見つかりません。これドキュメントの例ページバージョン文字列の有効な形式の例を示しますが、それを生成する方法は提供されません。

それでは、バージョン1、バージョン2、マイナーバージョン3、およびパッケージバージョン4(1.2.3-4-beta用)を持つ成果物のSpecfileをどのように作成しますか?

答え1

これらのフィールドは、公開ラベルの構造を記述します。設定方法は主にユーザーによって異なります。

あなたの場合、アップストリームバージョンが4番目のパッケージアップデートである1.2.3ベータであると仮定します(したがってバージョンは4になります。ベータ部分は無視されます)。従来の方法は執筆である。

Version: 1.2.3
Release: 4.beta%{?dist}

または、より多くの構造を使用すると、

%global rctag beta
Version: 1.2.3
Release: 4%{?rctag:%{rctag}}%{?dist}

または、チルダを使用できます;これは(私の考えでは)すべてのアップストリーム制御バージョンコンポーネントが(パッケージングの問題を反映する必要がある)の一部であるというVersion利点があります。Release

Version: 1.2.3~beta
Release: 4

この方法は、バージョン1.2.3をパッケージ化したことがない場合にのみ機能します。

関連情報