13:27:54 # Life debconf5のkeysigningを処理しようと気合いをいれる. とりあえずkeysigning partyに利用した,参加者のkeyringをインポートしてみました. でかい...gpg --importに数分はかかってしまった. あと大量に来たメールのgpgキーをインポートして,これだけでなんだか疲れましたよ... つづきはまた後で.
gpg: 処理数の合計: 187 gpg: 読込み: 140 (RSA: 11) gpg: 変更なし: 7 gpg: 新しいユーザーID: 23 gpg: 新しい副鍵: 6 gpg: 新しい署名: 10578
19:23:55 # Life 研修所として使える場所というものを調べてみる. 日本国には「青年の家」というものがあるらしく,そこでは毎朝国旗を掲揚して 夜国旗を下げているらしい.
06:11:03 # Life 今朝あたりにgitのメンテナがLinus から Junio C Hamanoに変わったらしい. cogitoはgitから分離される雰囲気,なんか風向きがよろしくない. cogitoがなくても利用できるようにgitを実装する,というのは 方向性としてちょっと困る. 特に,gitレポジトリを利用している人の間でのメールで 手順のやりとりができにくくなってしまう.
08:11:38 # Life wlを新しいバージョンにしてみた. 2.14にアップデートしたら, SPAMメールを分類するのに利用している elisp が動作しなくなってしまった. wl-summary-refile のオプションの順番が変わったらしい. とりあえず変更して逃げる.
;; hook keybind to wonderlust. (defun wl-dancer-move-spam () "refile spam to SPAM folder" (interactive) ;; for wl 2.14, order changed (wl-summary-refile (wl-summary-message-number) "+from/junkmail/miss-SPAM") (wl-summary-next))
08:23:32 # Life ptraceの使い方を確認するためにstraceのソースを見る. syscall.cを読んでみると,各アーキテクチャに対応するための部分が ifdefでかこまれていて可読性が非常に悪い. ちょっとむなやけ. 各アーキテクチャに対応するにはこういうことになってしまう,ということを確認. あと,forkされた場合には,ptraceは追跡できないので, forkの戻り値などを調べて子プロセスに再度attachする必要があるらしい.
実行された命令の数を数えるという用途の例などは簡単に実装できるが, syscallをトラップする,という使い方はかなり辛い.
armにstraceのサポートを追加する際のパッチ. こういうパッチは,どういう追加が必要なのかということがわかって面白い. コードを書き換えてブレークポイントを設定している.fork を追いかけるためだろうか.
Dan Jacobwitzのメールを見ていると, ptraceでfork/exitなどをトラップするようにする,みたいなことは既に試みられているようだ. 2003年: Ptrace updates: event tracing for vfork finish and process exit [4/5] PTRACE_EVENT_FORKをハンドリングしたらなんとかなるのだろうか?
04:16:03 # Life lindaのi18nについて,というよりpythonのgettextの現在の実装について調査. python2.3でgettextをまともに使うのは大変だ,というので, python2.4の場合を確認する. lgettextは, _output_charset という変数で出力エンコーディングを設定しており, 特に指定しなかったら, locale.getpreferredencodingの出力を 利用してエンコードするらしい. しかし,lgettextは毎回呼ばれるたびにsetlocaleを実行して, nl_langinfoを呼んでいるらしい. ちょっと重いかな.
下記のようなプログラムを仕込んで確認してみた. dialogがeuc-jpで,diaがutf-8みたいなので,両方で確認してみる.
import gettext _ = gettext.translation('dialog').lgettext print _("OK") _ = gettext.translation('dia').lgettext print _("x")
08:13:56 # Life 2週間分のメール16000通を取り込む. そのうちspamassassinがSPAM判定をしたのが10000通程度. 予想として,すりぬけてきて手動でSPAM判定が必要なものに関しては 2000通程度. では,必要だったメールは4000通くらいなのか? spamassassinが気づいたらRBLをチェックしている.だから遅いのかもしれない. 14日分のメールをバッチでとりこむのに12時間程度かかっている.
05:37:53 # Life openシステムコールを解析するのに利用するのは, ptraceを使おうか,LD_PRELOADを使おうか,検討をしてみる. Linux kernelの中で,ptraceについて参考になるソースは,おそらく arch/um/kernel/ptrace.c, arch/um/kernel/process.c あたり. ptrace(2) マニュアルページも参考になる. 子プロセスをforkで作成して,ptrace可能である,と宣言してから,execする. 子プロセスがシグナルをうけると停止し, 親プロセスはwait()の際に通知される.
雰囲気から察すると,ptraceでシステムコールの分析をする際には, システムコールを実行するまえの瞬間にトラップをしかけることができ, その際にレジスタの各値を取得できるというインタフェースになっているらしい. つまり,システムコールの値と,レジスタの意味という情報が必要になる. この情報は各OS,CPUアーキテクチャ毎に違い, ptraceというインタフェースが一般的に存在しているといっても 汎用的ではない.
システムコール経由で解析しようとするより, LD_PRELOADでlibcのopen関数をオーバライドするほうがより現実的のように思える. ppcだったら pt_regs.gpr の何番目に何が入っているのか, というのを全て洗い出してデバッグするのは手間がかかる. x86だったら,eaxにシステムコール番号があり, ebxに一つ目のパラメータがあり,というような話し.
LD_PRELOAD | ptrace | |
openが呼ばれた状態の追跡 | 可能 | 可能 |
openシステムコールをアプリケーションコードが直接呼んだ場合 | 不可 | 可能 |
suidアプリケーションの追跡(例:gpg) | 不可 | 不可? |
static linkアプリケーションの追跡 | 不可 | 可能 |
アプリケーション側からのトレースからの回避方法 | LD_PRELOAD環境変数のリセットなど(lddなど) | ? |
forkされた場合の処理 | 継続 | attachしなおす必要あり(空白の時間が発生?) |
chrootした場合の対応 | chroot内部ではLD_PRELOADのパスの指定の仕方が変わるはず | 可能 |
fakerootとの互換 | 難しい | 問題ない? |
実際にシステムコールを発行させない方法 | システムコールを呼ばなければよい | 無理,影響を回避するためにgetpid()に変換してしまう. |
過去の事例 | fakeroot, fakechroot, auto-apt | gdb, user-mode-linux |
17:16:46 # Life 帰りのエールフランスでのできごと. 画面でWindows CE Boot Loader, v2.7の起動画面がくりかえし表示される. 映画はどこにいった?
03:45:25 # Life C言語で実装したpbuilderのコードをいじってとりあえずなんとか動くようにしてみる. 道のりは遠くて,まだChrootを展開するところまでしか動いていない. 2年前くらいに途中までかいていたのだが,実装しきるまでの間に飽きてやめてしまったようだ.
01:48:06 # Life USB1.0デバイスのデジタルカメラからどれくらいの勢いでデータをすいだしているのかを確認してみた. 高速化ができるのか,という点について着目してみる. 実験内容としては,いつも写真をとりこむバッチを実行している横で iostat -x 10 を実施. hdaというのがibookの内蔵HDD, sdaというのがデジタルカメラ(Casio Exilim). おわりかけのところを切り出してみる. 終ったら処理用のgimpでしこんだバッチがはしるので,CPU使用率が上昇している. それまでは,iowait が90以上をキープしている. %sysが3%と多いのがすこし気になる. あと,一回のreadの反応を待つのに0.151秒,処理がかえってくるまでに0.082秒かかっているらしい. 一回のread が100セクター(50kB程度)というのは, cpのバッファサイズが64kB程度だからだろうか. 高速化の観点からいうと,バッファサイズを大きくとったコピープログラムを利用すれば若干は高速になりそうな気もする. しかし,一秒に12回しかreadできていないので,そういう次元の問題ではないのかもしれない.
CPU平均: %user %nice %sys %iowait %idle 3.70 0.00 2.90 93.40 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 0.00 150.50 0.00 2.40 0.00 1223.20 0.00 611.60 509.67 0.31 130.12 23.50 5.64 sda 1182.80 0.30 12.00 0.10 1194.90 0.40 597.45 0.20 98.79 1.84 151.80 82.14 99.39 CPU平均: %user %nice %sys %iowait %idle 3.70 0.00 3.00 93.30 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 0.00 149.40 0.00 2.00 0.00 1211.20 0.00 605.60 605.60 0.32 158.75 30.70 6.14 sda 1184.50 0.00 12.10 0.00 1196.60 0.00 598.30 0.00 98.89 1.88 154.05 82.25 99.52 CPU平均: %user %nice %sys %iowait %idle 3.90 0.00 3.30 92.81 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 0.40 150.15 6.39 2.10 135.06 1217.98 67.53 608.99 159.34 0.43 51.12 17.11 14.53 sda 1003.20 0.00 14.89 0.00 1017.88 0.00 508.94 0.00 68.38 1.60 109.27 60.69 90.34 CPU平均: %user %nice %sys %iowait %idle 45.15 0.00 11.99 42.86 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 4.10 68.93 79.92 16.58 2195.40 684.12 1097.70 342.06 29.84 6.44 66.70 5.33 51.39 sda 0.00 0.50 0.00 0.10 0.00 0.60 0.00 0.30 6.00 0.00 33.00 33.00 0.33 CPU平均: %user %nice %sys %iowait %idle 80.12 0.00 18.38 1.50 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 0.20 33.57 1.20 2.60 167.03 289.31 83.52 144.66 120.21 0.04 11.58 8.68 3.30 sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
あまりよい比較データではないが,tarを利用した場合の結果を見てみる. avgrq-szが同じような値をしめしているので,今回想定している 「ブロックサイズを変えればパフォーマンスがかわるのではないだろうか」という 問題に対しての良い検討方法ではないことが分かる.
CPU平均: %user %nice %sys %iowait %idle 82.58 0.00 17.32 0.10 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 0.00 21.12 1.50 12.61 84.08 269.87 42.04 134.93 25.08 1.83 129.55 3.76 5.31 sda 1102.30 0.00 11.01 0.00 1113.31 0.00 556.66 0.00 101.11 1.67 153.26 85.75 94.41 CPU平均: %user %nice %sys %iowait %idle 81.52 0.00 18.18 0.30 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 0.00 44.76 2.10 10.49 83.92 441.96 41.96 220.98 41.78 0.90 71.14 3.80 4.79 sda 1092.61 0.00 10.59 0.00 1103.20 0.00 551.60 0.00 104.18 1.61 152.25 87.64 92.81 CPU平均: %user %nice %sys %iowait %idle 83.80 0.00 15.60 0.60 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 0.10 147.30 6.00 4.60 168.00 1215.20 84.00 607.60 130.49 1.39 131.26 8.56 9.07 sda 1100.40 0.00 10.80 0.00 1111.20 0.00 555.60 0.00 102.89 1.69 154.36 87.38 94.37 CPU平均: %user %nice %sys %iowait %idle 83.20 0.00 15.80 1.00 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 0.10 20.20 3.90 5.70 88.80 207.20 44.40 103.60 30.83 0.35 36.39 4.74 4.55 sda 1107.00 0.00 11.30 0.00 1118.30 0.00 559.15 0.00 98.96 1.75 156.34 84.36 95.33
05:45:58 # Life lindaの翻訳について出力がutf-8で出されるということについて調査してみました. 翻訳を作成しても,localeの値を無視してutf-8でしか出力されません. なんとなく,python2.3のgettextの実装がutf-8で出力しているような 気がするので小さなテストプログラムを作ってみました. しかし,これでもeuc-jpで出力されてほしいところで, utf-8が出力されてしまう. おかしいので,pythonで国際化しているプログラムであるapt-listchangesを確認してみる. すると,apt-listchangesにいくつかバグがあることがわかったので,それをまず修正.
import locale import gettext locale.setlocale(locale.LC_ALL, ""); _ = gettext.translation('linda').gettext print _("Linda, version %s") print locale.setlocale(locale.LC_ALL); print locale.setlocale(locale.LC_CTYPE);
しかし,pythonのgettextはどうも,gettextのpoファイルが 作成されたcharsetを返すようになっているみたいな気がする. それは間違っているのだが...
と,調べていたら,python 2.4 で lgettextという関数が導入されたらしく, その関数が,一般的なgettext互換で,gettext関数はpoファイルのエンコーディング で文字列を返してくれる関数だ,ということになっているらしいです. ugettextでutf-8文字列を取得して,それを LC_CTYPEに変換すればよいかな?
Keysigningをしていたら,さまざまな人にblogのタイトルと本文が短すぎる, ということについて苦情を言われました. だめかねぇ.
15:06:53 # Life localeのCODESETで文字列をかえしてくれないという問題について python 2.3 でlgettextを実装しようとしばらくいじってみたけれども, もうすぐpython2.4に移行するだろうし,あまりにも後向きなので萎える. とかいいながらも簡単に実装できてしまったのでパッチとして投げてみる.
#!/usr/bin/python import locale, gettext # This is for python 2.3 compatibility. # Replace with "_ = gettext.translation('linda').lgettext" line for python2.4 # gettext_encoding=locale.getpreferredencoding() my_ugettext = gettext.translation('linda').ugettext def lgettext(msgid): return my_ugettext(msgid).encode(gettext_encoding) _ = lgettext print _("Linda, version %s")
16:28:38 # Life Jeff Garzikが git の howtoをアップデートしたらしい. コアなgitの部分の利用方法を解説したなかなかよい文書. HOWTO.
01:00:36 # Life 武藤先生直伝の技を駆使してsmökkiのプリンタが利用できるようになる. cupsは自動認識とかウェブインタフェースとか,すごいんだけど 動かなかった時に必要な黒魔術がおおそうな予感.
16:25:16 # Life git MLを読んでいたら,Thomas Lordがarch 2.0をリリースしたらしい. ここからダウンロードできるらしい. revcという名前らしく,全く違うファイルフォーマットを利用するそうな. バックエンドはほとんどgitと同じようだ.
17:09:41 # Life -dbgパッケージの現況を確認してみる. dh_strip --dbg-package オプションは debhelper v4までは共有ライブラリパッケージ名を指定する. そうすると,-dbgを追加したパッケージ名で共有ライブラリを作成してくれる. v5からは別パッケージにする必要というのはなくなり, デバッグ情報をつっこむパッケージ名を指定できるようになる. まだ安定していない機能ですな.
20:48:15 # Life docbook-xml から tex経由でpdfを作成するプログラムをいじる. dancer-xmlはずいぶんまえに書いたプログラム. 機構がどうなっていたか,あまり覚えていない. しかも,出力があまりきれいではない. libpkg-guideを変換しようとしてみたが, まだチューニング必要.
21:21:51 # Life glibcのlocaleのChangeLogをみてみると,ja_JPを最近変更しているのは Pereで,日本人が最後にコミットしたのは2000年の後藤さんみたいだ,ということに驚愕. glibc:localedata/locales/ja_JP がファイル. glibc:localedata/ChangeLog にChangeLogがある.
glibcのマニュアルを読むと,+%Exなどと指定したら,日本の暦を使ってくれる. しかし,+%Oxなどと指定しても漢数字とかになってくれない.
$ date +%Ex 平成17年07月15日 $ date +%Ox %Ox
22:44:59 # Life libpkg-guideに関して追加したいこと. Stephen Frostによると-devパッケージのパッケージ名はAPIらしい. とりあえず,よくわからないけど,彼の意見をきいてみようか. 意味不明なことが多いが,まともなこともいっているようだ. そろそろサマリを投げないと議論が発散しすぎている.
05:56:26 # Life 日本語版のlindaをつくるのにどれくらいの労力がかかるだろうか,とlindaの翻訳を見てみた. 500の未訳の文字列があり, しかもmsgidからは文章の意味が連想しにくい文字列が多い. ソースをなめる必要がありそうだ. うーん.
20:02:37 # Life ロンドンの爆弾事故のために,2分間の黙祷. チャイムの放送にあわせて全員起立.
00:30:24 # dupload 今日のDebianパッケージメンテナンス. ecasound2.2.ecasound2.2の2.4.1-2を作成. 対応したバグは292313 317191. しかし,スポンサーを探す必要がある.
ecasound2.2 (2.4.1-2) unstable; urgency=low . * README.Debian: Note that arts is disabled * rebuild with readline5-dev - Bug fix: "use libreadline5-dev after sarge", thanks to Laurent Bonnaud (Closes: #292313). * Build-depend on g++ 4.0 or greater. * rebuild with jack 0.100 as build-depends - Bug fix: "libjack0.80.0-0 removed from unstable; rebuild required", (Closes: #317191).
14:54:41 # Life gcc-transitionのページ.
15:36:34 # Life dshのユーザから,タイムアウトを使うにはtimeoutコマンドを利用すればよい,という報告が来た. timeout -15 15 dsh ... という形式になるらしい. 一定時間がたったらコマンドにシグナルを送信してくれるみたいです. 色々な用途に使えそうです. timeoutコマンドは便利かもしれないですね.
20:05:36 # Life linda の発表の際に, 同じ共有ライブラリの別SONAME版を複数リンクしているようなものについては 確認できる,という例で, bookmarkbridge というパッケージが出て来た. はやくも c++ 移行で失敗している人が居るね,という話だった. メンテナはイチカワ マサミさんという人らしい.
17:45:03 # Life dpatch-edit-patchのデバッグ. テストをたくさん書いてみて,それぞれを全く通らないことを確認. 特にエラーケースに関してのテストがされていないみたいだ.
21:16:01 # Life Anthony Townsとdebootstrapの話をする. バグバグだよーと怒ると,Ryan Murrayと話をしていて,作業中の内容をアップロードしたんだよねぇー という返事が. Build-Essential: yesというフラグが実装されるまえに debootstrapの新しいバージョンがアップロードされたらしい. debconfはどうしている?ときかれたので,pbuilderではそのまま使っている,と言っておいた. Ryanはdebconfをchrootからはずしているらしい.
22:45:21 # Life gworldclockの国際化パッチを作成しました. 二年前くらいに作成していたのが古くなってしまったようです. システム側のメニューなどは日本語で全部表示されます. ja.po ファイルはこちら. gtk_action_group_set_translation_domainっていうのはなぜ必要なのか よくわからず.デフォルトで翻訳しないことにはメリットがあるのか? 317778 で POTFILES.in を修正, 317784 がja.po, 317790 でメニューを国際化します.
--- gworldclock-1.4.4/main.c 2005-03-28 12:27:02.000000000 +0900 +++ gworldclock-1.4.4-fixed/main.c 2005-07-11 22:40:03.008719720 +0900 @@ -375,6 +375,7 @@ /* set up menu */ action_group = gtk_action_group_new ("UIActions"); + gtk_action_group_set_translation_domain (action_group, textdomain(NULL)); gtk_action_group_add_actions (action_group, entries, G_N_ELEMENTS (entries), clocklist); gtk_action_group_add_toggle_actions (action_group, toggle_entries, G_N_ELEMENTS (toggle_entries), clocklist); g_object_set_data(G_OBJECT(clocklist), ACTIONS, action_group);
16:29:58 # Life gitの開発はまだ続いているようだ. 気づいたらpacked objectというものが現れた. 複数の変更を一つにまとめておいてくれているもののよう. ネットワーク経由のアップデートが高速になるということで, 一歩前進ですね. CGIを必要としない方法ということで,よいことです.
22:35:17 # Life dshのユーザからsshのタイムアウトを設定するのにはどうしたらよいのか,という質問が来た. sshの-o ConnectTimeout=10オプションを設定すればよいらしいのだが, それをどうやって設定するのだ,という質問だった. 調べてみると,dsh側の設定としては,-o オプションで任意のオプションが設定できることになっている. つまり,dshに-o -o -o ConnectTimeout=10というオプション をつければよいらしい. ただ,普通に使っている人にとっては-oを三つ付けるという発想はなかなか出て来ないのだろう.
15:01:26 # Life 久しぶりにautoconf, automake, libtoolをいじる. 最新においついてみようと,automake 1.9などを選択. config.h を生成しなくてもよいような仕組みになっているようだ. 全部のパラメータを-Dオプションでコンパイラに渡すようになっている. 昔からこうだっただろうか? AC_INITや AM_INIT_AUTOMAKE のパラメータはいつものように変更になっているので それに追い付いてみる.
で,見ていたらlibtoolをScott James Remnantが4月にorphanしていたのに気づく.
07:36:00 # Life qemuがopenhackwareとprollにdependsするようになった. いままで自分でもっていたものを外部のパッケージに依存するように変更しただけみたい. これらのパッケージはppcとsparcのfirmwareのようだ.
07:52:49 # Life 今日のカーネル cg-update. 2.6.13-rc2になったようですね. Linux atoron 2.6.13-rc2 #1 Thu Jul 7 07:38:32 JST 2005 i686 GNU/Linux cg-diffの出力を見ると,pci_match_deviceがpci_match_idに変更になって, deprecated,になった.pci_match_deviceという関数が新しく作成されているのが気になる. tg3ドライバが微妙に変更されているのも気になる. 昨日はカーネル読書会でAliciaの話しをきいてきたのだが, カーネルのダンプをきっちりと読んで行くためには結局こういう各バージョンでのAPIの 変遷を把握する必要も出て来るので,いろいろと面倒ですな.
11:08:54 # Life 第6回東京エリアDebian勉強会報告. 今月もDebian勉強会を開催しました. DebianのGNU toolchainの話, dpatchの話でもりあがりました.
今回の会計はこんなかんじかな?
科目 | 出費 | 入金 |
資料コピー15人分 | 4536 | |
---|---|---|
DWNクイズ景品代 | 150 | |
会場代 | 1500 | |
勉強会費 | 6000 | |
宴会 | 29865 | 32000 |
デニーズ | 6061 | 4000 |
合計 | 112 |
個人的には北海道からtyuyuさんがいらしていたのにびっくり.
11:39:09 # Life 今日のカーネル. 「Linux atoron 2.6.13-rc1 #1 Sat Jul 2 11:53:09 JST 2005 i686 GNU/Linux 」. 「Linux atoron 2.6.13-rc1 #1 Fri Jul 1 06:28:50 JST 2005 i686 GNU/Linux」. 素早いですな.
14:08:12 # dupload 今日のDebianパッケージメンテナンスはpbuilder.pbuilderの0.128をアップロード. 対応したバグは185227 305944 306448 308813 310656 312153 312913 316281.
pbuilder (0.128) unstable; urgency=low . * Add example framework to test package inside chroot - B92test-pkg - add debian/pbuilder-test/ directory to test pbuilder itself. * Documentation/pbuilder-doc.xml: - add reference on directory structure on pbuilder. - Add note on pbuilder-test * Support '--distribution experimental'. "pbuilder: Please add support for experimental", thanks to Emanuele Rocca (Closes: #308813). and also support working with new apt-get by using --force-yes. (closes: 316281). * Feature enhancement: "pbuilder: Clean apt cache ", thanks to Daniel Schepler implement --autocleanaptcache option. (Closes: #185227). * pdebuild now checks for unsupported command-line options. Bug fix: "pbuilder: pdebuild does not warn about --basetgz or --distribution", thanks to Matt Kraai (Closes: #305944). * man pages fixup: add \% for non-hyphenation (closes: #310656) * Fix find options -xdev location. (closes: #312913) * Bug fix: "pbuilder: Please document proper format of OTHERMIRROR", thanks to Roberto C. Sanchez (Closes: #312153). * Bug fix: "pbuilder: Support for preserving environment PATH", thanks to Brian Nelson (Closes: #306448). * work around debootstrap 3.0.0 bug which fails to build sid chroot with --variant=buildd, by not passing --variant=buildd, see 314858
15:01:47 # Life Debconf行きの飛行機が旅行会社側のトラブルで予約できていなかったらしい. そのための対応をした. わかったこととして,今からでも十分飛行機はとれるようだ. なんだそりゃ.
$Id: 200507.html.ja,v 1.39 2005/10/09 06:58:45 dancer Exp $