第 83 回 東京エリア Debian 勉強会資料

2011 年 12 月 17 日

特集

り
返
り
振
の
年
1
1
0
2
1:

ilt で
u
q
:
2
特集

た
み
て
し
porting
r

elpe
h
b
e
D
刊

月
:
3
集
特

第 83 回 東京エリア Debian 勉強会 2011 年 12 月

1 Introduction
上川 純一

今月の Debian 勉強会へようこそ。これから Debian ので出会える場を提供する。

– Debian の た め に な る こ と を 語 る 場 を 提 供

世界にあしを踏み入れるという方も、すでにどっぷりとつかっているという方も、月に一回 Debian について語りまする。

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

せんか？

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

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

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

• 場 の提供。

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

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

目次
1

Introduction

1

2

事前課題

3

6.1

はじめに

. . . . . . . . . . .

6.2

Debian パッケージのフォーマット . . . . . . . . . . . . . .

11

6.3

quilt パッケージ . . . . . . .

11

6.4

quilt の 使 用 例：

DebianGNU/kFreeBSD 向けの port-

2.1

吉野 (yy y ja jp). . . . . .

3

2.2

dictoss(杉本 典充) . . . . .

3

2.3

岩松 信洋 . . . . . . . . . . .

3

2.4

なかおけいすけ. . . . . . .

3

2.5

やまだ . . . . . . . . . . . .

3

2.6

Kazuo Ishii . . . . . . . . .

4

2.7

Aru . . . . . . . . . . . . .

4

7.1

はじめに

. . . . . . . . . . .

16

2.8

koedoyoshida . . . . . . . .

4

7.2

今月のコマンドその 1:dh . . .

16

2.9

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

4

7.3

今 月 の コ マ ン ド そ の

2.10

yamamoto. . . . . . . . .

4

2.11

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

4

2.12 野島 貴英 . . . . . . . . . .

4

ing パッチ作成 . . . . . . . .

12

6.5

quilt の登場 . . . . . . . . . .

13

6.6

終わりに

. . . . . . . . . . .

14

6.7

参考情報

. . . . . . . . . . .

14

月刊 Debhelper 第 2 回

7

2:dh testroot . . . . . . . . .

催方法
ング報告

3.1

はじめに

8.2

東京エリア Debian 勉強会を開. . . . . . . . . . .

Debian Trivia Quiz

. . . . . . . . . . .

く時のスケジュール . . . . . .

5

8.3

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

4. . . . . . . . . . .

8.4

5.1

7

基本的な数値 . . . . . . . . .

7quilt で porting してみた

11

2

24

会の開催を担当する場合の事前

6

2011 年の振り返り

23

初めて東京エリア Debian 勉強
準備 . . . . . . . . . . . . . .

5

23

東京エリア Debian 勉強会の開催調整 . . . . . . . . . . . . .

5

21

23

8.1

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

3.2

5

16

東京エリア Debian 勉強会の開8

最近の Debian 関連のミーティ

3

6

11

8.5

9

24

東京エリア Debian 勉強会の掲
示の出し方 . . . . . . . . . .

24

索引

25

第 83 回 東京エリア Debian 勉強会 2011 年 12 月

2 事前課題
野島 貴英

今回の事前課題は以下です:1. 今年パッケージ化した、あるいは、使い込んだ Debian パッケージを 5 つまであげて、そこで出会った課題について 200 文字以内に解説してください。
この課題に対して提出いただいた内容は以下です。

2.1

input-mtrack, xf86-input-multitouch• 今年使い込んだ Debian パッケージ:
libpng, opencv, bluez, ruby, mozc, buildd, pbuilder• 出会った課題: release チームとのやりとり

吉野 (yy y ja jp)

Twitter クライアント Polly を Ubuntu PPA が微妙だったのでパッケージ化してみました．
ア イ コ ン がCreative
Commons
AttributionNonCommercial-ShareAlike 3.0 Unported だっ た の で 削除しました．自前で描くべきか微妙です。コードの多くが GPL3+ で、一部アイコンセッ トが GPL-2 となっ ていて矛盾しているのでそのアイコンセッ トを削除しました。 Python で書かれており、 Python ライブラリを Build-Depends−Indep とDepends に手書きで追加しました。 Depends は自動生成でき

2.4• パッケージ化しているパッケージ
stm32flash• 課題
man がないとか、ライセンスファイルの書き方がおかしいとか、パッケージングポリシーに従うこと、意外に大変たらうれしいかもしれません。

2.2

なかおけいすけ

なこと。

dictoss(杉本 典充)

2.5

パッ ケージ化したものはないので、使い込んだ Debian パッ

やまだ

Debian 構成や固有部分が絡んでるもので挙げてみました：• busybox
OK:ビルド設定が不足して job control できない• initramfs-tools??:rootwait があるから rootdelay は不要と思っ たら
MD+USB で起動障害– Linux 的には上は正だが、 udev も見てタイミング

ケージだけです。

• kfreebsd-image-8-amd64
FreeBSD 本家ではビルドされるのに、 Debian パッケー
ジでは付属していないものが多く、その違いに悩んだ。

• gftpssh コマンドみたくデフォルトの ssh 鍵認証→パスワード
認証でログイン処理が進んでくれず、 ssh 鍵認証でログイ調整するというクイックハック状態なのだった

ンに失敗すると画面が進んでくれない。アップストリーム• grub-pc
OK:grub2 でモニタとシリアルの同時有効化機能が一時の問題かは不明。

• icewm

落ちて、制御不能になった• extlinux
OK:設定バラバラ化のみならず、標準ではシリアル有効化

2.3 岩松 信洋の設定を仕込む箇所が存在せず、制御不能に• 今年パッケージ化した Debian パッケージ:
bluez-tools, fonts-ipamj-mincho, mozc, mtdev, xf86-• dropbear??:initramfs 内で dropbear を起動する荒業により、固3

定 IP の DNS サーバが DHCP アドレスになり NW 死亡• debhelper??:CFLAGS（ や相当設定）の指定方法がわからず、 gcc-m32 や -f... の渡し方に悩む• kexec
OK:デフォで再起動が単なる kexec 実行に切り替わり、BIOS が取れず悩んだ• apt??:実 は security.d.o が 120ms-300ms の 彼 方 で 遠できてないな。

• 今 年 使 い 込 ん だ Debian パッ ケ ー ジ: devscripts
pbuilderdevscripts でポチポチと sbuild 用にパッケージを作り、
pbuilder で再ビルドしてました。今年は FTBFS を直してもらう BTS をたまにするのと、自分専用リポジトリを最新に保つだけで、いっぱいいっぱいでした。

• 来年使い込む予定の Debian パッケージ: sbuild buildd
さて、弾ができたし、突撃じゃー。

• 出会った課題:
base.tgz とかを最初に作る時、 arch=all なのはオフィ

い・・・

2.6

シャルから、アーキテクチャ依存なパッケージはオレオレ

Kazuo Ishii

リポジトリから、という使い方ができなかった。ヘタレな
おいらは、 build-essential なパッケージに依存する all

emacs

なのは、全部オレオレリポジトリにつっこんで解決。

常にカスタマイズを続けています。これをどれだけ使いこなすかが、課題です。

2.7

2.11

Aru

12/8 時点の状況• パッケージング済み– python-funcparserlib : テストでコケる問題– python-webcolors• パッケージング途中– python-ordereddict： Python2.6 のみ– python-blockdiag : Python 2.6 は pythonordereddict を、 2.7 は組み込みの ordereddict を使うようにパッケージングするには debian/control

postfix のソースコードをいじってパッケージ化させてインストールしなおしました。
○ CN の回線上で SMTP サーバを構築する際は OP25B の関
係上 OCN の SMTP サーバを通さなければならないのですが、その SMTP サーバが特殊な仕様のようで postfix の設定を変えるだけではサーバに弾かれてしまいます。そこで、○ CN のサー
バ向けにソースコードをいじりました。

2.8

koedoyoshida

どう書けばいいんだ？

– python-{sec,act,nw}diag お よ び pythonsphinxcontrib.{block,seq,act,nw}diag : pythonblockdiag 待ち– python-tomahawk : nodetests でコケる問題• Unbound:
仕事で評価用 DNS を建てるのに使ったり、 dnstudy 等
で発表の危険な LT ネタとして使用。 BIND に比べて良くできてるので特に課題等はなし• zabbix:
基本 stable を使っていること、かつ発展途上のソフトで2.12 野島 貴英

あることから豊富なはまりポイントが有った。が基本的にぐぐって解決したり、表示上の問題なので無視したりして• パッケージング途中– xmrisscore の others に rw 付与を止めさせたい。古い

ます。

2.9

まえだこうへい

ゲームは特に。

henrich– tracef
dynamic loading を hook して、 symbol 再ロード

今年はあまりパッケージをいじくってないです…パッケージ化
したものといえば IRC クライアントの loqui とかぐらいでしょして欲しい。

• 使い込んだパッケージ– totem,gstreamer-tools

うか。それも upstream の方が、ほとんど雛形作っていただいていたので細かい所を直しただけでした。

DEP5 への対応や他の DEP への対応などが今後パッケージク

いくつか機能の動作が不完全な気が。例： 字幕ファイ

オリティを挙げる上で課題でしょうか（ 主に面倒くさい意味で）ル利用とか。

– gnome-shell

2.10

いろいろドキュメントなさすぎ。

yamamoto– po-mode.el
改行全部に \n を入れられてしまうので、 po4a 製
po ファイルの翻訳作業がきっつー。

今年パッケージ化した Debian パッケージ: 無しうーむ、自分専用のパッチをあてたカーネルパッケージぐらいっすね。貢献は4

第 83 回 東京エリア Debian 勉強会 2011 年 12 月

3 最近の Debian 関連のミーティング報告
野島 貴英

3.1 東京エリア Debian 勉強会 81 回目報告
10 月の東京エリア Debian 勉強会は、筑波大学にて開催されました。 Debian をよく知らない学生の方々が参加される可能性があったため、若い人向けに Debian についておさらいの意味で、 Debian とは何かについて岩松さんが発表しました。この発表をきっかけに若い方々で Debian に興味を持っていただき、ますます Debian Developer 候補が増えて欲しいと思います。
また、岡部さんには Debian 上で Haskell の開発について現状・ 問題点を説明していただきました。関数型言語の代表的な言語の一つである Haskell を Debian でやってみようという方が増えると良いなぁと思っています。坂口さんには、

Debian 上での LaTeX 環境についての紹介と、学校の課題を自動生成する事について発表していただきました。坂口さん
は学生ということで、今の学生さんがどのように LaTeX 環境と付き合っているのかについて非常に参考になりました。
最後に岩松さんから月刊 Debhelper の企画と発表がありました。 Debian のパッケージを開発する際に強力なツールである Debhelper のコマンドについて、毎月 2 コマンド以上持ち回りで説明が行われる事になりました。きっとこれで、Debian パッケージ開発者が益々増えると良いなぁと思います。

3.2 東京エリア Debian 勉強会 82 回目報告
11 月の東京エリア Debian 勉強会は OSC Tokyo/Fall にてセッション形式で行いました。場所は明星大学、第一日目の 11/19(土) の 11:00-11:45 にて行っています。 Debian JP Project の活動の宣伝と、最近の Debian 事情について岩松さんより発表していただきました。最近の Debian 事情について、これほどまとまった内容はないんじゃないかと思うほ
どの内容でした。
また、 OSC Tokyo/Fall では 11/19〜11/20 の２日間ブースも出しています。 LiveDVD の配布も行いました。

11/19 はあいにくの雨にも関わらず多くの人が訪れたようです。これで Debian ユーザがもっともっと増える事を期待し
ています。

5

第 83 回 東京エリア Debian 勉強会 2011 年 12 月

4 Debian Trivia Quiz
野島 貴英

ところで、みなさん Debian 関連の話題においついていますか？ Debian 関連の話題はメーリングリストをよんでいると追跡できます。ただよんでいるだけでははりあいがないので、理解度のテストをします。特に一人だけでは意味がわからないところもあるかも知れません。みんなで一緒に読んでみましょう。
今回の出題範囲は debian-devel-announce@lists.debian.org や debian-devel@lists.debian.org に投稿された内容と Debian Project News からです。
問題 1. 11 月終わり頃にルートファイルシステムの構造に問題 3. 11/19 に長らく活動を停止していたパッ ケージ

ついて議論を呼んでます。内容は？

チームが復活宣言をしました。どれでしょう？

□ A /user を作る□ A CORBA packaging team

□ B /bin,/sbin,/lib の実体を/usr 以下に移動して、代わ□ B Ham-radio packaging team

りにシンボリックリンクにする□ C SDL packaging team

□ C /etc の実体を/usr 以下に移動して、代わりにシンボ
問題 4. 10/28〜30 で MiniDebconf2011 が開かれましリックリンクにするた。どこの国でしょう？
問題 2. sun-java6 が Debian パッケージとして配布でき□ A ニカラグア

なくなりました。代わりに Debian で推奨される Java は?

□ B インド□ A openjdk□ C フランス□ B gcj-jdk
問題 5. Wheezy フリーズの為の BSP が各国で開かれまし□ C coco-java

た。ドイツとどこ？
□ A フランス□ B ニカラグア□ C ポーランド

6

第 83 回 東京エリア Debian 勉強会 2011 年 12 月

5 2011 年の振り返り
まえだこうへい

今月で 7 年目の Debian 勉強会が終了しました。

5.1 基本的な数値
Debian 勉強会は毎回事前課題事後課題を設定しており、予習復習を必要だと謳っている勉強会です。実際にどれくらいの人が出席しているのか、またその人たちがどれくらい事前課題・ 事後課題を提出しているのか、確認してみましょう。図1 です。値は一年の移動平均です。
結果を見ると参加者数は下降傾向にあり、事前課題の提出率は昨年からは横ばい傾向です。事前課題をちゃんとやる常連
参加者に収斂されてきているのでしょうか？ 一方、事後課題 (ブログ) の率はさらに低下しています。昨年、「 ブログはもう流行らないのでしょうか」との一言がありましたが、まさにその通りかもしれません。

図 1 東京エリア Debian 勉強会事前課題・ 事後課題提出実績 (12 ヶ月移動平均)

毎回の参加者の人数と、その際のトピックを見てみます。今年も昨年同様、人数的には大きく増減はありませんが、 10月の筑波大での開催での参加者が、昨年の筑波大でのつくらぐさんとの合同勉強会の時と同じ参加者数でした。新参の参加者を期待した筑波大生の参加は思ったほどではなかった一方、初参加なのにわざわざ都心から筑波大まで参加してくれた方が意外と多かった回でした。 2009 年から見ると、大学での開催はいつもより参加者数および初参加者が増えるので、来年以降も続けていくと良いでしょう。また、リストをみると、毎月数名は初参加者も毎月いて、そのうち一部は 2 回目以降も参加する人がいることを考えると、先ほどの参加数が下降傾向にありつつ、事前課題の提出数が横ばいであるのは、ちゃ7

んと事前課題を提出する人が常連になる傾向にあるのではないか、とも見れます。事前課題の提出率は維持しつつ、参加者数は増やしていく為の対策は必要でしょう。
会場を見ると、今年の会場は、あんさんぶる荻窪以外の公民館などの利用が増えました。また、今年は３年前の草津温泉、昨年の木更津に続き、三回目の Debian 温泉を伊東の山喜温泉で開催しました。 Debian Hack Cafe も 6 月ごろから
月 1 回程度のペースで再開しているようです。

8

表 1 東京エリア Debian 勉強会参加人数 (2005-2006 年)

表 2 東京エリア Debian 勉強会参加人数 (2007-2008 年)

参加人数

内容

2005 年 1 月

21

秘密2005 年 2 月

10debhelper 1

2007 年 1 月

15

一年を企画する2005 年 3 月

8(早 朝) debhelper 2、2007 年 2 月

13dbs, dpatchsocial contract2007 年 3 月

80

OSC 仮想化

debhelper 3

2007 年 4 月

19quilt, darcs, git

DFSG、 dpkg-cross、

2007 年 5 月

23etch, pbuilder, superh

lintian/linda

2007 年 6 月

4

エジンバラ開催： Deb-

2005 年 4 月
2005 年 5 月

6
8

参加人数

内容

conf7 実況中継

2005 年 6 月

12alternatives、 d-i

2005 年 7 月

12toolchain、 dpatch

2007 年 7 月

18

Debconf7 参加報告

2005 年 8 月

7

Debconf 参 加 報 告 、

2007 年 8 月

25

cdn.debian.or.jp

ITP からアップロードま2007 年 9 月

14

exim

で

2007 年 10 月

30

OSC
Tokyo/Fall(CUPS)

2005 年 9 月

14debconf2005 年 10 月

9apt-listbugs、 バ グ レ

2005 年 11 月

82007 年 11 月

19live-helper,

tomoyoポート、 debconf 翻訳、

linux

patch,

debbugs

serverkernelDWN 翻訳フロー、 sta-

2007 年 12 月

11

忘年会

toverride2008 年 1 月

23

一年を企画する2005 年 12 月

8

忘年会2008 年 2/29,3/1

36

OSC

2006 年 1 月

8policy、 Debian 勉強会

2008 年 3 月37

データだけのパッ ケー
ジ、ライセンス

でやりたいこと2006 年 2 月

7policy、 multimedia

2008 年 4 月

17

バイナリパッケージ

2006 年 3 月

30

OSC: debian 勉強会、2008 年 5 月

20

複数のバイナリパッケー
ジsid2006 年 4 月

15policy、 LATEX

2008 年 6 月

10debhelper

2006 年 5 月

6mexico2008 年 7 月

17Linux kernel patch /2006 年 6 月

16

debconf、 cowdancer

2006 年 7 月

40

OSC-Do:module パッケージ
2008 年 8 月

MacBook10

Debian 温泉

Debian2006 年 8 月

17

13 執念

2006 年 9 月

12

翻2006 年 10 月
2006 年 11 月
2006 年 12 月

23
20
14

訳

Debconf IRC 会 議 と2008 年 9 月、

17

po4a,「 Debian メンテ
ナのお仕事」

Debian-specific、 oprofile

2008 年 10 月

11?

OSC Tokyo/Fallnetwork、 i18n 会議、2008 年 11 月

17

「 その場で勉強会資料をFlash、 apt

作成しちゃ え」 Debian

関西開催： bug、 sid、を使っ た LATEX 原稿作

packaging

成合宿2008 年 12 月

忘年会

9

12

忘年会

表 3 東京エリア Debian 勉強会参加人数 (2009-2010 年)

参加人数

表 4 東京エリア Debian 勉強会参加人数 (2011 年)

内容

2009 年 1 月

12

一年を企画する2009 年 2 月

30

OSC パッ ケージハンズ

参加人数2011 年 1 月

オン2009 年 3 月

23

Common Lisp,

15

会

2011 年 2 月

Java Policy, ocaml, 開

13

13Game Team

MC-MPI パ ッ ケ ー ジ

2011 年 3 月

化、 Erlang、 Android?

14

ATE Tokyo

DDTP・ DDTSS、 bs-

2011 年 4 月

dstats パッケージ、 De4

スペインにて Debconf 92009 年 8 月

14

スペイン Debconf 9 参

122011 年 5 月

1526

ル,Debian on ニ フ クラ,Debian/m68k, 月 刊

GPG キーサインパーテ

PPC64

ィー

2009 年 10 月

30

OSC Tokyo Fall2009 年 11 月

12Octave,2011 年 6 月

17系,2011 再計画

auto-builder
10

忘年会

2010 年 1 月

17東京大学にて新年会

2010 年 2 月

11

Debianweka,ﬀtw,dpkg v3 quilt

2010 年 4 月

15

upstart,piuparts,debtags

2010 年 5 月

22

筑波大学,kernel

2010 年 6 月

12

OSC-Do リハーサル

2010 年 7 月

0

キャンセル

2010 年 8 月

3

Debconf (NYC)

2010 年 9 月

30

OSC Tokyo/Fall2010 年 10 月

13

俺の Debian な一日2010 年 11 月

15

ext4,btrfs,nilfs,ceph

2010 年 12 月

14cacert, libsane

3

2011 年 8 月

122011 年 9 月

泉,ocaml,haskell

122011 年 7 月

DebConf11
荻窪, パッ ケージング関連, Debconf11 報告

温2010 年 3 月

東京オリンピッ クセン
ター, ドキュ メント処理

R, gnuplot,

2009 年 12 月

戸 山 生 涯 学 習
館,Apache2 モ ジ ュ ー加報告2009 年 9 月

IIJ,backports,initramfs,
月刊 PPC64

bian kFreeBSD
2009 年 7 月

OSCTokyo/Spring,CACert

アプリ、 DDTP

2009 年 6 月

北 新 宿 生 涯 学 習
館,HDFS,Debian

発ワークフロー

2009 年 5 月

荻窪,Kinect, アンケートシステム,CACert サイン

パッ

ケージ作成

2009 年 4 月

12

内容

9

山 喜 旅 館,Debian 温 泉

20112011 年 10 月

22

筑

波

大

学,Haskell,LaTeX,
レポート自動生成, 月刊

Debhelper 開始
2011 年 11 月?

OSC Tokyo/Fall2011 年 12 月

9スクウェ ア・ エニッ クス,quilt で porting, 月刊

Debhelper, 振り返り10

第 83 回 東京エリア Debian 勉強会 2011 年 12 月

6 quilt で porting してみた
杉本典充

6.1 はじめに本稿は debian のパッケージ作成で使用しているパッチ管理ツール quilt の紹介、および quilt を用いて kfreebsd のporting パッチを作成しましたので発表します。

6.2 Debian パッケージのフォーマット
現在 Debian で使用している主なソースパッケージフォーマットは２つです。*1 *2• 3.0(native)： tarball １つで構成されたソースパッケージフォーマット
– packagename-version.tar.ext– packagename-version.dsc• 3.0(quilt)： あるアップストリームの tarball と Debian パッケージ作成に必要な tarball に分割しているソース
パッケージフォーマット

– packagename-upstreamversion.orig.tar.ext– packagename-upstreamversion.orig-component.tar.ext（ 任意）– packagename-debianversion.debian.tar.ext– packagename-debianversion.dsc
ソースパッケージフォーマットの詳細は ‘dpkg-source(1)’ コマンドで確認することができます。*3
アップストリームのソースコードを無修正のまま Debian パッケージを作成した場合、 lintian 処理でエラーになった
り、 Debian の開発ポリシーを満たせない場合があります（ アップストリームのソースコードは IPv6 で動作しない、など）。そのときは、 3.0(quilt) のソースパッケージフォーマットでパッケージを作成し、必要なパッチを当ててからソフ
トウェアのビルド処理を行うことで対応させます。

6.3 quilt パッケージ
quilt は debian パッケージを作成するときにパッチファイルを管理するツールとして採用しているソフトウェアです。
Debian パッケージとして提供しており、 apt でインストールできます。
# apt-get update# apt-get install quilt*1 東京エリア Debian 勉強会 2010 年 03 月号「 dpkg ソース形式 “3.0(quilt)”」 吉野与志仁*2 http://wiki.debian.org/Projects/DebSrc3.0*3 man の記述には 3.0(custom)、 3.0(git)、 3.0(bzr) というパッケージ形式の定義があるようです。

11quilt コマンドは複数の patch ファイルをスタックに積んだようなイメージで、パッチの適用順番を管理します。*4
quilt コマンドを使うことで、パッケージ作成に必要なパッチが複数ある場合も正しく適用でき、不要なパッチが出てきたときにそのパッチを取り除くことが容易になります。

6.4 quilt の使用例： Debian GNU/kFreeBSD 向けの porting パッチ作成
6.4.1 Debian GNU/kFreeBSD とは
Debian Project で開発している OS は Linux カーネルを用いた「 Debian GNU/Linux」が有名ですが、 Linux カー
ネル以外を用いた Debian があります。その１つとして FreeBSD カーネルを用いた「 Debian GNU/kFreeBSD」*5 があり、ユーザランドは Debian なので APT が使え、デバイスやシステムコールといったカーネル特有の機能は FreeBSD
カーネルに準じる、という特徴があります。 Debuan GNU/kFreeBSD は安定版のリリースには至っていませんが、日々開発が続けられています。
本稿では以降「 Debian GNU/kFreeBSD」を「 kfreebsd」と略記します。

6.4.2 kfreebsd の porting 作法
Debian の porting 関連情報および kfreebsd の porting 情報は以下にあります。
• http://www.debian.org/ports/• http://www.debian.org/ports/kfreebsd-gnu/• http://glibc-bsd.alioth.debian.org/porting/「 http://glibc-bsd.alioth.debian.org/porting/PORTING」を読むと kfreebsd 向けに porting するには以下の確認および修正が行うようにとあります。

• Add our system name to checks here and there– Makefile やスクリプト中の uname などをチェックしてください。
• debian/control files– debian/control ファイルで Architecture を linux 専用ソフトウェアの場合は「 linux-any」等、 CPU の違い
のみで Linux、 kfreebsd は関係なく使用できるソフトウェアの場合は「 any-i386」等に変更してください。

• Libraries, your beloved enemy– libtool、 aclocal.m4 周りに対応してください。
• Preprocessor Variables– kfreebsd のシステムマクロは「FreeBSD kernel 」、バージョンマクロは「FreeBSD kernel version」

なので対応してください。

• Writing to devfs (kFreeBSD)– FreeBSD カーネルでは（ udev ではなく） devfs を使うようにしてください。
• RT signals– FreeBSD カーネルは「 POSIX RT (realtime) signals」がないので変更してください。
• Get libc soname (6 or 6.1 on linux-gnu, 0.1 on kfreebsd-gnu, etc)
– 使用する libc の名前をハードコードしているプログラムがあれば修正してください。

6.4.3 kfreebsd に対応させたいパッケージとその原因
今回 porting するパッケージは既に kfreebsd 用パッケージとして存在している icewm となります。 icewm はウィン
ドウマネージャのソフトウェアで軽快な動作をするのが特徴です。

*4 東京エリア Debian 勉強会 2007 年 01 月号「 パッチ管理ツール quilt の使い方」小林儀匡*5 http://wiki.debian.org/Debian_GNU/kFreeBSD

12

icewm ではタスクバーにバッ テリー残量アイコンを表示する機能がありますが kfreebsd では表示されません。
linux-i386 及び linux-amd64 では表示されるため kfreebsd のポーティングが不完全の可能性があります。
まずはビルド準備とソースコードのダウンロードを行います。
# apt-get update# apt-get build-dep icewm$ apt-get source icewm

ソースコードを「

FreeBSD 」及び「

linux 」 grep すると、電源周りの処理で以下のマクロが検出されます。

$ cd icewm-1.3.7/src$ grep -nr __FreeBSD__ *aapm.cc:30:#ifdef __FreeBSD__
aapm.cc:74:#if defined(__FreeBSD__) && defined(i386)
aapm.cc:99:#if defined(__FreeBSD__) && defined(i386)
aapm.cc:273:#ifndef __FreeBSD__
aapm.cc:333:#ifndef __FreeBSD__
aapm.cc:418:#ifndef __FreeBSD__
aapm.cc:463:#ifdef __FreeBSD__
aapm.cc:885:#ifndef __FreeBSD__
aapm.h:2:#if defined(linux) || (defined (__FreeBSD__)) || (defined(__NetBSD__) && defined(i386))
aapm.h:7:#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD_（ 以下略）$ grep -nr __linux__ *(なにもなし)FreeBSD マクロは FreeBSD OS を示すマクロですが、 kfreebsd では「FreeBSD kernel 」がシステム（ 厳密にはカーネル）を示すマクロです。そのためマクロでシステムを切り分けているはずが kfreebsd 向けのパッケージビルド時に Linux カーネル向けの処理が有効なコードとしてビルドされてしまいバッテリー残量アイコンの表示がうまく動作していないようです。
そのため、今回はこのマクロを「 PORTING」の記述に従って以下のような修正を行います。
（ 修正前）#ifdef __FreeBSD__（ 修正後）#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)

これで修正方針が定まりましたので、 debian パッケージ作成に向けてパッチを作成していきます。

6.5 quilt の登場
今回は新規のパッチファイルとなるため、 quilt のパッチスタックに新規追加します。
$ cat debian/patches/series#cvs_fixes
package_build_fixes#misc_fixes
debian_defaults#compiler_defaults#iconify_on_wm_hint#move-to-screen
i18n_updates
tray_hotfixes
imap_unseen
ifstate_exact_checkdebian-changes-1.3.7~pre2-1.1$ quilt new kfreebsd_porting_aapm
Patch kfreebsd_porting_aapm is now on top$ cat debian/patches/series#cvs_fixes
package_build_fixes#misc_fixes
debian_defaults#compiler_defaults#iconify_on_wm_hint#move-to-screen
i18n_updates
tray_hotfixes
imap_unseen
ifstate_exact_checkdebian-changes-1.3.7~pre2-1.1
kfreebsd_porting_aapm

これでパッチを新規に追加できました。

13

次に porting するために修正を行うソースファイルを quilt で管理するように登録処理をします。その後「 quilt edit
ソースファイル」を実行すると、環境変数 EDITOR で登録したエディタが自動で起動しますのでソースファイルの修正作業を行います。
$ quilt add src/aapm.h
File src/aapm.h added to patch kfreebsd_porting_aapm$ quilt edit src/aapm.h
File src/aapm.h is already in patch kfreebsd_porting_aapm$ quilt refresh
Refreshed patch kfreebsd_porting_aapm$ quilt add src/aapm.cc
File src/aapm.cc added to patch kfreebsd_porting_aapm$ quilt edit src/aapm.cc
File src/aapm.cc is already in patch kfreebsd_porting_aapm$ quilt refresh
Refreshed patch kfreebsd_porting_aapm

できたパッチファイル「 kfreebsd porting aapm」を確認します。
$ cat debian/patches/kfreebsd_porting_aapm
Index: icewm-1.3.7/src/aapm.h===================================================================--- icewm-1.3.7.orig/src/aapm.h 2010-10-31 23:09:36.000000000 +0900+++ icewm-1.3.7/src/aapm.h
2011-12-10 23:17:15.000000000 +0900@@ -1,10 +1,10 @@-#if defined(linux) || (defined (__FreeBSD__)) || (defined(__NetBSD__) && defined(i386))+#if defined(linux) || (defined (__FreeBSD__)) || (defined (__FreeBSD_kernel__)) || ((defined(__NetBSD__) && defined(i386))#include "ywindow.h"#include "ytimer.h"-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__)#define APMDEV "/dev/apm"#else#define APMDEV "/proc/apm"（ 以下略）

あとはパッケージをビルドします。
$ dch$ debuild -uc -us

作成したパッケージをインストールして確認します。
$ sudo dpkg -i icewm-common_1.3.7-1.1_kfreebsd-amd64.deb icewm_1.3.7-1.1_kfreebsd-amd64.deb$ reboot

作成したパッチはバグレポートと共に BTS へ送信しておきましょう。
$ reportbug$ w3m http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=650395

6.6 終わりに
これで kfreebsd の icewm ウィンドウマネージャ上でバッテリー残量アイコンを表示することができました。
みなさんも kfreebsd 含め様々なアーキテクチャで数多くのパッケージが Debian で動作するようにがんばりましょう。

6.7 参考情報• 東京エリア Debian 勉強会 2007 年 01 月号「 パッチ管理ツール quilt の使い方」小林儀匡• 東京エリア Debian 勉強会 2010 年 03 月号「 dpkg ソース形式”3.0(quilt)”」 吉野与志仁• man dpkg-source(1), man quilt(1)• http://wiki.debian.org/Projects/DebSrc3.0• http://www.debian.org/doc/manuals/maint-guide/first.ja.html
14• http://wiki.debian.org/Debian_GNU/kFreeBSD• http://glibc-bsd.alioth.debian.org/porting/15

第 83 回 東京エリア Debian 勉強会 2011 年 12 月

7 月刊 Debhelper 第 2 回
野島 貴英

7.1 はじめにDebian パッケージを作成する際、沢山の処理を debian/rule というファイルに GNU の make の makefile の形式で記述することになります。しかしながら、細かい処理を記載していくと膨大な量となってしまいます。これをできるだけ簡潔に記載できるように考えられたツールとして debhelper というコマンド群が存在します。
本企画はこの debhelper のコマンドについて、毎月持ち回りで解説していくというものです。ルールは、毎月 2 つ
以上のコマンドを解説し、次回発表の立候補が無い場合は発表者が次の発表者を決めれるというルールの元に進めて行きます。

7.2 今月のコマンドその 1:dh
7.2.1 dh の動作概要
dh は引数に指定したシーケンス名に基づいて一連の debhelper を起動するコマンドとなります。実際の使い方では、以下の内容を debian/rules に記述して利用します。
$ cat debian/rules#!/usr/bin/make -f
%:
dh $@

7.2.2 dh に指定できるシーケンス名
dh に指定できるシーケンス名は表 6 の通りです。
なお、–with foo を指定すると、 dh に指定可能なシーケンスが増える場合があります (例： –with quilt の patch シー
ケンス等。）

7.2.3 dh のコマンドラインオプション
表 6 に dh のコマンドラインオプションを載せます。 (man dh より)
この他にも、 debhelper コマンド共通で使えるコマンドラインオプションが man debhelper に記載されており、 dh コ
マンドでも利用できます。こちらも参照ください。

7.2.4 廃止されたコマンドラインオプション–until,–before,–after,–remaining がありましたが、これらは全部 dh が解釈する “override DH コマンド名ターゲット” による動作に置き換えられた為、廃止となりました。
なので、昔の debian/rule にあるような、以下の用な書き方は廃止です。

16

シーケンス名

シーケンスの説明

binarybinary-archbinary-indep
build
build-archbuild-indep
clean

構築からパッケージ作成まで実行するシーケンスです。

arch 依存のパッケージの構築からパッケージ作成まで実行するシーケンスです。
arch 非依存のパッケージの構築からパッケージ作成まで実行するシーケンスです。
構築からテストまで実行するシーケンスです。

arch 依存のパッケージの構築からパッケージ作成まで実行するシーケンスです。
arch 非依存のパッケージの構築からパッケージ作成まで実行するシーケンスです。
一度パッケージを構築したディレクトリから、パッケージ構築時に生成したものを取り除き、構築ディレクトリを綺麗にします。

installinstall-arch

構築から、パッケージ生成直前までの処理を行うシーケンスです。

arch 依存のパッケージについて、構築から、パッケージ生成直前までの処理を行うシーケ
ンスです。

install-indep

arch 非依存のパッケージについて、構築から、パッケージ生成直前までの処理を行うシーケンスです。
表 5 dh で指定できるシーケンス名一覧

オプション

説明

–with addon[,addon ...]

debhelper コマンドに適切な場所で一連のコマンドを実行するような付加機能 (addon) を指定します。
–with とは逆の働きをします。指定された付加機能を使わないようにします。
利用可能な付加機能 (addon) 一覧です。

–without addon–list, -l–no-act指定された一連の処理の内容を表示するだけコマンドとなります。表示だけして実際にはコマンドを実行しません。

その他

dh に、先に記載した以外の何かオプションを渡すとそれはのちに実行する全コマンドへ引き渡されます。-v、-X、-N や、他の特別なオプションを指定するのに使われます。
表 6 コマンドラインオプション一覧

廃止された書き方#!/usr/bin/make -f

%:
dh $@
build: build-stampbuild-stamp:
dh build --before configure
dh_auto_configure -- --with-gnu-ld --disable-nls
dh build --after configure
touch build-stamp

代わりの書き方は次の章で述べます。

7.2.5 “override debhelper コマンド名” ターゲットについて
dh コマンドは”dh シーケンス名” により、そのシーケンスに必要な一連の debhelper コマンドを呼び出す機能があります。 (どんな debhelper コマンドが呼び出されるかは、–no-act をオプションにつけて、 dh –no-act build とか、 dh–no-act install とかして見てください）
この呼び出されるコマンドを一部変更したい場合は以下のように書きます。
今時の書き方：#!/usr/bin/make -f

%:
dh $@
override_dh_autoconfigre:
dh_auto_configure -- --with-gnu-ld --disable-nls

こうすると、本来であれば、 dh auto configure がオプション無しで呼び出される場所が全部 “dh auto configure –17

–with-gnu-ld –disable-nls” で呼び出されるようになります。
他の例として、 configure スクリプトが無く、代わりに Imakefile があるような古い X 用のプログラムをパッケージにする用な場合は以下のように書きます。
Imakefile を利用するような場合：#!/usr/bin/make -f%:
dh $@ --with quilt
override_dh_auto_configure:xmkmf -a

こうすると、本来であれば、 dh auto configure が呼び出される場所全部で、 “xmkmf -a” を呼び出すようになります。
この”override debhelper コマンド名” ターゲッ トは、コマンドを実行したくない場合にも利用可能です。 (“over-ride debhelper コマンド名” のアクションを空にする事がミソです。)
dh_auto_test,dh_compress,dh_fixperms を実行したく無い場合：#!/usr/bin/make -f%:
dh $@override_dh_auto_test override_dh_compress override_dh_fixperms:

また、 build-arch,binary-arch,build-indep,binary-indep ターゲットが dh に指定されるときにあわせて振る舞いを変更したい場合は”override debhelper コマンド名-indep” や、”override debhelper コマンド名-arch” を使って、それぞれの場合に dh によって呼び出されるコマンドを変更できます。以下の例では、ドキュメントパッケージの作成に時間がかかるので、 build-indep や、 binary-indep の時にだけドキュメントを作成してくれるようにする場合の debian/rule となります。
ドキュメント作成を分離して、時間のかかるドキュメント作成が何度も実行されないようにする:#!/usr/bin/make -f
%:
dh $@

override_dh_auto_build-indep:$(MAKE) -C docs
# No tests needed for docs
override_dh_auto_test-indep:
override_dh_auto_install-indep:$(MAKE) -C docs install

7.2.6 addon について
dh コマンドのオプション–with addon にて addon が提供するパッケージの作成方法を組み込む事ができます。お使いのシステムで現在どんな addon が使えるかは dh –list を実行すると一覧が出てきます。
$dh --list
bash-completiondkms
python-central
python-support
python2quilt
tex$（ ... お使いのシステムによって表示される量が変わります...)実はこれらは/usr/share/perl5/Debian/Debhelper/Sequence/”addon 名”.pm としてインストールされています。
こちらを利用して、現在の Debian で、どんな addon が提供されているかを知りたければ、次のようにして調べる事がで
きます。

18

$ apt-file search Debhelper/Sqeuence
autotools-dev: /usr/share/perl5/Debian/Debhelper/Sequence/autotools_dev.pm
bash-completion: /usr/share/perl5/Debian/Debhelper/Sequence/bash_completion.pm
cli-common-dev: /usr/share/perl5/Debian/Debhelper/Sequence/cli.pm... 中略...
sphinx-common: /usr/share/perl5/Debian/Debhelper/Sequence/sphinxdoc.pm
tex-common: /usr/share/perl5/Debian/Debhelper/Sequence/tex.pm
xserver-xorg-dev: /usr/share/perl5/Debian/Debhelper/Sequence/xsf.pm
xulrunner-dev: /usr/share/perl5/Debian/Debhelper/Sequence/xulrunner.pm$ apt-file search Debhelper/Sqeuence | wc -l
43$

全部で 43 個もありますね。 (debian sid で実行）
複数 addon を指定したい場合は繰り返し–with オプションで指定したり、カンマで区切って指定します。
quilt 用の addon と、 autotools_dev 用の addon を併用したい時：#!/usr/bin/make -f%:
dh $@ --with quilt --with autotools_dev#
dh $@ --with quilt,autotools_dev も OK

7.2.7 addon の構造について
addon が何をしているかは/usr/share/perl5/Debian/Debhelper/Sequence/”addon 名”.pm を覗くとピンときます。
例えば、–with quilt の場合、

1. dh clean にて、 dh clean を呼び出す前に、 quilt パッケージが一緒に提供している dh quilt unpatch コマンドを呼び出すようになります。

2. dh build では、 dh auto configure の前に dh quilt patch を呼び出すようになります。
3. dh にシーケンス名 patch が追加され、 dh patch が使えるようになります。
addon を自分で書く場合は、 dh 内で定義されている表 7 の API を呼び出して書いてください。
API 名
insert before($existing,$new)

API の説明$existing で指定される debhelper コマンドを実行する直前に$new を実行します。
$existing で指定される debhelper コマンドを実行した直後に$new を実行します。
$command を dh が実行しないようにします。
$sequence で示されるシーケンスで実行されるコマンド群の最後に$command を付け加えます。また、本 API を使って 7.2.2 章で示されないシーケンスを新たに作成するこ

insert after($existing,$new)
remove command($command)
add command($command,$sequence)とができます。

add command options($command,@options)$command に、配列@options で示される一連のオプションを付け加えて実行するようにします。

remove command options
mand,@options)($com-$command から配列@options で示される一連のオプシ
ョ ンを取り除く。@options をまっ たく指定せずに re-move command options($command) と呼び出すと、$command についてのオプション全部を取り除きます。
表 7 addon 用の API 一覧

量もそんなになく、非常にわかりやすいので、興味のある人は/usr/share/perl5/Debian/Debhelper/Se-

quence/quilt.pm を試しに読んでみるとよいと思います。
なお、複数の addon を指定した場合、同じ内容の debhelper コマンドが意図せず複数回も同じシーケンスに挿入される事がありますが、きちんと１個の呼び出しにまとめてくれます。

19

7.2.8 dh の内部動作
dh コマンドは debian/rule が make ファイルである事を利用しながら、 make コマンドと協調して動作します。
図 2 に dpkg-buildpackage を呼び出したときの dh の内部動作を示します。
図 2 から判るように、 dpkg-buildpackage から make コマンドが起動され、次に dh が起動され、さらに dh からmake が起動されるという関係になっている事が判ります。また、 override debhelper コマンド名ターゲットの処理を行うのに、 make コマンドを使って処理をしているという事も判ります。

dh を使うと、 make コマンドは override debhelper コマンド名ターゲットの処理をする役目だけを担当します。そのうち、 dh コマンドが進化すると、 make コマンドの力を借りなくてもパッケージ作成ができるようになるかもしれませんね。

7.2.9 “debian/パッケージ名.debhelper.log” ファイルについて
最近の dh コマンドを使う debian/rules には、ファイルの依存関係についての記載がありません。この為、パッケージ
ビルド中で処理が中断した場合、どこから再開すれば良いかを debian/rules で make が判定する事はできません。
実は、 dh コマンドは clean 以外のシーケンスが指定されると、”debian/パッケージ名.debhelper.log” というファイルに処理を行った debhelper コマンドを記録しています。ここで、万一 dh の処理が中断した場合、処理をどこから始めれば良いかについてはこのログファイルを参照して処理の再開を行います。

“debian/パッケージ名.debhelper.log” の中身は以下のようになっています。
debian/パッケージ名.debhelper.log の中身:
dh_auto_test
dh_prep
dh_installdirs... 中略...
dh_buiddeb

また、このファイルは dh clean によって消去されます。なお、 dh clean の時には、このログファイルは作成されません。つまり、 dh clean の処理を中断した場合は、 dh clean は呼び出される一連の debhelper コマンドは最初から実行されてしまいます。
なお、処理再開の場所は、このログファイルのみ参照して決める為、処理を中断した後に、パッケージのソースファイルを変更して再開させるような使い方はできません。例えば、ソースファイル中のあるファイルを変更した為、特定のパッ
ケージのシーケンスについては再会時に全部やり直しが必要だったとしても、これを自動で検知することはできません。

7.2.10 dpkg-buildflag との関係
dh は互換性度合い (COMPATABLITY LEVEL) の v9 から、パッケージ構築の時に使う環境変数を設定するため、内部で dpkg-buildflag 相当の処理を呼び出します。
その為、 9 を debian/compat に指定すると、 debhelper コマンドに設定される環境変数は、

1. /etc/dpkg/buildflags.conf の中身
2. XDG CONFIG HOME/dpkg/buildflags.conf (XDG CONFIG HOME は環境変数です) の中身
3. HOME/.config/dpkg/buildflags.conf (HOME は環境変数です) の中身
4. DEB flag MAINT SET, DEB flag MAINT STRIP, DEB flag MAINT APPEND, DEB flag MAINT PREPEND,
DEB BUILD MAINT OPTINS（ 全部環境変数です）の値
により様々に変化します。どのように変わるかは man dpkg-buildflag を参照してください。

20

7.3 今月のコマンドその 2:dh testroot
7.3.1 dh testroot 動作詳細
現在の実行ユーザが root であるかどうかを確認するコマンドです。 root ユーザでは無い場合、エラーメッセージを出力して処理を中断します。

7.3.2 dh testroot コマンドラインオプション
コマンドラインオプションは特にありません。何か指定しても無視されます。

7.3.3 dh testroot を実行してみる
早速、実行してみましょう。
$ sudo dh_testroot$ echo $?
0$ dh_testroot
You must run this as root (or use fakeroot).
$ echo $?
255$ fakeroot dh_testroot$ echo $?
0

このように root 権限で実行するか、 fakeroot 経由で実行した時のみ 0 を返却します。

7.3.4 次回の発表について
次の発表者は勉強会で発表します。選ばれた人はよろしくおねがいします。

21

図 2 dh 内部動作22

第 83 回 東京エリア Debian 勉強会 2011 年 12 月

8 東京エリア Debian 勉強会の開催方法
野島 貴英

8.1 はじめに東京エリア Debian 勉強会では、毎年 12 月号資料では勉強会の開催方法についてまとめています。今回は野島が一通りの流れをまとめます。これを読めば、あなたも東京エリア Debian 勉強会を開けるはず！

8.2 東京エリア Debian 勉強会を開く時のスケジュール
時期

作業内容

開催 2 ヶ月前

場所を確保します。会議室は２ヶ月前に予約しないと埋まりやすいです。

開催 2 ヶ月前から 1 ヶ月前

勉強会のテーマと、事前課題を決めます。

開催 1 ヶ月前

勉強会のテーマに沿った原稿を募集します。時間枠にあわせた発表が埋まらない
場合、発表者を枠が埋まるまで、探す事になります。また、開催にあたり、作業の分担が必要な時は、この時ぐらいに割り当てを完了します。また、宴会の場所について、確保が困難な事が予想される場合は、あらかじめ席のみ予約しておきます。

開催 2 週間前までに

Debian 勉強会予約システム http://debianmeeting.appspot.com に予約
登録ページを作成します。 Debian JP Blog http://www.debian.or.jp/
及び、 Debian 勉強会 Web サイト http://tokyodebian.alioth.debian.
org/ に勉強会の内容を提示します。メールで debian-users メーリングリストにアナウンスを投げます。 debian JP twitter や mixi Debian コミュニティー
などにもアナウンスすることが多いです。

開催１週間前

発表者は勉強会資料用リポジトリに資料をコミットします。

開催２日前

参加者の募集の締切りを行います。この時までに揃った事前課題を勉強会資料にマージします。

開催 1 日前
開催当日

kinkos 等の印刷製本サービスに原稿印刷および製本を依頼します。
1. 参加者から費用の回収と集計をします。
2. 勉強会を定刻どおりに開催します。
3. 司会者、発表者と協力して時間内に勉強会を終了します。
4. 宴会の場所の確保が困難でない時は、宴会の場所を抑えます。
5. 宴会の開催、宴会の会計をします。

開催後

Debian 勉強会予約システムからアンケートをおくります。

12 月

勉強会のアンケート結果などを一年分集計して発表します。
表 8 全体スケジュール

23

8.3 東京エリア Debian 勉強会の開催調整
東京エリア Debian 勉強会の開催調整は専用の ML があり、普段はこちらで調整が行われます。運営者専用の ML で、一部のコアメンバーのみが参加しています。運営に積極的に参加したい人は勉強会運営者に連絡を取る必要があります。

8.4 初めて東京エリア Debian 勉強会の開催を担当する場合の事前準備
初めて東京エリア Debian 勉強会の開催を担当する場合以下の項目が準備してあるとスムーズです。

1. Debian JP Project の提供するサーバーへログインできるアカウント
Debian JP Blog を更新する際に必要になります。これは通常 Debian JP Project の会員になるときに付与されます。会員でない人は会員にコミットしてもらうよう依頼する必要があります。

2. http://alioth.debian.org/ アカウント資料の編集等を行う際に必要になります。アカウントを取得したら、ML で tokyodebian グループ権限に所属させてほしい旨、取得したアカウント名を沿えて依頼します。このアカウ
ントは誰でも取得可能です。
また、勉強会の幹事担当の場合に必要な知識とコンピュータの環境は以下になります。

1. Debian が動作し、インターネットが利用できる PC の用意
2. ssh,emacs,muse-el,git、 subversion の基本操作についての知識
3. ブラウザと HTML の記載の知識
4. http://alioth.debian.org/,http://qwik.jp/ の使い方の知識
5. LATEX の知識わからないことや困ったことがあればメールや ML で聞いてみましょう。

8.5 東京エリア Debian 勉強会の掲示の出し方
http://www.debian.or.jp/ に 掲 示 を 出 す 場 合 の 編 集 の 仕 方 は 、 http://www.debian.or.jp/project/webmasters.html にその記載があります。実際には、 svn でリポジトリをとってきて、 www.debian.or.jp/blosxom/
data/events/tokyodebian-XX.d (XX は第 XX 回を示します）を作成します。
http://debianmeeting.appspot.com/eventadmin/edit?eventid= のフォームの編集はフォームに沿って情報を入れるだけです。ただ、細かい事は、 http://tokyodebian.alioth.debian.org/YYYY-MM.html へのリンクを

URL の欄に指定し、細かい事はそちらを参照してもらいます。
http://tokyodebian.alioth.debian.org/ へは、 http://qwik.jp/ML 名 のトップページに記載されているやり方に従います。実際には git で git+ssh://git.debian.org/git/tokyodebian/muse.git; リポジトリを clone して、 muse 形式で編集し、 make publish する事となります。

24

第 83 回 東京エリア Debian 勉強会 2011 年 12 月

9 索引2011 年, 7

kfreebsd, 11
月刊 Debhelper, 16

debhelper, 16
Debian JP, 7

東京エリア Debian 勉強会, 7
東京エリア Debian 勉強会の開催方法, 23

quilt で porting してみた, 11

porting, 11

25

26

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