Ruby/Qte普及委員会 Ruby1.6と1.8の共存

XREAAD
Create  Edit  Diff  FrontPage  Index  Search  Changes  History  RSS  Login

プログラミングTips

Ruby/Qte 0.4はRuby 1.6系用なので((Ruby 1.8系対応の Ruby/Qte 0.5がリリースされました(2003-09-15 (月) 22:46:20)。))、最新の ruby_1.8.0と共存する方法を考えてみました。

この方法を行うと、Ruby 1.6のほうは手動でしかアンインストールできなくなるので注意。

前提

すでにRuby 1.6系とRuby/Qteがインストールされているものとする。

ruby_1.6.8-1_arm.ipk と ruby_1.8.0-1_arm.ipk とで同名で存在するファイルは、

./opt/QtPalmtop/bin/irb
./opt/QtPalmtop/bin/ruby

の2つ。それから、postinst で /opt/QtPalmtop?/lib/libruby.so.1.6 から /opt/QtPalmtop?/lib/libruby.so へのシンボリックリンクが作られているが、1.8.0 にもやはりシンボリックリンク /opt/QtPalmtop?/lib/libruby.so が存在する。

そこで…

手順

rubyをruby-1.6にリネーム。

# cd /home/QtPalmtop/bin
# mv ruby ruby-1.6

irbはRubyスクリプトなので、先頭行のRubyプログラム名をruby-1.6に書き換える。

# sed -e '1s/$/-1.6/' irb > irb-1.6
# chmod 755 irb-1.6
# rm irb

libruby.so を削除。

# rm /home/QtPalmtop/lib/libruby.so

ruby のインストール情報を削除。

# cd /usr/lib/ipkg
# cp -p status status.bak
# sed '/^Package: ruby$/,/^$/d' status.bak > status
# mv info/ruby.list info/ruby.list.bak

ruby_1.8.0-1_arm.ipk を「ソフトウェアの追加/削除」でインストール。(インストールエラーがでるが、問題ない?)

新しくインストールされたrubyをruby-1.8 にリネーム。

# cd /home/QtPalmtop/bin
# mv ruby ruby-1.8

erb, irbはRubyスクリプトなので、先頭行のRubyプログラム名をruby-1.8に書き換える。

# for f in irb erb; do
> sed -e '1s/$/-1.8/' $f > $f-1.8
> chmod 755 $f-1.8
> rm $f
> done

rubyをruby-1.6へのシンボリックリンクにする。irbも同様。

# ln -s ruby-1.6 ruby
# ln -s irb-1.6 irb

erbをerb-1.8へのシンボリックリンクにする。

# ln -s erb-1.8 erb

シンボリックリンク /home/QtPalmtop?/lib/libruby.soを削除。Ruby 1.8 からは libruby.so.1.8 が参照されるので、なくても問題ない?

# rm /home/QtPalmtop/lib/libruby.so

コメント

  • irb, erbはリネームしただけじゃダメなので、訂正しました。 -- noir 2003-09-12 (金) 03:54:10
  • Ruby 1.8対応のRuby/Qte 0.5がリリースされたので、今後このような作業はいらなくなるでしょう。 -- noir 2003-09-15 (月) 22:44:30
  • 遅くなってすみません。簡単にしかまだ試していないので不具合があるかもしれませんが、とりあえず1.8へ移行できるようにしていきます。 -- hdk 2003-09-16 (火) 01:31:49
  • 2012-05-09 (水) 17:51:32 あゆみ : +.(・∀・).+♪ http://sns.fgn.asia/
Name: Comment: