web-dev-qa-db-ja.com

ビルドサーバーでの自動ビルドのために、dpkg-buildpackageを介してバージョン番号とパッケージファイル名を設定する方法

ビルドサーバーは、dpkg-buildpackageを介してubuntuパッケージ(* .deb)をビルドします。サーバーはgitを介してソースコードをチェックアウトし、make <target>を介してビルドを実行します。ソースディレクトリには、dpkg構成ファイルがあるdebian/サブディレクトリが含まれます。

現在のパッケージバージョンに内部ビルドカウンター番号を追加し、さらにパッケージファイル名を設定したいのですが、dpkg-buildpackageでは、結果のpackage_version_Arch.debの外観を制御できません。どうすればこれを達成できますか?

2
Stefan

git-buildpackage を見てください:

スナップショット番号のカスタマイズ

スナップショット番号の自動インクリメントが必要でない場合、正の整数に評価されるpython式を指定して、新しいスナップショット番号を計算できます。

gbp dch -S -a --snapshot-number=1  
gbp dch -S -a --snapshot-number='snapshot + 2'
gbp dch -S -a --snapshot-number='os.popen("git-log --pretty=oneline | wc -l").readlines()[0]'
gbp dch -S -a --snapshot-number=`git-log --pretty=oneline debian/0.3.3 | wc -l`

スナップショット番号の計算をgbp.confに追加することもできます。

[DEFAULT]
snapshot-number = os.popen("git-log --pretty=oneline | wc -l").readlines()[0]
1
muru

制御ファイルsampkg/DEBIAN/controlでバージョン番号を変更できます

制御ファイルはDebianパッケージの中核です。関連するすべてのメタデータが含まれます。パッケージ名、バージョン、サポートされているアーキテクチャ、依存関係などがすべてこのファイルに含まれています。

Package: sampkg
Architecture: all
Essential: no
Section: web
Priority: optional
Depends: python (>=2.3)
Maintainer: Swaminathan Mathivanan
Description: Sample package.

最終的なpkg名はsampkg _1.0. _ all.debになります

0
msnfreaky