LoginSignup
0
0

More than 3 years have passed since last update.

quilt メモ

Last updated at Posted at 2018-05-11

導入

sudo apt install quilt -y
alias dquilt="quilt --quiltrc=${HOME}/.quiltrc-dpkg"
complete -F _longopt -o filenames dquilt

_longoptはcatと同じ補完関数です。

設定ファイルの用意

$HOME/.quiltrc-dpkg
d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done
if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then
    # if in Debian packaging tree with unset $QUILT_PATCHES
    QUILT_PATCHES="debian/patches"
    QUILT_PATCH_OPTS="--reject-format=unified"
    QUILT_DIFF_ARGS="-p ab --no-timestamps --no-index --color=auto"
    QUILT_REFRESH_ARGS="-p ab --no-timestamps --no-index"
    QUILT_COLORS="diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33"
    if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi
fi

パッチを配置するディレクトリの用意

mkdir debian/patches

パッチファイルの登録

最初に空のパッチファイルを作成します

dquilt new foo.patch

debian/patches/seriesというファイルにパッチファイルが登録されます。

編集するファイルを追加する

dquilt add foo.bar

編集する

vim foo.bar

add->vimを同時に行うeditサブコマンドも存在します。

差分をパッチファイルに反映

dquilt refresh

debian/patches/foo.patchに差分が保存されます。

パッチファイル(差分ファイル)にヘッダをつける

dquilt header -e

いまいち用途がわかってませんがコミットコメントみたいなものですかね?

changelogに変更内容を残す

現在のバージョンに変更を追加する場合
dch -i
新たなバージョンとして変更を追加する場合
dch -v <version>-<revision>

debian/changelogに変更が追加されます。

seriesファイルに書かれた順に従ってpatchを1つはずす

dquilt pop

foo.patchが外れ、編集前の状態に戻ったはずです。

seriesファイルに書かれた順に従ってpatchを1つあてる

dquilt push

foo.patchがあたり、編集後の状態に戻ったはずです。

全てのパッチファイルをあてる/はずす

dquilt push -a
dquilt pop -a

現在までの差分を表示

dquilt diff
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0