第 49 回東京エリア Debian 勉強会、 2009 年 2 月勉強会に参加してきました

オープンソースカンファレンス2009 Tokyo/Spring - OSSの春が来る!

第49回東京エリアDebian勉強会、2009年2月勉強会

遅ればせながら書いていますが…、 2/21 に行われたオープンソースカンファレンス 2009 Tokyo/Spring での「 Debian パッケージ作成ハンズオン トライ アゲイン」へ参加してきました。

Ubuntu に wnn7egg, libwnn7, scim-wnn らのパッケージがないことを前々から気になっていて、パッケージを作ろうと思っていて、ちょうど今回の勉強会がありました。

参考: [Ubuntu][Vine][Linux][Emacs] Ubuntu 8.04 (amd64) で Wnn8 + scim-wnn + wnn7egg を使う [id:munepi:20081019:1224431693]

Debian のパッケージング自体は、オンラインの資料だけで十分作成が可能なのですが、せっかく Debian 勉強会でパッケージングのお話が聞けるということで、興味本位の参加です。

いや、 Debian のパッケージングシステムで良いところを、どんどん Vine Linux へ取り込むためにこの勉強会に参加したようなものです(笑)。

ちなみに、私はレジュメの 1.13.5 項で、 pdebuild を実行中にメモリ不足により、 web サーバーが落ちシステムごとフリーズしてしまいました。それ以降、ずっと暇をしていました。

Vine にもほしい Debian のパッケージシステムの機能

Vine の apt-rpm システムにもほしーいなーというものが apt-file と pbuilder です。

$ apt-file search 調べたいファイル

これでどのパッケージに含まれているかが分かります。

また、全ファイルリストの更新は apt-get update の如く、

$ apt-file update

だけで完了します。

Vine の src.rpm パッケージには、素の base system から apt-get build-dep hogehoge としても、 rpmbuild --rebuild hogehoge.src.rpm でリビルドできない src.rpm が、実は結構あります。

$ sudo apt-get build-dep hogehoge
$ rpmbuild --rebuild hogehoge.src.rpm
(ビルド失敗!)

なんでそんなことが起こってしまうのかというと、パッケージャーの手元の環境ではビルドできるけど、他のどんな環境でもビルドできるように正しく依存関係が spec に記述されていないためなんです。

じゃー、パッケージを put する前に事前にチェックすればいいんでない?ということなんですが、 Vine には pbuilder のような仕組みは一切無いのです。

pbuilder のような仕組みは、 Vine でも比較的簡単に実現できそうですが、 apt-file はパッケージャーよりも上流で取り込まれないと無理そうです。

Vine Linux も勉強会とかやらないかな?