alien コマンドと dpkg-buildpackage コマンドをつかって バイナリの rpm から deb にリパッケージしたのですが、パッケージ作成後、debian/prermの修正を忘れていたので quilt コマンドをつかってパッチを追加で当ててみました。quilt の使い方は探せばみつかるので特に目新しいことはないのですが、備忘録として挙げて置くことにしました。
まずはじめに quilt コマンドをインストールして 該当のソースディレクトリに移動します。
修正が済んだら以下のようにするとdiff形式で修正内容を確認できます。
まずはじめに quilt コマンドをインストールして 該当のソースディレクトリに移動します。
apt-get install quilt cd /usr/src/mypackage/mypackage-1.0次に ~/.quiltrcファイルを以下の内容で作成しておきます。
QUILT_PATCHES=debian/patches QUILT_NO_DIFF_INDEX=1 QUILT_NO_DIFF_TIMESTAMPS=1 QUILT_REFRESH_ARGS="-p ab" QUILT_DIFF_ARGS="--color=auto" # If you want some color when using `quilt diff`. QUILT_PATCH_OPTS="--reject-format=unified" QUILT_COLORS="diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33"続いて新規のパッチセットを以下のようにして作成します。
quilt new my-correction-to-debian-scripts.diff次にこのパッチセットに修正対象のファイル名を追加します。
quilt add debian/prermここで debian/prerm に対して修正を行います。quilt add の前に修正を行うと反映されないので注意してください。
修正が済んだら以下のようにするとdiff形式で修正内容を確認できます。
quilt diff
続いて修正を debian/patches 以下などに反映させます。
quilt refresh
次はパッチの説明を編集します。dpkg-buildpackage するときに descriptionがないと怒られる場合があったので忘れずに記述しましょう。
quilt header -e続いて既存のパッチをインポートして適用する場合は以下のようにします。
quilt import debian/patches/a-ready-made.patch quilt push a-ready-made.patch確認・説明編集は同じですが refresしなくてもpushで変更は反映されているようです。
quilt diff quilt header -eパッチの追加が済み、パッケージのバージョンをインクリメントしたい場合は、以下のようにします。
dch -iインクリメントさせずに単にchangelogを追記したい場合は、-i オプションを外します。
dch
パッチの作成・説明書きの編集等がすんだら、ここでビルドします。
dpkg-buildpackagequiltコマンドには便利な機能が他にも含まれているのですが、新規に quilt コマンドをつかってパッチを作成する方法はこれでOKです。短いですが今回は以上です。それでは。
コメント
コメントを投稿