agをwheezyで使う

ackよりもagというのをどこかで見て、ag使ってみるか〜と思ったらwheezyにはまだきてなかった。

やはりsidに、と心動かされるが少しがまんして、手製backportパッケージを作ることにした。

といってもこういう小さなツールはそれほど手間をかけなくてもすむことが多い。おおまかな手順を以下に。

$ apt-get source silversearcher-ag
$ sudo aptitude builde-dep silversearcher-ag
$ cd silversearcher-ag-0.18.1+20131108
$ dch --bpo

いまどきはbpo向けバージョンにするのも簡単なんだなと思ったのだが、新規追加はsqueezeにしか対応していなかった。squeeze-backportsのための記述が入っているので、一行目のbpo60bpo70に、一行目と三行目のsqueezewheezyに書き換えておく。

silversearcher-ag (0.18.1+20131108-1~bpo70+1) wheezy-backports; urgency=low

  * Rebuild for wheezy-backports.

 -- akira yamada <akira@debian.org>  Sun, 08 Dec 2013 08:46:33 +0900

そしてパッケージの構築。

$ vim debhan/changelog
$ debuid -uc -us -sa -v0.18.1+20131108-1

パッケージのバージョン付け(changelogに加えた変更)やdebuilldの-vオプションはDebian backports contributeに従ったもの。

一般的なDebianパッケージ作成ではDebian policyに従っておくことで広い範囲で利用可能な品質になる。backportパッケージにもそのような慣習があるので、やはり従っておいたほうがよい。とりわけ、バージョンの付け方には注意しておく。

ともあれ、以上でもといたディレクトリにパッケージができているはず。パッケージの内容を確認(dpkg-deb -C)するなどした上でインストールして、動作を確認する。

$ sudo dpkg -i ../silversearcher-ag_0.18.1+20131108-1\~bpo70+1_amd64.deb
$ ag bpo
debian/files
1:silversearcher-ag_0.18.1+20131108-1~bpo70+1_amd64.deb utils extra

debian/changelog
1:silversearcher-ag (0.18.1+20131108-1~bpo70+1) wheezy-backports; urgency=low

debian/silversearcher-ag/DEBIAN/control
2:Version: 0.18.1+20131108-1~bpo70+1