«前の日記(2004-03-13) 最新 次の日記(2004-03-15)» 編集

Don'tStopMusic

2003|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|12|
2006|01|02|03|04|05|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|08|09|10|11|12|
2009|01|02|05|06|

カテゴリ別 2003年 | 2004年 | 2005年 | 2006年 | 2007年 | 2008年

知り合いサイト: よんだもの / 暴想 / Linuxでやる夫 / 新宿Vipper / 僕だけが幸せになればいいのに。


2004-03-14

_ [Ruby] ライブラリのアーカイブの作り方 その 1 このエントリーを含むブックマーク

追記:うーん。あまりまとまりがないのでメモ書き程度のものとして読んでください……

よーしパパ gem ファイル作っちゃうぞという方法もありますが、もう少し保守的に setup.rb を使ったパッケージングの仕方を書きます。詳しい使い方は setup.rb のオンラインマニュアルをご参照ください。

手順

  • 決められたレイアウト(ディレクトリ構造)でライブラリを作る
  • setup.rb をライブラリのルートに置く
  • tar や zip で固める

これだけです。例を挙げて説明します。「決められたレイアウト」ですが、Ruby/Technorati の場合以下の通りになります。

ruby-technorati-0.1/
    setup.rb
    lib/
        technorati/
            api.rb
            parser.rb

ルートが ruby-technorati-0.1 で、直下に setup.rb と lib ディレクトリを配置、lib の下にはライブラリ本体を置きます。

Ruby/Technorati では存在しないので省略していますが、/usr/local/bin にインストールしたい実行コマンドがあれば

パッケージのルート/
   bin/

また、C などで書かれていてコンパイルが必要な拡張ライブラリは

パッケージのルート/
  ext/

となります。

_ [Ruby] ライブラリのアーカイブの作り方 その 2 このエントリーを含むブックマーク

細かいことは考えず、新しくライブラリを作るときに必要なディレクトリやファイルをまとめて作ってしまえばいいわけです。ということで、setup.rb 対応、RAA upload ready で gentoo の ebuild にしやすい構成として以下のようなものはどうでしょうか。

$ mkdir ruby-technorati
$ cd ruby-technorati
$ mkdir bin docs lib sample test
$ touch ChangeLog INSTALL.en INSTALL.ja README.en README.ja TODO TUTORIAL.en TUTORIAL.ja
$ cp -p ~/hoge/fuga/setup.rb .

とやれば、

ruby-technorati-0.1/
    ChangeLog
    INSTALL.en
    INSTALL.ja
    README.en
    README.ja
    TODO
    TUTORIAL.en
    TUTORIAL.ja
    setup.rb
    bin/
    docs/
    lib/
    sample/
    test/

という構成になります(XTemplate などいくつかのライブラリの構成を参考にしました。感謝)。

  • ChangeLog : changelog 形式の更新履歴
  • INSTALL.en / INSTALL.ja : インストール方法
  • README.en / README.ja : 取説
  • TODO : TODO リスト
  • TUTORIAL.en / TUTORIAL.ja : 使い方の説明
  • docs/ : RDOC の生成先
  • sample/ : サンプルプログラムの置き場所
  • test/ : unit test の置き場所

INSTALL.en と README.en の中身を埋めればとりあえず RAA に登録しても大丈夫でしょう。また、ruby.eclass を使った ebuild なら、ライブラリのインストールには自動的に setup.rb が使用されますし、ChangeLog INSTALL README や docs 以下のドキュメント類は /usr/share/docs/#package-name#/ にインストールされます。

_ [Ruby] ライブラリのアーカイブの作り方 その 3 このエントリーを含むブックマーク

おなじみ RubyGarden から関連ページをいくつか。

ruby-talk あたりでレイアウト標準化の議論がすでにされていそうですけれども。簡単に検索しただけでは見つけられませんでした。

_ [私生活] 続々休出 このエントリーを含むブックマーク

例によって今日も休出です。まだ会社です。これで何週連続でしたっけ・・・・・・?

[]

最近のコメント:

  1. だて (03-27)
  2. 通りすがり (03-27)
  3. 青木 (03-27)

RSS
Creative Commons License
This work is licensed under a Creative Commons License
(note: text only. w/o web design, citations, (re)distributed softwares).