From: Minero Aoki Date: 2003-02-10T22:32:30+09:00 Subject: [ruby-list:37086] Re: setup.rb: Patch to ignore CVS,*~,... あおきです。 In mail "[ruby-list:37085] Re: setup.rb: Patch to ignore CVS,*~,..." "Shirai,Kaoru" wrote: >  白井です。 > > うーむ、本当にそのままなんですね……。それは考えてませんでした。 > >  他にも rubycocoa, ruby-dbi, shim 、これらは少なくとも"そのまま"の形で > CVS に入っています。思うに install.rb/setup.rb って配布用のインストーラ > に留まらず、優れたビルドシステムともいえるんじゃないかと思います。 setup.rb は、開発中に使うにしては、タスクの自由度がなさすぎる ような気がするんですよね。たとえば make distclean を呼べないし。 # 追加してくれっていうリクエストをさっきもらいましたけど。 >  私の場合も結構小さなツールを置いていますが、 tarball にする際にはその > 都度 CVS のリポジトリからチェックアウトしますから、 cvs add しない限り余 > 計なものが混じる危険性はありません。 CVS/ については tarball にする際に > find -name CVS|xargs rm -rf してしまいます。(作業用のツリーとは全く別だ > から、「破壊的」な操作が可能です) あ、ツールというのはその場限りじゃなく、継続的に使うものです。 たとえば setup.rb に対する asm.rb みたいなものです。そういう ものはソースコードと切り離せないので cvs add したいところです。 そういうのはトップに置くのかなあ。 でもやっぱ面倒くさいような……。 そうだ、あと、ぼくはドキュメントを (かなり複雑な手順で) 自動生成しているという理由がありました。だからどうせ配布前に 一段階処理が必要なので、アーカイブの作り直しをあまり躊躇わ ないのだと思います。 >  とはいっても、 bin,lib,ext という階層分けが煩わしいかというと、そうも > 言えないと思います。よほど面倒臭ければ > > $ ln -s bin/* lib/LIBNAME/* . > > という風にリンクを上手に使う手もありますしね。それよりも、チェックアウト ぼくも現在の仕組みにしているのは歴史的な経緯がけっこうあるんで、 白井さんのようにキッパリ分けてしまってもいいかなあとは思います。 ただ「本当にそれでいいのか」自信がないんです。やるなら全部の プロジェクトをドカーンと変えたいんですけど、けっこう数があるので やるならやるで大転換です。しかしぼくは setup.rb の区分けには そこまでの自信は持ってません。 ちなみに「歴史的経緯」とは、Ruby がまだディレクトリによる階層 構造を導入してなかったときの名残、ということです。TMail とか Racc、setup.rb なんかは階層構造になる以前からありますから。 > いんじゃないかと思います。これは、誰かが Anonymous CVS からソースを取っ > て来て、ビルドしたいというケースを考えると非常に分かりやすい仕組みです。 > ですから、 複数人開発のときに楽というのは確かですね。 ぼくもその点は気になってました。 > 一部の人達(私とるびきちさん)が幸せになれる為にパッチを取り込んで欲しい > と思ったりするんですけど、だめ? いや、だめではありません。ぼくが「インストール only」という 前提で開発していた (それ以外は想定していなかった) から受け 入れられなかっただけです。CVS レポジトリに本当にイメージを そのまま入れてるというのは想定外でした。ですが、そのままで 開発するというスタイルがあるのなら考慮に入れます。 ただ、ついでに他の人の開発スタイルを聞いてみたい感じはします。 ディレクトリがどーなってるのかとか。他の、setup.rb を使っている 人もそのままのイメージで開発してるんでしょうか? ------------------------------------------------------------------- 青木峰郎