[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:002769] Re: 電脳製 品のパッケージング
- To: KOSHIRO Tsuyoshi <koshiro@xxxxxxxxxxxxxx>
- Subject: [dennou-ruby:002769] Re: 電脳製 品のパッケージング
- From: Takeshi Horinouchi <horinout@xxxxxxxxxxxxxxxxxx>
- Date: Wed, 14 Mar 2007 16:37:49 +0900
- Cc: horinout@xxxxxxxxxxxxxxxxxx, davis-ml@xxxxxxxxxxxxxx, dennou-ruby@xxxxxxxxxxx
堀之内です。
> 神代です.
>
> 先日の電脳davis/rubyワークショップでは, パッケージングの話を私がする予
> 定でしたが, 時間切れになってしまったので, ここで補足します.
有難うございます。毎度ながら、最後は押してしまいすみませんでした。
> ----------------------------------------------------------------------
> 1. プラットホーム毎の(バイナリ)パッケージ
>
> 現状では, 以下のようにプラットホーム毎のパッケージが用意されています.
> apt等も使えるようにしてあるのがミソで, インストールが楽にできます.
> 作成者の皆様, いつもありがとうございます.
>
> ・deb <apt> [i386] ... 小高さんはじめ北大の方々
> ・RPM -- Vine <apt> [i386], Fedora <yum> [i386, x86_64] ... 神代, 西澤さん
> ・FreeBSD ports ... 村上さん
> ・MacOSX Fink [PowerPC, Intel] ... 岩前さん
> ・Windows (MSWin32) 全部入りパッケージ ... 乙部さん
> ・Cygwin <setup.exe> ... 神代
>
> これらは, 今後も継続していけたらと思います. (お願いします)
現状とりまとめ有難うございます。
> 64bit PC もだんだん普及してきたので, Linux ではそれに対応したパッケー
> ジも用意できるといいですね(今はFedoraだけ).
> RPMは CentOS あたりも用意できるといいかなーと妄想はしています.
そうですね。皆さんに無理がかからない範囲で広げていけたらと思い
ます。実際に使ってる人がボランティアしてくれるのがベストで
すね。(上のリストも多くはそうなってますね。)
> 2. プラットホームに依存しないインストーラ
>
> これら以外の環境のために, 一括インストーラ numru-install.rb なるものを
> 用意していました.
> これはRubyスクリプトで, Rubyさえあれば動き, DCLやnetCDFも含めて電脳製
> 品を一括インストールでき, 依存関係も考えてくれるように作ったものです.
> が, 自前でインストーラの枠組みを作るのはなかなか難しく, 設計があまりよ
> くなかったのもあって(これは私が悪いんですが), 現状ではほとんどメンテで
> きていません.
>
> そこで, こいつはやめて, RubyGems のパッケージを作るのがいいんじゃない
> かと最近考えています.
>
> 今回, Ruby on Rails をインストールするときにこれを使った方も多いと思い
> ますが, Rails 人気のおかげで, Rubyライブラリパッケージ管理システムのデ
> ファクトスタンダードになりつつあります.
> # 今後, Ruby本体に取り込む予定もあるようです([ruby-dev:30560])
唯一気になるのが、require でライブラリーをロードできず、
require_gem (最近では単に gem)を使わないとならないことです。
何でインストールしようが require で済んでほしいと思うのですが、
gem 対応の require もあるのでしょうか。require を再定義
すればいいだけなので、数行でかけるものではありますが...。
さすがに本体に取り込まれた暁には require で済むように
なるんでしょうね...?
# しかし 1.8.6 が出たとたん、rails がこけるという話が出てますね。
rails のコーディングはトリッキーなんだから、誰かリリース前に
テストしたほうがいいと思うんだけど...。
> 具体的な作りかたはだいたいリサーチしたのですが, 実際に作成するのはまだ
> これからです. 問題点があればまた報告したいと思います.
> NArrayなどの外部製品のgemも, ないようなので作るつもりです.
>
> これができれば, Gfdnaviのインストールが
>
> ・DCL, netCDFあたりは, 手動でビルド, インストールする
> ・Rubyはもちろん必要
> ・gem をインストール
> ・電脳製品を gem install
> ・Rails を gem install
> ・Gfdnavi を手動で取得, 展開, rails gfdnavi
>
> というような手順でできるようになります.
> ----------------------------------------------------------------------
>
> 以下は, 堀之内さんが流してくださったメモに対する反応です.
> パッケージング関連のところだけ.
>
> At Mon, 12 Mar 2007 13:06:40 +0900,
> Takeshi Horinouchi wrote:
> >
> > * 配布版パッケージング再構成
> > * 現在は DLして展開したものをそのまま編集して使わせてるが、
> > DL and (展開 or インストール)後、運用用の場所に改めて
> > 展開させる(各userのディレクトリーとか /var とか)。
> > * パッケージには運用用の場所に展開するための setup コマンド
> > を含めるか、それ自体を setup.exe にする。
> > * gfdnavi の配布版パッケージングと、各自の運用用コピーの分離
> > * gfdnaviがバージョンアップしてもやり直ししないで済むように
> > * 配布版からはじめても cvs 版も使えるのが良い。
>
> これは, Rails みたいな感じをイメージしたらよいでしょうか?
> つまり,
> ・インストール時には, Gfdnavi はコマンド+ライブラリ(コピー元資源)のか
> たちになっていて, この時点では運用用の資源は展開されていない.
はい。
> ・自分が運用したい場所で gfdnavi_setup みたいなコマンドを実行すると,
> そこに資源がコピーされ, rails コマンドも実行される
DL&展開して出来るコマンドを実行すると運用場所を聞くというのが
いいと思ってます。windows の setup コマンドの多くがそうである
ように。セットアップコマンドを /usr 以下等にインストール
させるようにはしなくていいのではないかと思ってます。
ただの setup コマンドなので、個別linux ディストリビューション用
のパッケージングはしないで済むようにしたい。
# すでに西澤さんが install.rb という名前で作り始めてます。
今の置き方だと切り分けが難しくないかちょっと気になります。
(gfdnavi/ ディレクトリーと併置がいいのでは?
gfdnavi-0.2.tar.gz を展開すると、setup.exe と gfdnavi/ ディレク
トリができると言う風に。gfdnavi/ ディレクトリーは tar.gz で
固めてあってもいいです。)
> というような.
> Gfdnavi をパッケージングするなら, そのように変えないといけないだろうな
> と私も考えていました.
>
> > * ユーザディレクトリ や /var にインストール後に、make setup
> > に続けられるようにするとよいだろう(後で setup するオプション
> > も残す。)
>
> すみません, これはちょっとよくわからなかったです.
イメージはこんな感じ。
% tar xvzf gfdnavi-0.2.tar.gz # --> gfdnavi-0.2 が展開される
% cd gfdnavi-0.2
% ./setup.exe
Gfdnavi setup.
Which directory do you want to copy and run Gfdnavi? [e.g.,
/var/cache/gfdnavi or a users directory] : ~koshiro/GFDNAVI (RET)
copying gfdnavi...
Would you like to proceed to Gfdnavi configuration
(such as data directory registering and user account creation)?
Or you can do it later as follows:
% cd ~koshiro/GFDNAVI/gfdnavi/
% rake setup
[Yn]; y (RET)
Starting gfdnavi configuration...
ちなみに、常時運用用にインストールする場合、linux なら
/var の下のどこかがいいのではないかと思いますが、お勧めは
どういうパスでしょう?
--
堀之内 武 <horinout@xxxxxxxxxxxxxxxxxx>
611-0011 宇治市五ヶ庄 京都大学生存圏研究所