Changes between Version 3 and Version 4 of PackagingPolicy/Ruby


Ignore:
Timestamp:
2012/10/26 22:58:49 (9 years ago)
Author:
daisuke
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PackagingPolicy/Ruby

    v3 v4  
    33Ruby 関連(ライブラリ)のパッケージングポリシーを定めます。 
    44 
    5 == 配置 == 
     5 
     6== 本体のパッケージング == 
     7 
     8Ruby 本体は、原則としてその時点で選択した Matz CRuby の安定版を1種類のみ rpm パッケージで用意する 
     9ものとします。(2012/10/26現在のVineSeedでは1.9.3.286) 
     10それ以外のバージョンや別実装などはパッケージでは用意しません。必要に応じて、rbenvやrvm 
     11などで個別に導入管理してもらうものとします。(rbenv,ruby-build,rbenv-gemsetはパッケージ 
     12で用意しています) 
     13 
     14== ライブラリのパッケージング == 
     15 
     16gem から生成するライブラリ以外は vendorlib/vendorarch にいれ、ruby-* や *-ruby といった 
     17パッケージ名となります。べつのツールやライブラリ等の言語バインディング系も同様です。 
     18 
     19gem から生成するパッケージは rubygem-* というパッケージ名とします。これは後述の gem_dir 
     20に入れることになります。ただし、何らかの重要な ruby ベースのソフトウエアをパッケージング 
     21する際に必要である という場合を除いて、rubygem-*.rpm パッケージは作らず、ユーザが gemや 
     22bundler等で管理するほうが望ましいと考えます。(rubygemsをrpmで網羅し管理することは現実的 
     23ではないため) 
     24 
     25== 各種マクロ (Vine7/ruby-1.9.3) == 
     26 
     27原則としてRPMパッケージでいれる標準以外のrubyライブラリ(rubygems系以外)は、 
     28マクロ定義されている %ruby_vendorlibdir または %ruby_vendorarchdir に配置するものとします。 
     29(ruby_libdir/ruby_archdirは標準ライブラリ用) 
     30 
     31/usr/local/lib/site_ruby はパッケージ外で(gem以外で)インストールされるライブラリのための場所 
     32となります。RPMでは管理しません。 
     33 
     34* /etc/rpm/macros.ruby に ruby package に関するマクロ 
     35* /etc/rpm/macros.rubygems に rubygem package に関するマクロ 
     36 
     37=== Ruby 標準ライブラリ=== 
     38 * {{{%ruby_libdir %{_datadir}/ruby/1.9.1}}} 
     39 * {{{%ruby_libarchdir %{_libdir}/ruby/1.9.1}}} 
     40 
     41=== Ruby ベンダ提供ライブラリ(rpm管理パッケージ) === 
     42 * {{{%ruby_vendordir vendor_ruby}}} 
     43 * {{{%ruby_vendorlibdir %{_datadir}/ruby/%{ruby_vendordir}/1.9.1}}} 
     44 * {{{%ruby_vendorarchdir %{_libdir}/ruby/%{ruby_vendordir}/1.9.1}}} 
     45 
     46=== Ruby サイトローカルライブラリ(rpm管理外) === 
     47 * {{{%ruby_sitedir site_ruby}}} 
     48 * {{{%ruby_sitelibdir %{_prefix}/local/share/ruby/%{ruby_sitedir}/1.9.1}}} 
     49 * {{{%ruby_sitearchdir %{_prefix}/local/%{_lib}/ruby/%{ruby_sitedir}/1.9.1}}} 
     50 
     51=== Rubygems パッケージ用マクロ=== 
     52 * {{{%gem_dir /usr/share/gems/1.9.1}}} 
     53 * {{{%gem_instdir %{gem_dir}/gems/%{gem_name}-%{version}}}} 
     54 * {{{%gem_extdir %{_libdir}/gems/1.9.1/exts/%{gem_name}-%{version}}}} 
     55 * {{{%gem_libdir %{gem_instdir}/lib}}} 
     56 * {{{%gem_cache %{gem_dir}/cache/%{gem_name}-%{version}.gem}}} 
     57 * {{{%gem_spec %{gem_dir}/specifications/%{gem_name}-%{version}.gemspec}}} 
     58 * {{{%gem_docdir %{gem_dir}/doc/%{gem_name}-%{version}}}} 
     59 
     60 
     61~~~~ 
     62 
     63== 各種マクロ (Vine6/ruby-1.8.7) == 
     64 
     65以下は、Vine 6 以前のポリシーです。 
    666 
    767原則としてRPMパッケージでいれるrubyライブラリは、マクロ定義されている %rlibdir または %rarchdir 
     
    1070/usr/local/lib/site_ruby はパッケージ外で(gem以外で)インストールされるライブラリのための場所となります。 
    1171 
    12 == 各種マクロ == 
     72=== /usr/lib/rpm/macrosで定義 === 
    1373 
    1474 * {{{%ruby     /usr/bin/ruby}}} 
     
    2989   * /usr/local/lib/site_ruby/1.8/powerpc-linux 
    3090 
    31 == rubygems == 
     91=== rubygems === 
    3292 
    3393gem でいれたものは上記とはべつに /var/lib/gem で管理される。