2008年11月30日

General Resolution: vote 002 Project membership procedures, vote 003 Lenny and resolving DFSG violations

そろそろdiscussion periodになりそうな投票情報。12月から投票になりそうかな。かいつまんだ超訳なんで、Debian Developer=投票者は原文を参照のこと。

vote 002は前にJoergが出してけっこうな騒動になっていたプロジェクトのメンバシップについて。選択肢は以下。

  1. Debianプロジェクトは、多くのコントリビュータがDebianの体制の中では活動していないためにプロジェクトの協力が限定的であることを認識している。コントリビュータをもっとプロジェクトの中へと巻き込む方法についてのアイデアを展開したJoerg Jaspertに感謝するが、debian-devel-announceメーリングリストに投稿された提案はまだ完成しておらずコミュニティ大半の支持が得られているとは言い難い。DAMおよびすべてのコントリビュータを迎えて今後プロジェクトのほかのメンバーと密接に協業するためのアイデアを募り、新しいブラッシュアップした提案を将来投稿したい。よって、メンバシップに関する変更は、GRによるプロジェクトでの合意後に実装されるべきである。
  2. Debianプロジェクトは、GRにより、debian-develo-announceメーリングリストで提案されたDeveloper Statusの実装を、提案の合意が取れるか実装されるべき提案を定義する投票があるまで延期することをDAMに求める。
  3. Debianプロジェクトは、GRにより、debian-develo-announceメーリングリストで提案されたDeveloper Statusの実装を延期することをDAMに求める。

なんかまだ錯綜していてどのChoiceも同じようなものになってる。結局投票もやる意味ないような…。

vote_003は主にファームウェア絡みのDFSG解釈とLennyでの対処について。

  1. 社会規約の再確認: 我々の優先事項はユーザとフリーソフトウェアコミュニティである。我々は100%フリーのオペレーティングシステムを提供すると約束している。これら2つについて、我々はnon-freeをDebianの一種として過去にリリースしたが、進展もなされてきた。我々はDebianオペレーティングシステムのフリーバージョンを提供する時期にきており、オペレーティングシステムをフリーにする努力を達成できるまでLennyのリリースを遅らせる。
  2. プロプライエタリなファームウェア付きのLennyリリースを認める: 我々の優先事項はユーザとフリーソフトウェアコミュニティである。我々はカーネルのファームウェア問題について進展があることがわかっている。過去に未解決であったほとんどの問題は前回のstableリリース時点で整理された。ただカーネルソースについての新たな問題が最近持ち上がっており、これらの問題はまだ対応されていない。我々は、Etchリリースで配布されたDebianのカーネルにおける自由への歩みが、Lennyにおいても後退のないことを保証している。我々は時間ベースのLennyリリースをその他の問題よりも優先したい。そのため、ソースのないファームウェアの削除をベストエフォートな処理とし、ファームウェアをDebian Lennyの一部として配布することを当面許可する。
  3. DFSG違反ながらLennyリリースを認める: 我々の優先事項はユーザとフリーソフトウェアコミュニティである。我々はカーネルのファームウェア問題の多くに進展があることを知っているが、まだ完全には整理されていない。我々は、Etchリリースで配布されたDebianのカーネルにおける自由への歩みが、Lennyにおいても後退のないことを保証している。我々は時間ベースのLennyリリースをその他の問題よりも優先したい。そのため、ソースのないファームウェアの削除をベストエフォートな処理とする。
  4. リリースチームにDFSG違反を許可するかどうかの権限を与える: 我々の優先事項はユーザとフリーソフトウェアコミュニティである。しかし、リリース真近にある状況では、決定は、いかにstableリリースを高品質で提供するか、問題のあるソフトウェアの使用を最小限にするかに当てられるべきである。我々のコア開発者とリリースチームの前に1つのみならぬ地雷原があることがわかっている。Developerとしての我々は、ゴールに向かうためにリリースチームを信頼し続け、決定に権限が必要なときにケースバイケースの決定を行う権限があることを承認する。
  5. ブロブを特に証明のない限りGPLに応じているものと仮定する: 我々の優先事項はユーザとフリーソフトウェアコミュニティである。我々はカーネルのファームウェア問題について進展があることがわかっている。過去に未解決であったほとんどの問題は前回のstableリリース時点で整理された。ただカーネルソースについての新たな問題が最近持ち上がっており、これらの問題はまだ対応されていない。我々は、Etchリリースで配布されたDebianのカーネルにおける自由への歩みが、Lennyにおいても後退のないことを保証している。我々は時間ベースのLennyリリースをその他の問題よりも優先したい。そのため、ソースのないファームウェアの削除をベストエフォートな処理とし、ファームウェアをDebian Lennyの一部として配布することを当面許可する。ファームウェアはDFSGに準拠したライセンスの下でupstreamから配布されているものとする。
  6. ファームウェアのソース要件を除外する: ファームウェアはマイクロコードやルックアップテーブルのようなデータであり、コンポーネントが機能するためにハードウェアコンポーネントにロードされる。ホストCPUで実行するコードではない。不幸なことにそのようなファームウェアは、それがどのような働くのかやどうハードウェアと連携するのかを知る手掛りとなるソースもドキュメントもないブロブと呼ばれる形で配布される。このようなファームウェアをDebianから除くと、我々はそのようなデバイスを必要とするユーザに我々のシステムをインストールできなくしたり、無駄な手間をかけることになる。Debianにおけるファームエワはソース必須でないものとする。ソースおよびドキュメント付きのファームウェアが望ましいが必須要件ではないことにする。ただしDFSGに定められた我々のオペレーティングシステムのその他の自由要件は必須とする。そのようなファームウェアは我々の公式インストールメディアの一部となることができ、そうすべきである。

最後の提案はまっとうではあるが原理主義からは反発も大きそう。とりあえずCMapをnon-freeからmainにする技を誰か考えてください。ルックアップテーブルデータなのでmainでいいだろと言ってたmhatta先生、どうしますかね。

洋梨のサワークリームタルト

おやつにタルトを再び作成。今度はキルフェボンで売られているものにヒントを得て、生の洋梨とサワークリームで。

  1. パイ生地風に作ったタルト(18cm)を焼く。
  2. 洋梨を薄切りにしてグラニュー砂糖少々を振る。
  3. 生クリーム120g、グラニュー糖30gを固めに立て、キッチンペーパーに乗せて水気を切ったヨーグルト40gを混ぜる。
  4. タルトにクリームを乗せ、洋梨を並べる。
  5. ミロワールヌートルを塗ってできあがり。

クリーム分はクリームチーズに似てる。洋梨と相性が良くておいしい。紅茶ともぴったり。

ハモンセラーノ、シシトウの網焼きタパス、野菜の煮込み、フランスパン、ジンジャーエール

このまま冷凍庫に入れておくと忘れそうなので、残りの生ハムを出して食べることに。日本の店なら5〜10枚くらいにしそうな厚切りでプチ贅沢気分(あまり厚切りにしすぎると固くて大変だが)。

シシトウは本当は網焼きにしたいところだけどちと面倒なので、切れ目を入れて串に刺し、塩胡椒してオリーブオイルをかけてトースターで焼いて裏返して焼く、だけ。煮込みスープは玉葱、人参、じゃがいも、キャベツ、ニンニク、塩、白ワイン(まちがえて赤ワインもちょっと入れちゃった)、胡椒、ベイリーブス、水と入れて煮込む。

フランスパンはサンジェルマン系列のレフボンのバゲット。自作のとはさすがに皮の感じと香りがちょっと違うな。ただ、中身はそんなに変わらなかった。このバゲットはバターやオイルをつけるとぐっと味が引き立つね。手軽に飲み切れるようなワインがないのでウィルキンソンで我慢。トカップサイズでちゃんとした味のワインがほしいのだが。

鶏肉とガルバンゾのカレー

28日の補完。鶏もも肉、玉葱、ナス、ガルバンゾ豆、ピーマン、トマトという組み合わせ。ひさびさでおいしい。

ペペロンチーノフィトチーネ、サーモンと生野菜のサラダ、豚肉のソテー

27日の補完。ごはんが微妙な量、サーモンのサラダは単体だとちょっとおかずとしては弱い、前にステーキに使って残り1枚の豚ロースがある、ずっと前からのフィトチーネ1人前、ということで、こんな感じのメニューに。

ハナマサで買ったサーモンは少しスモークしてあったみたいで、寄生虫の心配はなさそう。レタス、ミニトマトとあえ、塩、胡椒、白ビネガー、オリーブオイルのドレッシングで。フィトチーネはローストしたナスとパセリ、オレガノと絡めてハーブ風味に(ハーブが乾燥なのが玉に瑕)。豚肉は塩胡椒してから強力粉を振ってニンニクオイルで両面を焼き、ワインを入れて飛ばしてから、少し醤油をたらす。3品+ごはんで良い組み合わせになった。

2008年11月27日

天ぷら

さつまいも、しめじ、椎茸、えりんぎ、人参、ピーマン。春菊。春菊と芋でいっぱいになっちゃって、ナスを揚げるに至らなんだ、不覚。野菜と炭水化物ばっかりで蛋白質が不足か?

ボローニャソースのペンネ、海老のニンニクオイル煮

25日の補完。ボローニャソースは適当に唐辛子と玉葱と人参と挽肉とトマトで。オイル煮はまぁまぁおいしかったけど、スペインで食べたのとはやっぱり違うなぁ…。冷凍むきえびじゃだめか?もっとニンニク入れればまた違うのかも。そもそももうちょっと海老の水気を絞り出しておいたほうがいいのかもしれん。

ポークステーキ、ほうれん草、いんげん、ナス、トマトの焼き野菜付け合わせ

24日の補完。とんかつ用豚ロースを単にステーキ風に焼いてバルサミコ酢でソースを作っただけ。脂が多いので一旦は満腹になるんだけど、牛肉に比べると腹持ちはあまりしないのだな。

洋梨の焼きタルト

24日のおやつに、旬のラフランスを使ってタルトを焼いてみた。パイ風のタルト生地はバター、薄力粉、塩、水を混ぜて冷蔵しておいたもの。ラフランスはサイコロに切ってグラニュー糖をふりかけ、バターとグラニュー糖で作ったカラメルと混ぜ合わせる。ソースは卵、生クリーム、グラニューで。だいぶ甘甘だけど、紅茶と相性良くておいしかった。

芋煮

23日の補完。土鍋だとどうも里芋の火の通りが難しいので、圧力鍋で作ってみることにした。里芋やごぼうがほくほく、牛肉と一緒に食べるとこれはまたうまい!

  1. 里芋の皮を剥き、半分に切って、塩で揉んで置き、洗う。
  2. ごぼうは皮を削ぎ、酢水につける。
  3. 里芋、ごぼうを圧力鍋に入れ、水をかぶるくらいに入れて圧を5分ほどかける。
  4. 蓋を開けて湯を捨て、こんにゃく、醤油、味醂、酒、鰹節、水を入れて圧を3分ほどかける。
  5. 蓋を開けてネギ、牛肉細切れを加え、醤油、塩で調味する。

フランスパン、ビーフシチュー

22日の補完。連休初日はパン焼きとシチュー作りから。全粒粉を入れるとちょっとフランスパンから遠ざかるかも。まぁ味は悪くない。やや甘めの仕上がりにしたビーフシチューとの相性は良いね。ビーフシチューは牛スネ、玉葱、人参、じゃがいも、セロリ、各種ハーブとスパイスで。

ほうれん草とウィンナーの炒め物、ぶりの刺身、豆腐とワカメの味噌汁

21日の補完。さっと炒めたほうれん草がおいしい。ぶりはちょっと水っぽいかな。

2008年11月22日

GNU dbm(gdbm)のデータを変換する

Gaucheで書かれたWikiシステムのwilikiを活用してるのだが、x86アーキテクチャな旧マシンからx86-64アーキテクチャな新マシンへデータを移行しようとして、バックエンドデータベースのGNU dbmのデータがアーキテクチャ依存のために動かなくなってしまった。

ということで、RubyのPStoreを中間データにするようなダンプ/リストアツールを作成。rubyパッケージとlibgdbm-rubyパッケージを入れるだけで動くはず。gdbm_dump.rbは

#!/usr/bin/ruby
#  Copyright 2008 Kenshi Muto <kmuto@debian.org>
require 'pstore'
require 'gdbm'

if ARGV.size != 2 || !File.exists?(ARGV[0]) || File.exists?(ARGV[1])
  STDERR.puts "gdbm_dump.rb {GDBM file} {DUMP file}"
  exit(1)
end

db = PStore.new(ARGV[1])
gdbm = GDBM.new(ARGV[0])

db.transaction do
  gdbm.each_pair do |key, value|
    db[key] = value
  end
  gdbm.close
end

gdbm_restore.rbは

#!/usr/bin/ruby
#  Copyright 2008 Kenshi Muto <kmuto@debian.org>
require 'pstore'
require 'gdbm'

if ARGV.size != 2 || !File.exists?(ARGV[1]) || File.exists?(ARGV[0])
  STDERR.puts "gdbm_restore.rb {GDBM file} {DUMP file}"
  exit(1)
end

db = PStore.new(ARGV[1])
gdbm = GDBM.new(ARGV[0])

db.transaction do
  db.roots.each do |key|
    gdbm[key] = db[key]
  end
  gdbm.close
end

ダンプしたいアーキテクチャのほうで「gdbm_dump.rb GDBMファイル名 PStoreファイル名」を実行。PStoreファイルを新アーキテクチャのほうにコピーし、新アーキテクチャで「gdbm_restore.rb GDBMファイル名 PStoreファイル名」を実行してGDBMファイルを生成する。

2008年11月21日

焼き餃子、かぶときゅうりのぬか漬け

皮がやや固めになっちゃったけど、味は悪くないかな。豚肉、ニラ、白菜、にんにく、生姜、中華山椒、ゴマ油、塩、胡椒、片栗粉で。

2008年11月20日

うなぎのかば焼き、豆腐とワカメの味噌汁、かぼちゃの煮付け

17日の補完。ちょっと疲れぎみかつあまり気合いの入ったものを作る気力がなかったので、出来合いのうなぎと、簡単にできそうな味噌汁と煮物でごまかす。まぁ元気はつくかも? 味噌汁がおいしい。