次へ。

最近mixiはてなのブログ区別がつかなくなっていてイカン。
mixiはもっとどうしようもない路線で行くべきだなぁ。

ご飯食べてないわけじゃないですよ。
今日は、ラーメン+送られてきたトウモロコシ+なにやら大量の野菜

野菜が減らない。食べるけど。

なすとピーマンを油で揚げてポン酢でいただくというモノ、3回目ともなると上手くできるようになってきた。今日は焦がさずに、極めておいしくできた。
油をケチるといけない。


で、次へ。
VIVER本体プログラム(そろそろ正式名称が要るんじゃないかと)はある程度できた感じなので、プラグインシステムへ。



ポイント:
ディスクイメージの外に出す
 NBDをもう一本使う?
 NFS
 tftp?
 「プラグインサーバー」?
  メタデータだけ最初に渡して、後はオンデマンドでtftp…NBDの方が良さそうだな…
依存関係
 「この機能を提供」
 「この機能が要る」
 「アイツが要る」
 「アイツのver ** 以上が要る」
 「アイツと衝突」
 「このファイルが要る」
 「このライブラリが要る」
 「このバイナリが要る」
 OR指定
 バージョン指定
順番指定
 「アイツより先に」
 「アイツより後に」
 「この機能を提供するヤツらより先に」
 「この機能を提供するヤツらより後に」


…複雑すぎるな…
「機能群」という分け方を導入してみた。
wakenetが『Network』機能を提供、firewallは『Network』機能と『Firewall』機能を提供。
このとき「機能『Network』を提供するヤツらより後に」を指定したプラグインは、wakenetとfirewallが終わった後に実行される。
init-ngがこんな処理をやっている。


…む。要らない気がしてきた。そもそも 1プラグイン = 1サービス(1機能) だしな…
うむ。まずは簡単にいこう。


メタデータXMLは、ドキュメント的内容も含めると良いんじゃないかと。



 user-ldap
 1.2
 .2-1
 

The POSIX user accound directory serivce
 POSIXユーザーアカウントサービス

 
  network
  password
  
   /etc/passwd
   /etc/shadow
  

  ldapd
  ldap
 

 
  network
  some
 

 
  domain
  port
  ssl
 

 
  389
  8080
  5300
 

 
このサービスは、POSIXユーザーアカウントを管理するLDAPサーバーを起動します。



こんな感じ?
基本形はviverrc 0.1とさほど変わっていない。(0.1はほとんどこの情報を使っていない

SummaryとかDescriptionは、プラグイン管理ツールで表示する制御タグを埋める形式でも良いし、そのまま直に読めても良い。HTMLチックなくらいはあっても良いのかな。
XMLはいろいろ書けて、その上良くできたパーサーがたくさんあって良い。

今度はどのパーサーを使おうか。0.1はlibparsifal。SAX型。
expatが良いのかな。今度はDOMが良いなぁ。イベント駆動型はプログラムがややこしくなる。(と言うかそこのところ技術不足 orz)


依存関係の解決と、をどうやって処理するかが要かな…
依存関係、どうすりゃいいんだ…