[Ruby 1.9 - Feature #5314][Open] パッケージマネージャをコアリリースに含めて欲しい

Issue #5314 has been reported by Taro MURAOKA.


Feature #5314: パッケージマネージャをコアリリースに含めて欲しい
http://redmine.ruby-lang.org/issues/5314

Author: Taro MURAOKA
Status: Open
Priority: Normal
Assignee:
Category:
Target version:

Rubyは素晴らしいパッケージ(ライブラリ)が多いことが魅力の一つです。
その良さの維持には優れたパッケージマネージャが欠かせません。

しかしながら過去には代表的なパッケージマネージャ自身が
バージョンアップに伴い互換性を欠くという問題を起こしたケースがあり、
これではその魅力が損なわれてしまいます。

よって今後そうならないように、コアリリースに安定したパッケージマネージャを含め、
リリース期間中はその安定性を堅持することを提案いたします。

Issue #5314 has been updated by Shyouhei U…

Status changed from Open to Feedback

Taro MURAOKA wrote:

しかしながら過去には代表的なパッケージマネージャ自身が
バージョンアップに伴い互換性を欠くという問題を起こしたケースがあり、
これではその魅力が損なわれてしまいます。

すいませんどの話でしたでしょうか? さすがに漠然としすぎていて何とも言えなさすぎます。もう少し具体的に。

Feature #5314: パッケージマネージャをコアリリースに含めて欲しい
http://redmine.ruby-lang.org/issues/5314

Author: Taro MURAOKA
Status: Feedback
Priority: Normal
Assignee:
Category:
Target version:

Rubyは素晴らしいパッケージ(ライブラリ)が多いことが魅力の一つです。
その良さの維持には優れたパッケージマネージャが欠かせません。

しかしながら過去には代表的なパッケージマネージャ自身が
バージョンアップに伴い互換性を欠くという問題を起こしたケースがあり、
これではその魅力が損なわれてしまいます。

よって今後そうならないように、コアリリースに安定したパッケージマネージャを含め、
リリース期間中はその安定性を堅持することを提案いたします。

Issue #5314 has been updated by Usaku NAKAMURA.

Ruby 1.9には現在1.9.1および1.9.2という2つのバージョン系列が存在して
それぞれ保守されている(ことになっている)のですが、いずれにもrubygemsという
rubygemsというパッケージマネージャが同梱されていて、1.9.1の場合は
rubygems 1.3.1というバージョンが、1.9.2の場合は1.3.7というバージョンが、
それぞれ最初のリリースから現在までずっと維持されています。

これじゃ不満ってことでしょうか?

Feature #5314: パッケージマネージャをコアリリースに含めて欲しい
http://redmine.ruby-lang.org/issues/5314

Author: Taro MURAOKA
Status: Feedback
Priority: Normal
Assignee:
Category:
Target version:

Rubyは素晴らしいパッケージ(ライブラリ)が多いことが魅力の一つです。
その良さの維持には優れたパッケージマネージャが欠かせません。

しかしながら過去には代表的なパッケージマネージャ自身が
バージョンアップに伴い互換性を欠くという問題を起こしたケースがあり、
これではその魅力が損なわれてしまいます。

よって今後そうならないように、コアリリースに安定したパッケージマネージャを含め、
リリース期間中はその安定性を堅持することを提案いたします。

Issue #5314 has been updated by Taro MURAOKA.

http://www.kaoriya.net/blog/201109/20110913

ネタ元としてはココで書いたように私の体験に基づいてまして、まったくRubyのせいではないのですが、
ruby-gemsが1.7から1.8に上がった際に、それに強く依存したrails 2.3.11を含むredmine 1.2.1が動かなくなる
という事象に遭遇しています。

重要なのは私の問題を解決することではなく、こういうことが今後起こらないようにするにはという点です

いろいろと話を伺ったところ1.9以降gemsはコアリリースとの統合が進んでいるようなことを耳にしました。
また優先順位の問題でパッケージマネージャのリリースマネージメントは手がつかないかもとも聞きました。

パッケージマネージャとコアが密接にリリースマネージメントされていれば
私のように不幸な事象に遭遇する確率は将来的に格段に下がり、
なおかつrubyの言語としての魅力が一層際立つと考え提案した次第です。

Feature #5314: パッケージマネージャをコアリリースに含めて欲しい
http://redmine.ruby-lang.org/issues/5314

Author: Taro MURAOKA
Status: Feedback
Priority: Normal
Assignee:
Category:
Target version:

Rubyは素晴らしいパッケージ(ライブラリ)が多いことが魅力の一つです。
その良さの維持には優れたパッケージマネージャが欠かせません。

しかしながら過去には代表的なパッケージマネージャ自身が
バージョンアップに伴い互換性を欠くという問題を起こしたケースがあり、
これではその魅力が損なわれてしまいます。

よって今後そうならないように、コアリリースに安定したパッケージマネージャを含め、
リリース期間中はその安定性を堅持することを提案いたします。

Issue #5314 has been updated by Taro MURAOKA.

Usaku NAKAMURA wrote:

Ruby 1.9には現在1.9.1および1.9.2という2つのバージョン系列が存在して
それぞれ保守されている(ことになっている)のですが、いずれにもrubygemsという
rubygemsというパッケージマネージャが同梱されていて、1.9.1の場合は
rubygems 1.3.1というバージョンが、1.9.2の場合は1.3.7というバージョンが、
それぞれ最初のリリースから現在までずっと維持されています。

これじゃ不満ってことでしょうか?

おおよそ満足なんですが話に聞くところだと

http://twitter.com/#!/mrkn/status/113504956631359488

rubygems側のバージョンアップに伴うリリースマネージメントが難しそうな印象を持ち
かつ報告しなければどうにも動かんよとのことだったので

http://twitter.com/#!/mrkn/status/113526845663756289

とりあえずは報告したという次第です。

Feature #5314: パッケージマネージャをコアリリースに含めて欲しい
http://redmine.ruby-lang.org/issues/5314

Author: Taro MURAOKA
Status: Feedback
Priority: Normal
Assignee:
Category:
Target version:

Rubyは素晴らしいパッケージ(ライブラリ)が多いことが魅力の一つです。
その良さの維持には優れたパッケージマネージャが欠かせません。

しかしながら過去には代表的なパッケージマネージャ自身が
バージョンアップに伴い互換性を欠くという問題を起こしたケースがあり、
これではその魅力が損なわれてしまいます。

よって今後そうならないように、コアリリースに安定したパッケージマネージャを含め、
リリース期間中はその安定性を堅持することを提案いたします。

$B>/[email protected]$1=q$-$^$9!#(B

In message [email protected]
on Tue, 13 Sep 2011 18:24:39 +0900,
Taro MURAOKA [email protected] wrote:

Issue #5314 has been updated by Taro MURAOKA.

http://www.kaoriya.net/blog/201109/20110913

$B%M%?85$H$7$F$O%3%3$G=q$$$?$h$&$K;d$NBN83$K4p$E$$$F$^$7$F!"$^$C$?$/(BRuby$B$N$;$$$G$O$J$$$N$G$9$,!"(B
(…snip…)
$B$=$b$=$bFH<+$N%Q%C%1!<%8%7%9%F%E*$JB&LL$r;}$D(B rubygems $B$H!"(B ($B$*$=$i$/(B)ports$B$d(B($B4V0c$$$J$/(B)pkgsrc$B$N$h$&$J!"$$$o$PHFMQE*$J(B $B%Q%C%1!<%8%7%9%F%[email protected]$O$h$m$7$/$J$$$H9M$($F$$$^$9!#(B

($B$*$=$i$/(B)ports$B$d(B($B4V0c$$$J$/(B)pkgsrc$B$G$O!“J#?t$N%P!<%8%g%s$N(B
$B%Q%C%1!<%8$r%$%s%9%H!<%k$9$k$H$$$C$?$3$H<+BN!”%Q%C%1!<%8$r(B
$B:[email protected]$9$kB&$KIiC4$,Bg$-$$LL$,$"$j$^$9!#[email protected]$O%P!<%8%g%s$K(B
$B4X78$J$/J|$j9~$a$k(Brubygems$B$H$N5wN%$,Bg$-$$$G$9!#(B

$B$^$?!"$$$:$l$b%$%s%9%H!<%k$9$k%U%!%$%k$N4IM}$H$$$C$?B&LL$G(B
$B$OFs=E$N:n6HE*$JItJ,$b$"$j$^$9!#(B($B$=$l$K$I$N$h$&$KBP=h$7$F$$(B
$B$k$+$O!"(Bports$B$H(Bpkgsrc$B$G$b0c$&$3$H$G$7$g$&!#(B)

$B$3$N$h$&$J:,K\E*$J>WFM$9$kItJ,$,$"$k$?$a!"(B

$B%Q%C%1!<%8%^%M!<%8%c$H%3%"$,L)@$K%j%j!<%9%^%M!<%8%a%s%H$5$l$F$$$l$P(B
$B;d$N$h$&$KIT9,$J;v>]$KAx6x$9$k3NN($O>-MhE*$K3JCJ$K2<$,$j!"(B
$B%Q%C%1!<%8%^%M!<%8%c!<$,$I$N$h$&$J$b$N$rA[Dj$5$l$F$$$k$+$^(B
$B$G:#0l$D;d$OM}2r$G$-$F$$$J$$$+5$$b$7$^$9$,!"4IM}$9$k%D!<%k(B
[email protected]$1$G2?$H$+$G$-$k$b$N$b$J$$5$$,$7$^$9!#(B

$B$J$!"%M%?85$NLdBj$G$9$,!"(Bredmine$B$N(Bports$B$O(Bruby-gems
1.8$B0J>e(B
$B$N%P!<%8%g%s$H$O(B conflict $B$9$k$H$$$C$?;XDj$K$9$Y$-$H$3$m$J$N(B
$B$G$7$g$&!#(B($B7k2LE
$K!"(Bredmine$B$N(Bports$B$r:[email protected]$G$-$J$/$J$j$^$9$,!"(B
$B%M%?85$N$h$&$J%+%?%9%H%m%U%#$OHr$1$i$l$?$+$b$7$l$^$;$s!#$^$?!"(B
ports$B$G0MB8$9$k%Q%C%1!<%8$N%P!<%8%g%s$NHO0O$N>e8B$b;XDj$G$-(B
$B$?$+$I$&$+3NG’$b$7$F$$$^$;$s!#(B)

$B$^$?!“2?$+%Q%C%1!<%8%^%M!<%8%c!<E*$J$b$N$,F3F~$5$l$k$K$7$F$b!”(B
$B30It$N%Q%C%1!<%8%7%9%F%`[email protected]$,9b$$J}8~$K;}$C$F9T$/$3$H$r(B
$B4uK>$7$^$9!#(B(Unlike python…)

$B0J>e$G$9!#(B($B>/[email protected]$1$K$J$i$J$+$C$?$+(B…$B!#(B)

Issue #5314 has been updated by Shota F…

Shyouhei U. wrote:

お気持ちは察するものの、portsで入れたredmineが動かなくなった件で責められるべきなのはportsかなあと思います。

rubygemsにはrubygemsの流儀があるわけです。rubygemsにおいて後方互換性が問題にならないのは、長所でもある。その流儀は、portsの流儀とは違うのでしょう。portsはよく知りませんが、rubygemsを抱え込む決断をしたのなら、rubygemsを「乗りこなしてみせる」必要があるんじゃないかなあ。

はい.同意見です.
Rubyコアチームが新たにパッケージマネージャを開発するにしても
Rubygemsが現在メジャーになってるわけですし,
rubygemsじゃないのを新たに開発したりするのはどうなんだかなあ,そこに人的リソースを割くメリットはあるのかなあ,
ってかんじです.

rubygemsはややこしい...
OSのパッケージマネージャーとの親和性は結構重要だったりするんだろうか?
(あまり困ってないからわからないのですが,複数サーバーをまとめて管理するときとかにラク?)

Feature #5314: パッケージマネージャをコアリリースに含めて欲しい
http://redmine.ruby-lang.org/issues/5314

Author: Taro MURAOKA
Status: Third Party’s Issue
Priority: Normal
Assignee:
Category:
Target version:

Rubyは素晴らしいパッケージ(ライブラリ)が多いことが魅力の一つです。
その良さの維持には優れたパッケージマネージャが欠かせません。

しかしながら過去には代表的なパッケージマネージャ自身が
バージョンアップに伴い互換性を欠くという問題を起こしたケースがあり、
これではその魅力が損なわれてしまいます。

よって今後そうならないように、コアリリースに安定したパッケージマネージャを含め、
リリース期間中はその安定性を堅持することを提案いたします。

$B$3$s$K$A$O!"$J$+$`$i(B($B$&(B)$B$G$9!#(B

In message “[ruby-dev:44495] [Ruby 1.9 - Feature #5314]
$B%Q%C%1!<%8%^%M!<%8%c$r%3%”%j%j!<%9$K4^$a$FM_$7$$(B"
on Sep.13,2011 18:30:14, [email protected] wrote:

$B$$$h$=K~B-$J$s$G$9$,OC$KJ9$/[email protected]$H(B

http://twitter.com/#!/mrkn/status/113504956631359488

rubygems$BB&$N%P!<%8%g%s%"%C%W$KH<$&%j%j!<%9%^%M!<%8%a%s%H$,Fq$7$=$&$J0u>]$r;}$A(B

$B$+$DJs9p$7$J$1$l$P$I$&[email protected]$C$?$N$G(B

http://twitter.com/#!/mrkn/status/113526845663756289

$B$H$j$"$($:$OJs9p$7$?$H$$$&<!Bh$G$9!#(B

$B$"$"!"$J$k$[$I!#$"$j$,$H$&$4$6$$$^$9!#(B

$B4pK\E*$K!“0lC6$”$k%P!<%8%g%s$N(BRuby($BNc$($P(B1.9.2)$B$,%j%j!<%9$5$l(B
$B$k$H!"$=$N8e$O;~!9$$$/[email protected]$7$?(B1.9.2-p100$B$H$+(B1.9.2
-p250$B$H$+!"$=$&$$$&46$8$G8e$m$K(B-pXXX$B$H$$$&$b$N$,$/$C$D$$$?(BRuby
$B$,%j%j!<%9$5$l$^$9!#(B
$B$G!"$3$N(B1.9.2-pXXX$B$N4V$O!"F1:-$5$l$k(Brubygems$B$N%P!<%8%g%s$OJQ(B
$B2=$7$J$$$O$:$J$N$G!"0U?^$;$6$k%P%0$N:.F~0J30$G$OHs8_49$OH/@8(B
$B$7$J$$$O$:$G$9!#(B

mrkn$B$5$s$O%3%%C%?$J$N$G3+H/[email protected][email protected]$C$F$*$i$l$k(B
$B$o$1$G$9$,!"<B:]$N%j%j!<%9$,9T$o$l$J$$8B$j0lHL%f!<%6!<$K$H$C(B
$B$F$OL51o$N$I$&[email protected]$3&$NOC$G$7$F!":$$k$N$O%3%
%C%?$H$4$/(B
$B>/?t$N4qFC$J%R%H%P%7%i!<[email protected]$1$N$O$:$G$9!#(B
$B$3$N?M$?$A$O<+$iK>$s$G9%$s$G$3$N<j$N6lO+(B($B$J$N$+$J$"(B?)$B$r$7$g$$(B
$B$3$s$G$k$O$:$J$N$G!"6rCT$C$][email protected]$C$F$$$?$H$7$F$b<B:]$O(B
$B%K%d%K%d$7$F$k$O$:$G$9(B :slight_smile:

$B$=$l$G$O!#(B

Issue #5314 has been updated by Shyouhei U…

Status changed from Feedback to Third Party’s Issue

お気持ちは察するものの、portsで入れたredmineが動かなくなった件で責められるべきなのはportsかなあと思います。

rubygemsにはrubygemsの流儀があるわけです。rubygemsにおいて後方互換性が問題にならないのは、長所でもある。その流儀は、portsの流儀とは違うのでしょう。portsはよく知りませんが、rubygemsを抱え込む決断をしたのなら、rubygemsを「乗りこなしてみせる」必要があるんじゃないかなあ。

Feature #5314: パッケージマネージャをコアリリースに含めて欲しい
http://redmine.ruby-lang.org/issues/5314

Author: Taro MURAOKA
Status: Third Party’s Issue
Priority: Normal
Assignee:
Category:
Target version:

Rubyは素晴らしいパッケージ(ライブラリ)が多いことが魅力の一つです。
その良さの維持には優れたパッケージマネージャが欠かせません。

しかしながら過去には代表的なパッケージマネージャ自身が
バージョンアップに伴い互換性を欠くという問題を起こしたケースがあり、
これではその魅力が損なわれてしまいます。

よって今後そうならないように、コアリリースに安定したパッケージマネージャを含め、
リリース期間中はその安定性を堅持することを提案いたします。

In message [email protected]
on Tue, 13 Sep 2011 18:49:18 +0900,
Shota F. [email protected] wrote:

rubygems$B$O$d$d$3$7$$!%!%!%(B
$BF146!#(B

OS$B$N%Q%C%1!<%8%^%M!<%8%c!<[email protected][email protected][email protected]$m$&$+(B?
($B$"$^$j:$$C$F$J$$$+$i$o$+$i$J$$$N$G$9$,!$J#?t%5!<%P!<$r$^$H$a$F4IM}$9(B
$B$k$H$-$H$+$K%i%/(B?)
$B>/$J$/$H$b%P%$%J%j%Q%C%1!<%8$r;H$($P!"%3%s%Q%$%i$N$J$$%^%7%s$K$b(B
$B$5$/$C$H%$%s%9%H!<%k$G$-$^$9!#(B($B$b$A$m$s!"%3%s%Q%$%k:Q$_$N%P%$%J(B
$B%j$r4^[email protected](Bgem$B$r:n$l$P$$$$$G$9$,!“B?$/$N(BOS$B$KBP1~$7$?$$>l9g$O$J$+(B
$B$J$+Fq$7$$LL$b$”$k$G$7$g$&!#(B)

Issue #5314 has been updated by Yui NARUSE.

意外と事実関係が複雑なのでまずまとめますと、

ports の元の状態はこうでした。

  • lang/ruby18 (1.8.7)
  • devel/ruby-gems (1.7.1 or 1.7.2)
  • www/redmine
    で、Rails は 2.3.11 が www/redmine に同梱されていました。

で、最近 /usr/local/bin/ruby の座が 1.9 に明け渡されたり、www/rubygems-rails が 3
になったりしてるんですがそれは関係なくて、
devel/rubygems が 1.8.7 になったことが原因です。

RubyGems では 1.8.5 において互換性を破壊する変更がなされており、件の Rails 2.3.11 が動かなくなりました。
http://blog.majesticseacreature.com/summary-of-rubygems-18-breakage-reports
なお、これは Rails 等 gems のユーザ側が追従しています。

これによって redmine も影響を受けて動かなくなったというのが今回の問題です。
(なので、パッケージマネージャ同士の衝突は今回あんまり問題ではなく、単純にライブラリとしての RubyGems の問題)

わたしが思うに今回の件で改善すべきものがあるとすれば、

  • ports の www/redmine は devel/ruby-gems に依存する必要がある
  • www/redmine 同梱の rails を 2.3.14 に上げる
  • RubyGems は 1.8.5 みたいな中途半端なバージョンで非互換の変更を入れるな
    あたりですかね。

一方で、村岡さんのおっしゃる「パッケージマネージャとコアが密接にリリースマネージメントされていれば」というのは、
ちょっと問題がありまして、Ruby のリリースは1年~2年に一度なのです。
これはリソースが足りないという以外に、

  • リリースごとに互換性がすこしずつ壊れるのでブランチのメンテがどちらにしろ必要
  • ブランチのメンテではバグ修正以外はしない
    というポリシーの違いに起因している面も大きいので、やっぱりレイヤーが違うんじゃないかなぁと思いますね。

ま、根源的な問題として、RubyGems はパッケージマネージャのくせに頻繁にバージョンアップしすぎなんですよ(ぉぃ

Feature #5314: パッケージマネージャをコアリリースに含めて欲しい
http://redmine.ruby-lang.org/issues/5314

Author: Taro MURAOKA
Status: Third Party’s Issue
Priority: Normal
Assignee:
Category:
Target version:

Rubyは素晴らしいパッケージ(ライブラリ)が多いことが魅力の一つです。
その良さの維持には優れたパッケージマネージャが欠かせません。

しかしながら過去には代表的なパッケージマネージャ自身が
バージョンアップに伴い互換性を欠くという問題を起こしたケースがあり、
これではその魅力が損なわれてしまいます。

よって今後そうならないように、コアリリースに安定したパッケージマネージャを含め、
リリース期間中はその安定性を堅持することを提案いたします。

sora_h$B$G$9!%(B

2011/9/13 Takahiro K. [email protected]:

$B>/$J$/$H$b%P%$%J%j%Q%C%1!<%8$r;H$($P!"%3%s%Q%$%i$N$J$$%^%7%s$K$b(B
$B$5$/$C$H%$%s%9%H!<%k$G$-$^$9!#(B($B$b$A$m$s!"%3%s%Q%$%k:Q$_$N%P%$%J(B
$B%j$r4^[email protected](Bgem$B$r:n$l$P$$$$$G$9$,!“B?$/$N(BOS$B$KBP1~$7$?$$>l9g$O$J$+(B
$B$J$+Fq$7$$LL$b$”$k$G$7$g$&!#(B)

$B$"!<!$$J$k$[$I!%$=$l$O3N$+$K(B

Issue #5314 has been updated by Taro MURAOKA.

ココまでの説明だとなかむら(う)さんの
「リリースでは今後は(パッケージマネージャ絡みの)問題は起こらんから安心しろ」
が一番納得がいきます。

私も最初は聞かされた時はそうなるもんだと思いましたから

ただcommitterの方からそうではないんだよという話と、
チケットに残さないと忘れられるだけだよという指摘をいただいたので
こちらで提案したのです。

ま、根源的な問題として、RubyGems はパッケージマネージャのくせに頻繁にバージョンアップしすぎなんですよ(ぉぃ

だったら首根っこ押さえちゃえば良いじゃん、と思いましたw

バイナリ配布という視点では、
MacOSXとWindows版があれば大方のユーザはカバーできそうですが。

ていうか昔、Ruby公式がそれらのバイナリ配ってなくて困った記憶があります


Feature #5314: パッケージマネージャをコアリリースに含めて欲しい
http://redmine.ruby-lang.org/issues/5314

Author: Taro MURAOKA
Status: Third Party’s Issue
Priority: Normal
Assignee:
Category:
Target version:

Rubyは素晴らしいパッケージ(ライブラリ)が多いことが魅力の一つです。
その良さの維持には優れたパッケージマネージャが欠かせません。

しかしながら過去には代表的なパッケージマネージャ自身が
バージョンアップに伴い互換性を欠くという問題を起こしたケースがあり、
これではその魅力が損なわれてしまいます。

よって今後そうならないように、コアリリースに安定したパッケージマネージャを含め、
リリース期間中はその安定性を堅持することを提案いたします。