プロジェクト

全般

プロフィール

提案 #1330

完了

使用しているライブラリのバージョンを上げる

Izumi Tsutsui さんがほぼ5年前に追加. ほぼ5年前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
プラグイン名:

説明

2019/1/18 という少し前ですが、
addressable の gem の 2.6.0 がリリースされています。
https://github.com/sporkmonger/addressable/blob/addressable-2.6.0/CHANGELOG.md

mikutter および diva の gem だと、 addressable に対して以下の通り 2.6 未満の指定がされています。

source:Gemfile@a899bf32#L15

  gem 'addressable', '>= 2.5.2', '< 2.6'

https://github.com/toshia/diva/blob/v0.3.2/diva.gemspec#L27

 spec.add_dependency "addressable", ">= 2.5", "< 2.6"

addressable gem のコミットログを見る限り、
2.5.2 → 2.6.0 へ minor バージョンが上げられたのは
ruby 2.6 サポートと bundle 2.x のサポートという気がします。
過去の minor bump を見ても ruby のバージョン絡みのみっぽいので、
とりあえず <3.0 指定でもいいんじゃないかという気がします。

手元で試したところでは mikutter 3.8.7 + diva 0.3.2 で
addressable 2.6.0 でもTLを眺めるのに支障がないくらいには
動いているようです。
(addressable gem がどこで参照されるのかを把握していない)

……という方針のパッチをとりあえず添付します。
0001-Relax-required-version-of-addressable-gem.patch


ファイル


関連するチケット

コピー先 提案 #1400: addressable gem 2.7.0 対応終了操作

toshi_a 初音 さんがほぼ5年前に更新

  • ステータス分類待ち から パッチ適用待ち に変更
  • 対象バージョン3.9 にセット

一応、mikutter 3.8にはRuby 2.6の対応は入っていないので(使ってるけど)、影響範囲なども考えて3.9に適用したいと思います。

Izumi Tsutsui さんがほぼ5年前に更新

念のため(?) diva の issue も立てました(プルリクにしろと怒られる)
https://github.com/toshia/diva/issues/3

toshi_a 初音 さんがほぼ5年前に更新

そうですね、せっかくなので全てのGemのバージョンを上げたいと思います。対象は3.9からです。

toshi_a 初音 さんがほぼ5年前に更新

  • ステータスパッチ適用待ち から レビュー待ち に変更
  • 担当者Izumi Tsutsui にセット
  • ブランチtopic/1330-update-gems にセット

全てのGemに対応することにしたので、頂いたパッチを使わず、Addressableを含む全てのgemのバージョンを問題ない範囲で引き上げました。
また、Delayer、Delayer Deferred、Pluggaloid、Divaも、mikutter 3.9にあわせてリリースしようとしていたものをリリースし、要求するようにしています。
これらのGemがRuby 2.4以上を要求しているため、3.9で実施予定だったRubyの最低動作要件をRuby 2.4にするやつも同時に行いました。

ちゃんと動作しているかは今後経過観察をするとして、バージョンの変化に寄ってパッケージするときに厳しいといったことがあれば教えてください。

toshi_a 初音 さんがほぼ5年前に更新

  • 題名addressable gem 2.6.0 対応 から 使用しているライブラリのバージョンを上げる に変更

Izumi Tsutsui さんがほぼ5年前に更新

  • ステータスレビュー待ち から マージ待ち に変更

バージョン記載更新のパッチ自体は問題ありません。


以下は まとまってないけど将来の参照用に書いておく、というメモ:

パッケージシステムの場合、
mikutter 自身の Gem バージョン指定が実行時にチェックされることはなくて
単に情報として扱われるだけだと思います。
(pkgsrc ではコミットする人が目視確認しているだけ)

なので、
「特定の Gem のバージョンに依存する機能を使っているかどうか」がわかるかどうか、
つまり、
「新たな Gem依存機能のコミットとバージョン記載のコミットがセット」だとわかりやすい、
というくらいです。バージョンが変わること自体が問題になることはそれほどありません。

実際には、gtk2 のように
「とりあえず(bundler 等で取得する場合を考慮して)バグの少なそうな最新を書く」
という場合も多いので難しいのですが、
実行時チェックはないのでとりあえずあとで考えることは可能。

問題は diva や pluggaloid のような gem の場合です。
gem の場合はバージョン依存が実行時にチェックされるので、
テキトーにやると起動すらしなくなってしまいます。
なので、事前に依存記載をチェックして対応する gem もパッケージシステムで更新しておく
(もしくは gem の依存関係記述をパッケージシステムで持っているバージョンで上書きする)
といった作業が発生します。
addressable は diva gem に絡むので、そちらの作業がやや重い、というくらいです。

https://speakerdeck.com/tsutsui/mikutter-nagoya-2018
の 14〜17ページも参照。

Izumi Tsutsui さんがほぼ5年前に更新

https://speakerdeck.com/tsutsui/mikutter-nagoya-2018
の 14〜17ページも参照。

#1145#note-4 に似たようなことを書いてました……(鶏頭)

toshi_a 初音 さんがほぼ5年前に更新

  • ステータスマージ待ち から 終了 に変更

merged.

Izumi Tsutsui さんが4年以上前に更新

  • コピー先 提案 #1400: addressable gem 2.7.0 対応 を追加

他の形式にエクスポート: Atom PDF