第 96 回 東京エリア Debian 勉強会資料.Deb
銀河系唯一のDebian専門誌
2013 年 1 月 13 日

：
１
集
特

画
計
度
年
３
１
２０

特集

計
集
ト
ー
ケ
ン
２： ア

第 96 回 東京エリア Debian 勉強会 2013 年 1 月

1 Introduction
上川 純一

今月の Debian 勉強会へようこそ。これから Debianface で出会える場を提供する。
– Debian のためになることを語る場を提供の世界にあしを踏み入れるという方も、すでにどっぷりとつかっているという方も、月に一回 Debian についてする。

– Debian について語る場を提供する。

語りませんか？

Debian 勉強会の目的は下記です。

Debian の勉強会ということで究極的には参加者全員• Debian Developer (開発者) の育成。

が Debian Package をがりがりと作るスーパーハッカー• 日本語での「開発に関する情報」を整理してまとになった姿を妄想しています。情報の共有・活用を通して Debian の今後の能動的な展開への土台として、「場」

め、アップデートする。

• 場 の提供。

としての空間を提供するのが目的です。

– 普段ばらばらな場所にいる人々が face-to-1デビアン勉強会

ィング報告

目次

4.1

6

東京エリア Debian 勉強会 95
回目報告 . . . . . . . . . . .

1Introduction

1

2

事前課題

3

Debian 勉強会予約システム

5

3
4

2.1

キタハラ

. . . . . . . . . .

2.2

dictoss(杉本 典充)

2.3

koedoyoshida

2.4

dai

. . . .

3

. . . . . . .

3. . . . . . . . . . . . .

3

2.5

yamamoto . . . . . . . . .

3

2.6

henrich . . . . . . . . . . .

4

2.7

まえだこうへい . . . . . . .

4

2.8

上川純一 . . . . . . . . . . .

4

2.9

野島

. . . . . . . . .

4

貴英

Debian Trivia Quiz

5

最近の Debian 関連のミーテ

2

アンケート集計

3

6

7

5.1

アンケート集計結果の処理

.

7

5.2

アンケートの設計について.

10

Debian 勉強会 2013 年度計画

12

6.1

2015 年までを妄想する . . .

13

6.2

2013 年の計画 . . . . . . . .

13

月刊 Debhelper

15

6

7
7.1

今回のコマンド. . . . . . .

15

7.2

dh gencontrol . . . . . . . .

15

7.3

dh listpackages . . . . . . .

17

7.4

おわりに . . . . . . . . . . .

17

第 96 回 東京エリア Debian 勉強会 2013 年 1 月

2 事前課題上川純一

今回の事前課題は以下です:

1. 2013 年の勉強会で発表したい内容を教えてください。
2. 2015 年では Debian はどうなっているかを大胆に予想してください。
この課題に対して提出いただいた内容は以下です。

2.1

キタハラ

2.3.2 2015 年では Debian がどうなっているかを大胆に予想してください
1. UbuntuPhone をカスタムして DebianPhone にしようとする人が現れるが...
「DFSG とバイナリ Firmware の戦いは始まったばか
りだ！... 続く」
2. jessie がリリースされる。
3. Debconf Japan が開催される。

2.1.1 2013 年の勉強会で発表したい内容を教えてくだ
さい
思い付かない。

2.1.2 2015 年では Debian がどうなっているかを大胆に予想してください
表向きはあまり変わっていない気がする。

2.4
2.2

dictoss(杉本 典充)

dai

2.4.1 2013 年の勉強会で発表したい内容を教えてくだ
さい
DD になるまでの修行期間や NM プロセスについてと、DD

2.2.1 2013 年の勉強会で発表したい内容を教えてくださいupstream の tar.gz を複数の deb パッケージに分けて作成になってからの作業。もっとも出張に重ならないとなかなか出席できないので実際に発表できる機会があるかは微妙なところする方法を勉強したい。

です。

2.2.2 2015 年では Debian がどうなっているかを大胆に
2.4.2 2015 年では Debian がどうなっているかを大胆に予想してくださいLinux ディストリビューションの中で最も使われるパッケー
ジ形式が deb になり、
「debian がインストールされていないな

予想してください
Wheezy+1 が滞りなくリリースされていた。

んて！」というのが普通になる。

2.5
2.3

yamamotokoedoyoshida2.5.1 2015 年では Debian がどうなっているかを大胆に

2.3.1 2013 年の勉強会で発表したい内容を教えてくだ

予想してください• debian-ports が (準?) 公式プロジェクトに格上げされさい発表したいというか聞きたい内容としては、最近聞く、De-て、移植関連インフラが強化されている。

• Linux カーネルがサポートしているアーキテクチャなbian のマルチアーキ対応とかでしょうか。

3

ら全部、移植プロジェクトが始まっている。どっかの企業が新しいアーキテクチャを発表したら、「とりあえず

2.8 上川純一

Debian に入れとく？」みたいになっているといいなー。
• kFreeBSD も軌道に乗っている。
• Hurd は、、、たぶん相変わらず。

2.6

2.8.1 2013 年の勉強会で発表したい内容を教えてくだ
さいDebian からがんばれば一眼レフデジカメを制御できるっぽ

henrichいので、それについて話をまとめてみたい。

2.6.1 2013 年の勉強会で発表したい内容を教えてくだ2.8.2 2015 年では Debian がどうなっているかを大胆にさい• なぜ Free であることが重要なのか、という価値の再確予想してください2013 年、タブレット型パソコンの普及によりラップトップ

認について

Debian はフリーなオペレーティングシステムを作り上は少量しか生産されない高級品となってしまった。

げることを目指しています。多くの場合フリーである

2014 年、メガネ型インタフェースにより携帯電話が駆逐さことというのを無条件で善であるとだけ考えているとれてしまった。

思いますが、フリーであることによってどのような価2015 年、我々の自由ソフトウェア運動は大きく後退してい値があるのか、ということを再定義して議論してみた

た。OS の起動の自由のための戦いは苦戦を強いられている。

いです。

自由に OS を選べるのはサーバインスタンス提供業者の提供す• Debian のリリースワークフローの改善案
Debian の安定版リリースについては「岩のように安定

シーケンスに割り込むのに必要な暗号鍵が解読されているハー

している、が古い」というのが定番です。これをどのよ

ドウェアはオープンソース開発者の地下組織では高値で取引さうに捉え、さらに改善していくかを議論してみたいとれるようになっていた。

る VPS 仮想マシンの上でのみ。タブレット型パソコンの起動

思っています。

2.9

2.6.2 2015 年では Debian がどうなっているかを大胆に予想してください貴英

2.9.1 2013 年の勉強会で発表したい内容を教えてくだ

正直分かりません。

2.7

野島

さい
qemu ネタと、NookColor に Debian をネイティブインス
トールする件を発表したいな。Gnome-shell なネタもいいな。
AR ネタ 1 本やってみたいな。（い、一応全部 Debian に絡ま

まえだこうへい2.7.1 2013 年の勉強会で発表したい内容を教えてくだ

せる予定）

さい
仕事も private も Debian パッケージも Python 関係ばかりなので python 絡みで何か。

2.9.2 2015 年では Debian がどうなっているかを大胆に予想してください
電車の中で、AR メガネで wayland な Desktop 環境を写し

2.7.2 2015 年では Debian がどうなっているかを大胆につつ、Debian unstable で Hack している毎日に違いない。俺

予想してください
娘は 4 歳になった。最近自分の PC が欲しいというので、もう使っていない白 MacBook と Debian のインストール用のCD イメージ入れた USB メモリを渡した。「ありがとう」と言って、娘は当たり前のように Debian のインストールを始のタブレット端末は全部 Debian をネイティブで入れてあるに決まっている。3D プリンタ、激安プリント基盤作成サービスも普及してるし、世の中に出回り過ぎて余ってしまった高度なスマホの部品もデータシート付きの通販で手に入るから、今度の日曜は同人ハードウェアなタブレット PC を、自分で作ってDebian を入れてみることにしよう。おっと、もちろん設計図
は当然 github で GPL で公開しとかなきゃね。

めた。
という日が来るに違いない。

4

第 96 回 東京エリア Debian 勉強会 2013 年 1 月

3 Debian Trivia Quiz
野島 貴英

ところで、みなさん Debian 関連の話題においついていますか？Debian 関連の話題はメーリングリストをよんでいると追跡できます。ただよんでいるだけでははりあいがないので、理解度のテストをします。特に一人だけでは意味がわからないところもあるかも知れません。みんなで一緒に読んでみましょう。
今回の出題範囲は debian-devel-announce@lists.debian.org や debian-devel@lists.debian.org に投稿された内容と Debian Project News からです。
問題 1. wiki.debian.org で使われていた wiki システム問題 3. 1 月頭の DPN で報告のあった、wheezy に残っのソフトウェアの名前は？

ている RC バグの数は 1 月 5 日時点であと何個？

□ A pukiwiki□ A あと 321 個□ B mine□ B あと 171 個□ C moin□ C あと 17 個問題 2. 去年の年末の popcon 調査で No.1 に輝いたプ

問題 4. 今年 amazon から Debian Project へいくらか

ラットフォームは？

の AWS の利用券をスポンサーしてもらったそうなので□ A 当然 armel だろ？

すが、金額にするとおいくら？

□ B i386□ A 8000USD□ C amd64□ B 800USD□ C 80000USD

5

第 96 回 東京エリア Debian 勉強会 2013 年 1 月

4 最近の Debian 関連のミーティング報告上川純一

4.1 東京エリア Debian 勉強会 95 回目報告
２０１２年１２月の Debian 勉強会はあんさんぶる荻窪で開催されました。参加者はキタハラさん、野首さん、

dictoss さん、sudou さん、青木さん、koedoyoshida さん、野島さん、石井さん、yy y ja jp さん、seiji-n さん、
yamamoto さん、上川でした。
最初に事前課題の紹介を行いました。DFSG に対しての熱い意気込みを感じられました。
上川が２０１２年の Debian 勉強会で何をやったかについて紹介しました。Debian 開発者の興味のある内容を偏った感じでカバーしているという印象です。来年はもっと幅広いテーマをとりあげてもいいかもしれません。
上川は最近の法律とか動向とかについて思うことを議論しました。特に結論はないですが、危機感を共有できたら幸いです。
青木さんが im-config について紹介しました。現役の漢字入力の方法が何種類もあるということに新たな驚きを感
じました。

6

第 96 回 東京エリア Debian 勉強会 2013 年 1 月

5 Debian 勉強会予約システムアンケート
集計
上川 純一

5.1 アンケート集計結果の処理
東京エリア Debian 勉強会ではアンケートをとっています。集計結果を眺めてみましょう。データは Debian 勉強会
予約システムのアンケート出力インタフェース http://debianmeeting.appspot.com/enquete/showallresultsから取得します*1 出力形式は各行が Debian 勉強会予約システムに登録している個人で、各列がそれぞれのセッションです。各コラム名は一意なキーとして扱えるようにするためイベント名とセッション名を足してかつイベントのハッシュ値の一部を追加したものを採用しています。

R で処理するためにデータを読み込み前処理を行うのには便利なスクリプトを用意しているのでそれを利用します。
> source(’getenquete.R’)

まず全体的なスコアのつき方から紹介しましょう。図 1 にすべてのお題のスコアの分布を並べています。時系列にならんではいますがそれぞれのテーマごとに並んでいるので時系列とは限りません。
図 2 に平均点がどういう分布をしているのかを図示しています。八割くらいは 4 点になり、一割づつ 5 点と 3 点があるようなスコア分布であることが見て取れます。特にひどいときには平均点が 2 点になってるような気もします。
ここから読み取れる全体的な傾向としては、ほとんどの場合は平均点で、特によいときには良い点数、特に悪い時には悪い点数をつけている人が多いということでしょうか。
データの癖を確認するために代表的なユーザの例を見てみます。図 3 図 4 にどのスコアを何度つけたのかをグラフにしています。ほとんどの場合は４をつけて、一部に５、３をつけ、２と１はほとんどつけてないという結果になっています。これに数回しか評価に参加していないユーザが４をつけるなどのバイアスが加わって全体としては４がさ
らに強調されているような気もします。
気になるのでセッションの具体例をみてみましょう。2010 年 12 月の勉強会の Debian Miniconf 企画会議はぐだ
ぐだだったので仕方がないでしょう。一方、2012 年 1 月の事前課題紹介に辛口の評価が多かったのが気になります。

n=4 なのでそんなに少数派でもないようです。今から振り返ってもいまいちぱっとしない内容なのですが運営がまずかったのでしょうか。

*1 取得したファイルを image201301/enquete.csv においておきます。

7

5
4
3
2
1
...70..................Debian..........2010...11.............BtrFS...................b8af

図1...87..................Debian..........2012...4.............android...debian.7efe

毎回のスコアの分布> raw_average_score[!is.na(raw_average_score) & raw_average_score < 3]
第 71 回東京エリア Debian 勉強会.2010 年 12 月勉強会.Debian.Miniconf. 企画.2eca
2.333333
第 84 回東京エリア Debian 勉強会.2012 年 1 月勉強会. 事前課題紹介.2012 年企画.f447
2.500000
第 84 回東京エリア Debian 勉強会.2012 年 1 月勉強会. 第 3 回月刊 Debhelper.dh_auto_..dh_build.f447
2.500000> enquete_response[!is.na(raw_average_score) & raw_average_score < 3]
第 71 回東京エリア Debian 勉強会.2010 年 12 月勉強会.Debian.Miniconf. 企画.2eca
6
第 84 回東京エリア Debian 勉強会.2012 年 1 月勉強会. 事前課題紹介.2012 年企画.f447
4
第 84 回東京エリア Debian 勉強会.2012 年 1 月勉強会. 第 3 回月刊 Debhelper.dh_auto_..dh_build.f447> scaled_average_score[’ 第 84 回東京エリア Debian 勉強会.2012 年 1 月勉強会. 事前課題紹介.2012 年企画.f447’]
第 84 回東京エリア Debian 勉強会.2012 年 1 月勉強会. 事前課題紹介.2012 年企画.f447-1.289405
4

一方でハイスコア側を眺めてみましょう。最高のスコアは「第 79 回東京エリア Debian 勉強会.2011 年 8 月勉強会.Debian パッケージのビルド方法」と「第 91 回東京エリア Debian 勉強会.2012 年 8 月勉強会. 月刊.Debhelper. 共
有ライブラリ編」です。それぞれ n=2 と n=3 で全員最高点を指定した結果です。アンケートに回答してくれた人数が少ないのが気になりますが、力作で聞いてておもしろいものでした。「第 72 回東京エリア Debian 勉強会.2011 年

1 月勉強会.Kinect」4.875(sd = 0.35, n = 8）と「第 95 回東京エリア Debian 勉強会.2012 年 12 月勉強会. 著作権法改正」4.75(sd = 0.5, n = 4) が比較的投票数も高くてスコアの高いものです。Kinect はデモ満載でやっていることもぶっ飛んでました。著作権法改正については問題意識を刺激する内容だったのではないでしょうか。

8

0.4
0.0

0.2

density

0.6

0.8

density.default(x = enquete_frame$raw_average_score, na.rm = TRUE)

2

3

4
raw average score

図2

すべての回を通しての平均点の分布>

raw_average_score[!is.na(raw_average_score) & raw_average_score > 4.5]
第 71 回東京エリア Debian 勉強会.2010 年 12 月勉強会.CACert の準備に何が必要か.2eca
4.600000
第 71 回東京エリア Debian 勉強会.2010 年 12 月勉強会. 俺の libsane が火をふくぜ.2eca
4.666667
第 72 回東京エリア Debian 勉強会.2011 年 1 月勉強会.Kinect.f456
4.875000
第 79 回東京エリア Debian 勉強会.2011 年 8 月勉強会.Debian パッケージのビルド方法.5dff
5.000000
第 91 回東京エリア Debian 勉強会.2012 年 8 月勉強会.Debian で C..11 を使う.9796
4.666667
第 91 回東京エリア Debian 勉強会.2012 年 8 月勉強会. 月刊.Debhelper. 共有ライブラリ編.9796
5.000000
第 95 回東京エリア Debian 勉強会.2012 年 12 月勉強会. 著作権法改正.3f15
4.750000> enquete_response[!is.na(raw_average_score) & raw_average_score > 4.5]
第 71 回東京エリア Debian 勉強会.2010 年 12 月勉強会.CACert の準備に何が必要か.2eca
5
第 71 回東京エリア Debian 勉強会.2010 年 12 月勉強会. 俺の libsane が火をふくぜ.2eca
3
第 72 回東京エリア Debian 勉強会.2011 年 1 月勉強会.Kinect.f456
8
第 79 回東京エリア Debian 勉強会.2011 年 8 月勉強会.Debian パッケージのビルド方法.5dff
2
第 91 回東京エリア Debian 勉強会.2012 年 8 月勉強会.Debian で C..11 を使う.9796
3
第 91 回東京エリア Debian 勉強会.2012 年 8 月勉強会. 月刊.Debhelper. 共有ライブラリ編.9796
3
第 95 回東京エリア Debian 勉強会.2012 年 12 月勉強会. 著作権法改正.3f15
4

9

5

0

5

Frequency

10

15

Histogram of t(enquete)[, 8]

0

1

2

3

4

5

t(enquete)[, 8]

図3あるユーザのつけたスコア分布

5.2 アンケートの設計について
今回みられた現象としては、５段階評価の４に評価が集まってしまいました。素朴にとらえると「よい」といってもらえていることになります。しかしこれだと分解能が低いと捉えることもできます。
これは「中心化傾向」もしくは「寛大化傾向」とよばれる現象にあてはまると思います。
アンケート設計の世界ではそれなりにいろいろな対策方法が存在しているようですがまだ僕がよく理解できてま
せん。

10

6
4
2
0

Frequency

8

10

12

Histogram of t(enquete)[, 9]

0

1

2

3
t(enquete)[, 9]図4

また別のユーザのつけたスコア分布

11

4

5

第 96 回 東京エリア Debian 勉強会 2013 年 1 月

6 Debian 勉強会 2013 年度計画
上川 純一

12

6.1 2015 年までを妄想する
2011

2012

2013

デスクトップパソコン終了の潮流。
cpu コア単体では高速化しないように。
webos 終了のお知らせ。
adobe flash 復活のお知らせ (キタ), silverlight 終 了 の お
知 ら せ (台 湾 を 除く)(続いてる?)squeeze リ リ ー ス(おめでとう)ipv4 割 り 当 て の 終
了のお知らせ (キタ)地上波デジタル移行
延長。
btrfs ま だ 頑 張 る(fedora 乙)java 終了 (sun java
終了)
open oﬃce が oracle oﬃce に (ナイ)

ノートパソコンよりタブレットのほうが売れている。ノート
パソコンでは macbookair が常識に。
ノートパソコンで
intel じゃな い も の(mips/arm) が主流にはまだならず。タ
ブレットのほうが主流。
デスクトップ:ゲーム以外の用途では終了
している。
サ ー バ:個 人 レ ベ ル
では VPS 常識。企業ユースでも cloudか、vps かを自前と比較検討する時代。
データセンターを置く国を選べる時代。
携帯電話: ガラパゴスの終焉。日本での携帯電話販売でもス
マートフォンが５０％を超えるように。
ガラケー向けのネッ
トバンクの提供が終了など、ガラケーからサービスが撤退
し 始 め る 。LTE 登場、普及しはじめたが、主流になっていな い 。softbank の二年契約はまだ続いている。sim free への道は耕されたがあたり前にならなかった。
btrfs はまだ生き残っているがまだ使われてない？
openstack で ceph
使う人もいる？
mysql か ら mariadb が派生。

コンシューマーはノートパソコ
ンを買わなくなった。ノートパ
ソコンのかわりにスマートフォンを使っている。
スマートフォンが 7 インチく
らいまで拡大、タブレットとは何だったのか。
自宅用のデスクトップパソコンのかわりに 10 インチくらいのタブレットを使うように。
サーバ：クラウドで処理するのが主流。python / ruby でコード書いていると CPU が何かわからない。裏で動いている CPU は一般人は知らない。
ARM ホストの仮想化技術が発達。
Oracle がメンテナンスする気がないのが明確になり、java
リスクが顕著になる。
固定ゲーム機の終焉。
ゲームは ARM。

2014
Intel がまた ARMに参入、もしくは省
電力 CPU を主力に切り替える。
気づいたら自作パソ
コン業界が終焉している。セキュアブー
トが普及している。
AMD が ARM コ
アの CPU を出す。
Java が Oracle 管理からはずれる。
スマートフォンの電池がガラケーなみに持つようになる。
電池消費が重要なアプリ選択の要素となる。スポイトで充電できる、燃料電池が流行る。
AR メガネのプロトタイプが出てくる。

6.2 2013 年の計画
2015 年にどうなっているのかを妄想したところで、2013 年度の計画を立てましょう。
企画案：

1. 2013 年の計画立案
2. (

)
13

2015
自作スマホの時代。
OpenHardware がモバイルに移行する。技適のパーツ認定基準というのができるようにがんばる。
自宅で回路が印刷できる機器が普及して
CPU とかが印刷できるようになるといいな。
タブレットが丸められるようになって巻物になっている。
AMD が x86 撤退。
ハードディスクを見たことがない人がいる。
データセンターを自前でもっているのは発電所を持っている
ところだけになる。
クラウドの法制度、免責事項、個人情報保護関連の問題が提起され、解決にむけてすすむ。一種デー
タセンタークラウド
業者の要求規格が制定される。ユーザ数
何人以上は二種免許が必要とか。
データセンターヘイ
ブンとよばれる国が
存在する。

3. (
4. (
5. (
6. (
7. (
8. (
9. (
10. (
11. (
12. 一年間の反省

)
)
)
)
)
)
)
)
)

14

第 96 回 東京エリア Debian 勉強会 2013 年 1 月

7 月刊 Debhelper
野島 貴英

7.1 今回のコマンド
以下のコマンドを今回は取り上げます。

• dh gencontrol• dh listpackages

7.2 dh gencontrol
dh gencontrol コマンドは、dh コマンドなどから提供される情報を引き継ぎ、dpkg-gencontrol コマンドを呼び出して、DEBIAN/control ファイルと、debian/files ファイルを生成します*2 。
次に、dh gencontrol コマンドが取り扱うファイルの説明を記載します。

7.2.1 control ファイル
control ファイルは、debian パッケージシステムでは極めて重要な役割を持ちます。
control ファイルは２つの用途があり、１つはソースパッケージ用の debian/control ファイルと、もう１つは、バ
イナリパッケージ用の DEBIAN/control ファイルとがあります。このどちらのファイルについても、Debian Policy

Manual[1] や、man deb-control に詳しい説明があります。
ちなみに、ソースパッケージ用の debian/control ファイルは、バイナリパッケージを構築するときにどんなバイナ
リパッケージが必要か、あるいは、どんな名前のバイナリパッケージを生成するかが記載されています。
さらに、ソースパッケージから生成されたバイナリパッケージには、DEBIAN/control ファイルが含まれています。このファイルは、該当のパッケージの動作にあたって必要な他のバイナリパッケージがバージョン情報と共に列挙されています。また、インストールしようとすると、他のバイナリパッケージの内容物に影響をあたえてしまう場
合にも、こちらを防ぐための情報などが記載されています。
実際のソースパッケージ用の debian/control ファイルは、”apt-get source パッケージ名” で取得したソースパッ
ケージの展開された構築用ディレクトリ以下で見る事ができます。

*2 本質的な動作ではないので、本文中には記載しませんが、dh コマンドが処理を再開できるように debian/パッケージ名.debhelper.log に完了記録も残します15

$ apt-get source xgalaga
パッケージリストを読み込んでいます... 完了（... 中略...)
dpkg-source: info: applying 0003-obsolete-xf86dga.patch$ lv xgalaga-2.1.1.0/debian/control
Source: xgalaga
Section: games
Priority: optional
Build-Depends: autotools-dev,
debhelper (>= 5),
dpkg-dev (>= 1.9.0),...debian/control の各行が続く...

一方バイナリパッケージ用の DEBIAN/control ファイルは、バイナリパッケージを入手し、”dpkg-deb -e バイナ
リパッケージファイル” とすることでカレントディレクトリ以下に取り出すことが出来ます。
$ apt-get download xgalaga
取得:1 xgalaga 2.1.1.0-4 をダウンロードしています [285 kB]
285 kB を 3 秒 で取得しました (84.9 kB/s)$ dpkg-deb -e ./xgalaga_2.1.1.0-4_amd64.deb$ lv DEBIAN/control
Package: xgalaga
Version: 2.1.1.0-4
Architecture: amd64
Maintainer: Debian Games Team <pkg-games-devel@lists.alioth.debian.org>
Installed-Size: 690
Depends: libc6 (>= 2.7), libx11-6, libxext6, libxmu6, libxpm4, libxt6, libxxf86vm1
Section: games...DEBIAN/control の各行が続く...

また、Debian システムへバイナリパッケージをインストールすると、DEBIAN/control ファイルの中身は/var/lib/dpkg/以下の status ファイルなどに追記されていきます。こちらは apt-get/aptitude/dpkg 等のパッケー
ジ管理コマンドにとって、導入済みパッケージに関するデータベース等として後々利用されていきます。

7.2.2 debian/files
debian/files ファイルは、ソースパッケージから生成したバイナリパッケージの名前、セクション名、重要度が記録されているファイルとなります。
このファイルは後に、バイナリパッケージのアップロードのための情報である.changes ファイルを生成する際に利用されるファイルとなります。

Debian Policy Manual[1] に詳しい説明があります。
7.2.3 debian/substvars
debian/substvars ファイルは、debian/control ファイルのバイナリパッケージ用定義に含まれる${shlibs:Depends}
マクロ、${misc:Depends}マクロ等を、実際の内容に置換するための情報が格納されているファイルとなります。
こちらのファイルは、バイナリパッケージ構築中にて、他の debhelper コマンド（例:dh shlibdeps コマンド等) により、順次 debian/substvars ファイルへ置換すべき情報が追記されていきます。
詳しい内容については、Debian Policy Manual[1] や、man deb-substvars に説明があります。
debian/substvars の中身の例：
shlibs:Depends=libc6-amd64 (>= 2.3.2)
misc:Depends=

7.2.4 debian/changelog
debian/changelog ファイルは、Debian パッケージのバージョンに対する変更点の説明、変更に伴い close したバ
グの番号の情報、変更者の名前とメールアドレス、日時が記録されたファイルとなります。
詳しい説明については、Debian Policy Manual[1] にあります。

7.2.5 dh gencontrol の動作詳細
以下に dh gencontrol が呼び出す dpkg-gencontrol も含んだ動作詳細を記載します。

Step 1. dh コマンドから引き継がれた情報（環境変数等）を元に、パッケージの構築用ディレクトリ名、de16

bian/substvars の正確なファイル名、debian/changelog の正確なファイル名を得ます。
Step 2. debian/changelog から、ソースパッケージ及びバイナリパッケージの、バージョン情報を得ます。
Step 3. debian/substvars から置換する予定の値（主に他パッケージに対する依存情報) を取り出します。
Step 4. debian/control から構築予定のバイナリパッケージに関する情報を集めます。
Step 5. debian/substvars から得た他パッケージに関する依存情報をまとめ、• 依存情報が完全に重複しているもの、• 同じ名前のパッケージに依存しているのに、バージョン違いで複数指定されているようなもの
を適宜まとめて、必要最小限の依存情報に修正します。

Step 6. バイナリパッケージ構築ディレクトリから、インストールするデータの総容量を計測します。
Step 7. debian/files を作成します。
Step 8. DEBIAN/control を Step.2〜Step.6 で得た情報を用いて生成します。

7.3 dh listpackages
dh listpackages コマンドは、debian/control ファイルを参照して、構築予定となるバイナリパッケージの名前の一覧を得ます。
以下に実際に実行してみた結果を載せます。
$ apt-get source dpkg
$ cd dpkg-1.16.9$ dh_listpackages
libdpkg-dev
dpkg
dpkg-dev
libdpkg-perl
dselect$

参考までに、上の例について、debian/control ファイル中で”Package: “というフィールドを行頭に持つような行をすべて検索してみます。
$ egrep ’^Package’ debian/control
Package: libdpkg-dev
Package: dpkg
Package: dpkg-dev
Package: libdpkg-perl
Package: dselect$となり、先の結果と一致します。
なお、dh listpackages は、dh コマンドから呼び出された場合には、dh コマンドから引きついた情報を元に、構築予定のバイナリパッケージの一覧を得る事ができます。つまり、dh コマンドから呼び出される他の debhelper コマ
ンドが、どんなパッケージに対して作用する予定かを、dh listpackages を使って知ることができます。

7.4 おわりに
今回は control ファイルに関わる debhelper コマンドについて説明をしてみました。

参考文献[1] The Debian Policy Mailing List,“Debian Policy Manual”,version 3.9.4.0, 2012-09-19

17

18

Debian 勉強会資料
2013 年 1 月 13 日
初版第 1 刷発行
東京エリア Debian 勉強会 （編集・印刷・発行）

19