GNOME Do の PPA を作った

前回、GNOME Do のmigemo対応をやってみたのですが、ついでなのでPPAでパッケージを作ってみました。
Ubuntu Maverick(10.10) と Natty(11.04) の人はこれを使うと簡単に導入できると思います。

導入方法

以下のコマンドを入力します。オレオレ認証のkiwanami鍵とPPAリポジトリの場所が入りますので、信用できない人はやめておきましょう。(2011/07/02 訂正 apt-key を書き間違えていましたので修正しました。@mori_devさんありがとうございます。)

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4009F8ED 26D9017F
$ sudo add-apt-repository ppa:m-sakurai/ppa1
$ sudo apt-get update

後は、apt-get でインストールするだけです。もちろん、synapticやソフトウエアセンターで入れてもかまいません。

$ sudo apt-get install gnome-do

依存パッケージとして cmigemo も入ります。 cmigemo の辞書は /usr/share/migemo に入りますので、Emacs 等で設定して使うことも出来ます。

既に入っている人は、おそらくアップグレードするかどうか尋ねられると思いますので、アップグレードするとPPA の GNOME Do が入ると思います。

GNOME Do 自体のバージョン表記は変更していないので、ちゃんと入ったかどうか確認するには「kagi」や「settei」とか入力してみてください。日本語がヒットしていればmigemoが動いています。

Ubuntu(debian)パッケージについて

以下は作業のメモなどです。debian パッケージは初めて作ったのですが、やはり各種多様なビルドをこなすだけあって、なかなか最初は理解が難しかったです。多分、経験者に師事して習ったりつっこんでもらいながら慣れていくものなのかなと思いました。しかしながら、理解していくうちにパッケージやlaunchpadの仕組みが非常に良くできていると思いました。

参考にした情報

検索するとそれなりに情報が見つかったのですが、debianパッケージ自体が進化していたり、ツールやパッケージの作り方が複数存在するため、どこを見ても違うことが書いてあるように感じました。結局、本家の情報を読むことが一番だったような気がします。

  • Debian New Maintainers' Guide
    • debianパッケージの本家マニュアル。汎用的に書いてあるのでいきなりは理解しづらい。
    • 突然 dh_make, quilt が出てくる
    • dquilt はここの設定をそのまま使った
  • The Ubuntu Packaging Guide 日本語版
    • Ubuntuパッケージの本家ドキュメントの日本語訳。
    • Hardy頃の情報で古いらしいけども一番参考になった。
    • ここで dh_make は devhelper だと言うことが分かった。CDBSはまだよく分からない。
    • こっちは dpatch を説明していて、ここでやっとパッチの管理方法にもいくつか方法があることが分かった。quiltが楽。

憩いの場さんのPPAにも cmigemo があったことを先ほど知りました。。。

作業メモ

以下は適当な作業メモです。突っ込み所があれば是非教えてください。

C/Migemo

ダウンロードと下準備

$ wget http://cmigemo.googlecode.com/files/cmigemo-default-src-20110227.zip
$ unzip cmigemo-default-src-20110227.zip
$ mv cmigemo-default-src cmigemo-20110227
$ tar zcvf cmigemo-20110227.tar.gz cmigemo-20110227

dh_make する

$ tar zxvf cmigemo-20110227.tar.gz
$ cd cmigemo-20110227
$ dh_make -e (mail address) -f ../cmigemo-20110227.tar.gz
 -> s / single を選ぶ

PPA なので省略

$ cd debian
$ rm -f README.Debian README.source *.ex *.EX

changelog, control, copyright, rules を編集する。

パッチを作る

$ cd ..
$ dquilt new fix-limit.patch
$ dquilt add src/wordbuf.c
$ vi src/wordbuf.c
   -> include <limits.h>
$ dquilt refresh
$ dquilt header -e
   -> fix an undefined symbol error.
$ dquilt new fix-makes.patch
$ dquilt add dict/dict.mak
$ vi dict/dict.mak
   -> gcc-dict: + utf-8
$ dquilt add Makefile
$ vi Makefile
   -> default: gcc-all
   -> install: gcc-install
$ dquilt add config.mk
$ vi config.mk
   -> /usr/local -> $(DESTDIR)/usr
   -> qkc -> nkf
$ dquilt refresh
$ dquilt header -e
   -> migemo patch

パッケージをビルドする

$ debuild -S -sa -k4009F8ED
$ sudo pbuilder build ../cmigemo_20110227-1.dsc

問題なければ dput でアップする。

GNOME Do

Maverick版は dpatch でパッチを作ってるので、既に入っているパッチの続きでパッチ作成。

ちなみにNatty版はquiltに変わっていた。

  • control の修正
    • Maintainer を自分に変更
    • cmigemo を依存に追加
    • ドキュメントを少し更新
  • copyright に追加
  • changelog に追加
    • version を修正
      • Maverick : 0.8.3.1+dfsg-2ubuntu1-migemo1
      • Natty : 0.8.4-0ubuntu2-migemo2

.pbuilderrc に PPA 追加してパッケージビルド。良ければ dput。

dput してビルド失敗したら、修正してバージョンを上げてアップし直す。