.

.

東京エリア Debian 勉強会
資料.
上川 純一 dancer@debian.org
IRC nick: dancerj

2008 年 1 月 19 日.

.
..

設営準備にご協力くださいAgenda

注意事項
飲食禁止
政治/宗教/営利活
動禁止

quiz
最近の Debian 関連のイベント
前回

2008 年度 Debian 勉強会企画
Debian Package 管理の流れ

前回のアジェンダ

注意事項
飲食禁止
政治/宗教/営利活
動禁止

quiz
最近の Debian 関連のイベント
前回

Debian 勉強会資料はいかにつくられているか
2007 年度の勉強会をふりかえる
2008 年度計画ワーク
ショップ

前々回のアジェンダ

quiz
最近の Debian 関連のイベント
前回
OSC Tokyo/Fall
KOF
Biella 宴会

bluetoothlivehelper
tomoyo kernel module
KOF
OSC Tokyo/Fall
今後の計画Debian 常識クイズ

Debian の常識、もちろん知ってますよね? 知らないなんて恥ずかしくて、知らないとは言えないあんなことやこんなこと、みんなで確認してみましょう。
今回の出題範囲は、http://lists.debian.org/debian-devel-announce/ にある最近のアナウンス文書です。

問題 1. Debian Miniconf 7 が開催される、Linux
Conf Au はいつ開始か

A 1 月 28 日

B 1 月 29 日

C 1 月 19 日

問題 1. Debian Miniconf 7 が開催される、Linux
Conf Au はいつ開始か
答えは:

A 1 月 28 日

B 1 月 29 日

C 1 月 19 日

A

問題 2. lintian.debian.org は全アーカイブに対して実行した lintian の実行結果を報告してくれているページだが、メンテナ単位のウェブペー
ジの URL が変更になった。どうかわったか？
A
http://www.youtube.com/email.html
B
http://people.ubuntu.com/ liw/lintian/gutsyi386main/reports/maintainer/email.html

C
http://lintian.debian.org/reports/maintainer/email.ht

問題 2. lintian.debian.org は全アーカイブに対して実行した lintian の実行結果を報告してくれているページだが、メンテナ単位のウェブペー
ジの URL が変更になった。どうかわったか？
答えは:A
http://www.youtube.com/email.html
B
http://people.ubuntu.com/ liw/lintian/gutsyi386main/reports/maintainer/email.html

C
http://lintian.debian.org/reports/maintainer/email.ht

C問題 3. dpkg のシンボルファイルで何が実現できるか？

A 共有ライブラリなんてつかってられないので全部 DLL にしてみた依存関係
B 共有ライブラリはどんなバージョンでもよくなるような依存関係
C 共有ライブラリのバージョン付きシンボルをベースにした依存関係

問題 3. dpkg のシンボルファイルで何が実現できるか？
答えは:A 共有ライブラリなんてつかってられないので全部 DLL にしてみた依存関係
B 共有ライブラリはどんなバージョンでもよくなるような依存関係
C 共有ライブラリのバージョン付きシンボルをベースにした依存関係C問題 4. http://wiki.debian.org/HelpDebian/Startには何がかかれているか

A なぜ Debian に貢献するべきかB Debian はなぜ存在するのか

C GNU の存在意義

問題 4. http://wiki.debian.org/HelpDebian/Startには何がかかれているか
答えは:

A なぜ Debian に貢献するべきかB Debian はなぜ存在するのか

C GNU の存在意義A

問題 5. d-i での翻訳作業の省力化のための工夫
を Christian Perrier が実施した。それはメッセージを使われかたの優先度によって分割するものだったが、何分割にしたか

A5

B4C3

問題 5. d-i での翻訳作業の省力化のための工夫を Christian Perrier が実施した。それはメッセージを使われかたの優先度によって分割するものだったが、何分割にしたか答えは:

A5B4C3A

問題 6. Fonts task force(http://wiki.debian.org/Fonts) は週次で何を確認するスクリプトを用意したか？
A Debian パッケージとしてはたしてどれだけのフォントファイルが存在するのかを棚卸する
B いかがわしい形のフォントを検出する
C うまく表示できないフォントを検出する

問題 6. Fonts task force(http://wiki.debian.org/Fonts) は週次で何を確認するスクリプトを用意したか？
A Debian パッケージとしてはたしてどれだけのフォントファイルが存在するのかを棚卸する

答えは:

B いかがわしい形のフォントを検出する
C うまく表示できないフォントを検出する

A

問題 7. Lenny リリースに標準として含まれる予定の KDE はどれか

A KDE3.0

B KDE4.0

C KDE5.0

問題 7. Lenny リリースに標準として含まれる予定の KDE はどれか
答えは:A KDE3.0

B KDE4.0

C KDE5.0

A問題 8. Debian-i18n meeting で
main,contrib,non-free/i18n/Translation-* に対して何がおきたか

A Grisu が悟りを開いた
B AUTOBYHAND の仕組みを利用するようになったC あきらめて変更しないことにした

問題 8. Debian-i18n meeting で
main,contrib,non-free/i18n/Translation-* に対して何がおきたか
答えは:

A Grisu が悟りを開いた
B AUTOBYHAND の仕組みを利用するようになったC あきらめて変更しないことにした

B問題 9. FOSS.in の開催期間中に DD になったイ
ンド人は何人目のインド人 DD か？

A1

B2

C4

問題 9. FOSS.in の開催期間中に DD になったイ
ンド人は何人目のインド人 DD か？
答えは:

A1

B2

C4

C

問題 10. insserv では何が実現できるか？

A 自動でデータベースに insert してくれる
B 依存関係から init スクリプ
トの実行順序を計算して実行
C ネームサービスの提供

問題 10. insserv では何が実現できるか？

答えは:A 自動でデータベースに insert してくれる
B 依存関係から init スクリプ
トの実行順序を計算して実行
C ネームサービスの提供

B事前課題の紹介

事前課題問題... 「こんな Debian パッケージを作成してみました・作成
1

してみようとしてみたらここまでしかできませんでした」
2008 年の Debian 勉強会は Debian パッケージ作成について連続して企画をする予定です。現在どれくらいできるものなのか、どこらへんでつまっているのかを教えてください。(200-800 文字)... 「2008 年の Debian の目玉を大胆に予想する」
2

2008 年にどういう事が Debian の目玉になるのか、大胆に予想してみてください。(200-800 文字)

吉田「こんな Debian パッケージを作成してみました・作成してみようとしてみたらここまでしかできませんでした」私は、たまに必要があると野良パッケージを作っています。野良パッケージを作る理由としては、.. 使いたいアプリ/機能が公式パッケージにないから
1.
... 複数マシンにインストールしたり、環境再構築時に楽2だから.3. 新規パッケージは statble に入らないから.4. その他.
.

といったところです。基本的には私のレベルは dh make して s で作るだけのレベルです。その程度ですが、某 LUG で入門として話してみたことがあります。deb 作成は rpm 作成と比べて作業や決まり事が多くて少し面倒とおもいます。
が、仕事で作っていた rpm に比べて、まだ deb を作り慣れていないせいも多いと思います。

吉田「2008 年の Debian の目玉を大胆に予想する」lenny リリース！というのは皆書きそうなので... 某社から Debian プリインストール機が出る... とかあると面白いですね（笑）。

日比野
こんな Debian パッケージを作成してみました
仕事でも趣味でも必要があれば自分でもパッケージングをやってます。debian ディレクトリのテンプレートは、perl な
ら dh-make-perl を、そうでなければ dh make を使っています。ビルドは debuild で lintian でチェックしています。perl
モジュールの Net::SSH::Perl のパッケージングを仕事でやったときが一番大変でした。(ssh を perl で実装してあるため、大量の依存モジュールが) C のヘッダの型情報と動的ライブラリを使って C の関数を Scheme の処理系である gauche から呼び出す c-wrapper ライブラリとか、C のソースコードを解析して Objective Caml の抽象木にしてくれる cil ライブラリとかを趣味でパッケージングしました。

日比野

小ネタ: 2008 年の Debian の目玉を大胆に予想する
experimental にはもう有るようですが perl-5.10 あたりでしょうか。ぜんぜん大胆じゃない。python と perl が両方とも parrot の上に乗るとか。

山本「こんな Debian パッケージを作成してみました・作成してみようとしてみたらここまでしかできませんでした」ター
ルボールから野良ビルドする時は、必ずパッケージにすることにしています。ただ、パッケージを 2 つ以上に分割する方法は、見様見まねで、よくわかっていません。あと、新しいポリシー (3.7.3) の変更点もいまいち理解できていないと思います。
「2008 年の Debian の目玉を大胆に予想する」
lenny フリーズ！リリースは再来年に持ち越し！

山根「こんな Debian パッケージを作成してみました・作成してみようとしてみたらここまでしかできませんでした」

JD という 2ch ブラウザをパッケージに。パッケージとしてはあまりいじらなくても良い状態になっています。
upstream が活発なのでそれに併せて更新予定です。
eclipse-nls-sdk は、upstream が音沙汰無いのでどうしたものか。分割方法を考えた方がいいのが課題。とりあ
えず lintian の warning だけ何とかします。そう言えば今思い出しましたが、Pleiades をパッケージ化できないかを upstream な人に KOF で尋ねられていたのでした。
すっかり忘れてた。これも検討しないといかんですね。
ccspatch (linux-patch-tomoyo)、ccstools(tomoyo-ccstools) については一段落しました。
backports を作って、upstream に利用を明示する必要がありそうです。

山根
mirmon というパッケージを作って ITP しましたが、mentors でスポンサーしてあげるよといった DD がそれっきり音沙汰無いのでどうしたものかと思っています。delel@jp で聞くべきかも。
フォントパッケージを増やしています。ttf-vlgothic、ttf-konatu、ttf-kiloji が今まで accepted。次はttf-togoshi-gothic、ttf-ume が手元では出来ているので、細かな所を upstream に確認ののち、ITP → upload 予定。確認出来ているフリーなフォントはどんどん追加予定です。
sylph-searcher をパッケージにしたいな、と思ったのですが、libsylph を作らないといけないのですね。librarypackage は今のところ作って無いのでどうしたものか。
すでにパッケージを upload した人は、lintian.debian.orgで自分のパッケージの warning を確認してどんどん潰すべ
きですな

前田
「こんな Debian パッケージを作成してみました・作成してみようとしてみたらここまでしかできませんでした」
年末年始でようやく一部のサーバを Etch 化し始めました。
ついでに自宅環境で使っているスクリプトの配布には、Debian パッケージにしてみようか、と思ったわけですね。
で、じゃあスクリプトだけをパッケージ化するのはどうやるのかと、調べようとする前に、scp で転送してしまい、やらずじまいでした…。orz 何かのついでに始めてみようというのは、ダメですね…。今度の日曜（今月の Debian 勉強会の翌日）ちゃんと時間を割いてやります。
「2008 年の Debian の目玉を大胆に予想する」
きっと誰かが Wii も Debian にして、Wii Balance Board でAPT シェルを自由自在に操っているに違いない。w

岩松 信洋こんな Debian パッケージを作成してみました作成してみよ
うとしてみたらここまでしかできませんでした
最近作った Debian パッケージはMacbook の LED を Ethernet のアクセスに合わせて点灯させるソフトウェア
u-boot 用のイメージを作成するソフトウェアです。
両方とも Debian パッケージ化を行い、手元で使っています。
パッケージ化がむずかしいソフトウェアではないので、特にハマることはありませんでした。
なので、いじられるところは特にありません。

Noriaki Sato
以前、Ruby on Rails で Oracle を使うために ruby-oci8 をinstall しようとしたら deb package が無かったので、package を作ってみようとした事がありました。
http://www.debian.org/doc/manuals/maint-guide/index.ja.html#contents 辺り（古い？）を斜め読みしながらやったのですが、$ dpkg-buildpackage -r fakeroot

した所で、何故か /usr/local 配下に install されてしまいました。その時は、普通に install したのと同じ結果になっただけなので、まあいっか、とゆー事で終わりにしてしまったのですが、良い機会なので少し調べてみました。

Noriaki Sato
$ tar xvfz ruby-oci8-1.0.0.tar.gz$ cd ruby-oci8-1.0.0$ dh_make -e mail_address -f ruby-oci8-1.0.0.tar.gz$ dpkg-buildpackage -r fakeroot(snip)
dh_installdirs# Add here commands to install the package into debian/tmp/usr/bin/make DESTDIR=/home/noriaki/tmp/deb/ruby-oci8-1.0.0/debian/tmp install
make[1]: ディレクトリ ‘/home/noriaki/tmp/deb/ruby-oci8-1.0.0’ に入りますruby setup.rb install---> lib
mkdir -p /usr/local/lib/site_ruby/1.8/
install oci8.rb /usr/local/lib/site_ruby/1.8/
Permission denied - /usr/local/lib/site_ruby/1.8/oci8.rb
Try ’ruby setup.rb --help’ for detailed usage.ということで、いまさら Makeﬁle を眺めてみた所、そもそも DESTDIR がなく、install 先が簡単に変更出来ない感じでした。Makeﬁle から呼び出している setup.rb という script を読んで、Makeﬁle を書き換えないとダメっぽいです。今回は時間がなく、ここまでで断念しました。そもそも、packageの作り方はまだ良く分かっていない所が多いので、今日、ばっちり勉強して帰って、再度 try したいと思います。

高橋 昭之「こんな Debian パッケージを作成してみました・作成してみようとしてみたらここまでしかできませんでした」
作ってみたパッケージは GNU hello です。debian/rules ファ
イルを雛形のまま編集せずに debuild が通ったので実力は全くついていませんが、dh make などの基本的なパッケージ作
成コマンドの使い方は概ね把握しました。これからパッケージ作成で学びたいことは、debian/rules ファイルのスタイル・書き方についてと gpg 署名です。
「2008 年の Debian の目玉を大胆に予想する」初心者なので、2007 年の目玉がなんだったのかさえ知りません:-(Aya Komuro「こんな Debian パッケージを作成してみました・作成してみようとしてみたらここまでしかできませんでした」
Debian パッケージは作成した事が無いです。以前作ったもの自体をパッケージ化したほうがいいか？と考えたときに即座に必要ないと判断したのでパッケージ化するネタが無いです。こんなのを作りたいなぁと妄想だけはあるんですけどね。

橋本 徹
こんな Debian パッケージを作成してみました
Debian パッケージになっているソフトウェアは数多くある
し、非公式のパッケージを作っている人も多いので自分でパッケージングする必要に迫られることは少ないのだが、今までパッケージングしてみた数少ない例としては以下のものが挙げられる。
* gnubggnubg は公式パッケージになっているが、公式パッケージが全然更新されていなかった時期に CVS 版をビルドしてパッケージングしたことはあった。autoconf を使用したものだったのでインストール可能なレベルのパッケージを作るのは比較的容易だった。

橋本 徹* gtkipmsg
IP Messenger クライアントとしては、xipmsg は公式パッケージとして存在するが、GTK 版クライアントの gtkipmsgのパッケージは存在しなかったのでパッケージングしてみた。これも autoconf 対応だったのでインストール可能なパッケージは比較的容易に作成できた。
autoconf モノは比較的容易にパッケージングできることがわかった。が、autoconf を使っていないものについてはまだ経験がない。

森田尚「こんな Debian パッケージを作成してみました・作成してみようとしてみたらここまでしかできませんでした」
作ったパッケージ：仕事である編集業や、趣味である日曜プログラミングでの必要性や興味から、次の野良パッケージを作って使っています。

森田尚

vfdata-otf-ptex http://psitau.at.infoseek.co.jp/otf.html OTF
は、OpenType フォントを pTeX で使うためのTeX マクロパッケージおよびフォントデータです。OTF 版のヒラギノやモリサワを Debian で使いたかったので作りました。
ideotype http://ideotype.sourceforge.net/
IdeoType は、商業出版の現場で編集制作を支援するためのツールです。XHTML 形式の原稿を本（PDF）に変換します。

森田尚

これからパッケージ化しようと考えているもの：

libxsl-ruby https://rubyforge.org/projects/libxsl/
libxslt を Ruby で使うためのライブラリです（1
文字違いの libxslt-ruby とは異なる）。Ruby の拡
張ライブラリを Debian パッケージにする際の作法がよく分からず、まだ眺めている程度です。
c-wrapper http://homepage.mac.com/naoki.koguro/
prog/c-wrapper/index-j.html Scheme イン
タプリタ Gauche から、C/Objective-C で書かれたライブラリを利用できる仕組み（FFI）です。

森田尚

知りたいこと：他のパッケージ形式との間での変換の仕方（例えばRubyGems の Gem から dpkg 形式への変換や、dpkg 形式からRPM や MacPorts への変換など）。Gem の場合、ほぼ自動での変換が可能らしいことは分かったのですが、ruby-pkg-tools の使い方が分からず挫折中です。

森田尚パッケージ化されてほしいその他のソフトウェア：

rushcheck Ruby 用のテスティングツール
rspec Ruby 用のテスティングツール
cruisecontrol.rb continuous integration サーバ
pdumpfs-rsync rsync 越しの pdumpfs
pdumpfs-clean pdumpfs によるバックアップデータの整理・削除
color-moccur.el, moccur-edit.el Emacs で複数バッファを一括して検索・編集

2008計画年

2008 年計画..1. 新年会「気合を入れる」..2. Open Source Conference Tokyo (3/1)..3. データだけのパッケージを作成してみる、ライセンスの考え方 (David)(吉田@板橋)..4. バイナリ一つのパッケージを作成してみるバージョン管理ツールを使い Debian パッケージを管理する (git)アップストリームの扱い (svn/git/cvs)(岩松 信洋さん)(前田さん)..5. バイナリの分けたパッケージの作成。
バイナリの分け方の考え方、アップグレードなどの運用とか。
(dpatch/debhelper で作成するパッケージ)(小林儀匡さん)..6. パッケージ作成
man の書き方 (roﬀ or docbook)(でんさん)..7. パッケージ作成 (kernel patch、kernel module) 、Debconf 発表練習..8. Debconf アルゼンチン、共有ライブラリパッケージ作成
Source Conference Tokyo/Fall、デーモン系のパッケージの作成、latex、..9. Open
emacs-lisp、フォントパッケージパッケージの cross-compile の方法、amd64 上で i386 のパッケージとか、..10. OSC-Fall
報告会、Debconf 報告会..11. 国際化 po-debconf / po 化 / DDTP..12. 忘年会

Debian パッケ ー ジ作成

開発者のロジックの流れアップ ス
トリーム取得パッケージ作成

BTS の対応

reportbug-ng
reportbug
dpkg-dev-el

ChangeLog

devscripts の dch
dpkg-dev-el の debian-changelog.el
vim の debchangelog

build-test

debuild
lintian / linda
debc / debdiﬀ
debi
pbuilderアップロードレポジトリ作成

dpkg-scanpackages / dpkg-scansources
apt-ftparchivemini-dinstall
apt-movedebarchiverrepreprodak宴会場所

宴会場所
本日の宴会は「???」です。参加者は 1F に集合し、全員で移動しましょう。
片付け
部屋を片付けるのにご協力ください。