Project

General

Profile

Actions

提案 #1330

closed

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

Added by Izumi Tsutsui over 5 years ago. Updated over 5 years ago.

Status:
終了
Priority:
通常
Assignee:
Target version:
プラグイン名:

Description

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


Files


Related issues

Copied to 提案 #1400: addressable gem 2.7.0 対応終了Actions
Actions #1

Updated by toshi_a 初音 over 5 years ago

  • Status changed from 分類待ち to パッチ適用待ち
  • Target version set to 3.9

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

Actions #2

Updated by Izumi Tsutsui over 5 years ago

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

Actions #3

Updated by toshi_a 初音 over 5 years ago

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

Actions #4

Updated by toshi_a 初音 over 5 years ago

  • Status changed from パッチ適用待ち to レビュー待ち
  • Assignee set to Izumi Tsutsui
  • ブランチ set to 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にするやつも同時に行いました。

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

Actions #5

Updated by toshi_a 初音 over 5 years ago

  • Subject changed from addressable gem 2.6.0 対応 to 使用しているライブラリのバージョンを上げる
Actions #6

Updated by Izumi Tsutsui over 5 years ago

  • Status changed from レビュー待ち to マージ待ち

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


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

パッケージシステムの場合、
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ページも参照。

Actions #7

Updated by Izumi Tsutsui over 5 years ago

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

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

Actions #8

Updated by toshi_a 初音 over 5 years ago

  • Status changed from マージ待ち to 終了

merged.

Actions #9

Updated by Izumi Tsutsui almost 5 years ago

  • Copied to 提案 #1400: addressable gem 2.7.0 対応 added
Actions

Also available in: Atom PDF