[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[MD:1972] Would anyone like to release Meadow immediately?



>>>>> meadow-develop の No. 1971
>>>>> Message-Id: <20010116.003148.31854429.ki@xxxxxxxxxxxxxx> で、
>>>>> "北口" == Shuichi KITAGUCHI <ki@xxxxxxxxxxxxxx>さま曰く...

圭一> 私としては、いわゆる binary package ではなく、 ports みたいな 
圭一> make の自動化というほうが、うれしいかなと思います。

圭一> Elisp の場合、純粋に *.elc だけを install するって言うのは、個人
圭一> 的には考えられませんし、 GNU Emacs の流儀ではありませんので、
圭一> package のサイズのことも考えると、 make の自動化がうれしいのでは
圭一> ないかと思います。

北口> ports は私も好きなのでそれができるに越したことはないと思うのです
北口> けど、make 時にいろいろなツールを要求されると嬉しくないなと思います。
北口> だから、ports 的動作があってもいいけど配布物としては packages 的に
北口> なっている方が良いかな、と。ただ、

私は基本的に...

Elisp コードは source 配布、 Windows binary は binary 配布という
方針にしたいと思っています。

;; 前者のコンパイル環境は絶対にあるはずだけれど、後者のものはそ
;; うとは限りませんし、いろんなものがありますので。

で、自分で Windows binary を作りたい人以外には、 make.exe 等を要
求しないようにする。というのが望ましいと思っています。

問題点の洗い出しも含めて、必要なこと、および私の考えをあげてみま
す。
;; (技術的な|コストの)問題はとりあえず置いておきます。

1. パッケージ管理パッケージ

Meadow の core package に含めてしまうという手もありますが、 core
package を小さくするという意味と、バージョンアップのことを考えて、
ange-ftp を使った boot strap を Meadow の core package に含めて
おいて、パッケージを使いたい人は、これをインストールするようにす
るというのが良いのではないかと思います。

;; gzip, tar, patch, wget 辺りを含めることになるのではないでしょ
;; うか。

2. パッケージ選択

特定の URI に対応パッケージ情報のリスト置いておき、それを取得し
て一覧選択できるような elisp アプリケーションを作る。

;; リストファイルの内容は、パッケージ名、バージョン、配布元の 
;; URI 位でしょうか。

3. パッケージ情報取得

リストで選択したパッケージの URI から、 ports 的なものを取得する。
パッケージ本体は、別経路での取得、要不要の判断の機会のことを考え
て、この中には URI を記述するようにする。

この中には...

1) 必要なファイルの URI list
2) パッケージ依存情報
3) Document (なにをするものか、および、 patch による変更箇所位は
   書いておく)
4) Make / install のための elisp code

を含める。

1) がの内容が小さいものであれば、本体もこの中に入れてしまって、 
URI を current direcotry にしておくというのも良いかもしれません。

4. Make / install

1) 3. 4) の elisp code は、 uninstall 情報を特定のファイルに出力
   する。

5. Uninstall

   4. 1) の情報と、インストール済みパッケージの依存情報を元に不
   要なものを削除する。

6. その他

   自分でインストールしたものもパッケージの依存情報として使える
   ようにする。

北口> 個人的には

北口>   Meadow/pkg/lisp/app-name         (本体)
北口>              doc/app-name          (ドキュメント類)
北口>              db/app-name           (uninstall 用情報)

北口> こんなのかなぁ、と思ってます。
北口> もっとも、.exe は Meadow/x.xx/bin に入れるしかないと思いますが。

北口> # pkg/bin を作ってパスを通しておくのもいいかもしれませんね。

北口> ただ、SKK などデフォルトでは Meadow/x.xx/site-lisp に入るものは
北口> どうしたものだろう...

Compile 時に emacs 環境による最適化を行うものもありますので、
Meadow/x.xx/pkg/lisp/app-name というのもやはり必要かもしれません。

あまりディレクトリを増やしたくないというのであれば、subdirs.el 
が recursive にディレクトリを検索するという特徴を生かして、各 
site-lisp の下に pkg/app-name というのを作るというのも、良いので
はないかと思います。

;; ディレクトリ構造が深くなるというのとの兼ね合いはありますが。

圭一> そうすると、リソースのことを考えなくてもよいような、1次配布のた
圭一> めのサイトがほしいですよね。

北口> master site にはリンク情報だけが置いてあって、モノ自体は分散配置して...
北口> って結局、開発者が更新可能な master site が必要には変わりないですねぇ。

北口> まぁそれより、システムを考える方が先ですね(^^;

ですね。

-- 
鈴木圭一 / keiichi@xxxxxxxxx
PGP finger print (DH/DSS)
0B32 B37E 6DE9 3BC1 68A4  4089 7AAF 2B03 ECBD 614B