トップ «前の日記(2025/02/06 (木) ) 最新 次の日記(2025/02/08 (土) )» 編集 RSS feed

HsbtDiary


2025/02/07 (金) [長年日記]

net-smtp がまた壊れていた

dependency が消えてしまうやつを直してひと段落、と思いきや net-smtp 0.5.1 と Ruby の head で require "net/smtp" が失敗するという報告が byroot などから来ていて「そんなことってある?」と調べてみたら確かにインストール先のディレクトリが空になっていた。

そういやこの症状は https://github.com/rubygems/rubygems/issues/8456 でみたような、ということでちゃんと深追いしたら確かに再現した。これ、多分僕と nobu しかわからないと思うけど、bundled gems をインストールする時には複数の gemspec を選択した上に、その gemspec を書き換えて ruby はインストールするということをしている。

で、net-smtp は dependency が消えてしまうという問題を解決するために 取り出す gemspec を想定通りのものになるようにしたのだが、これによって以下のようなケースが起きていた

  • 想定通りの gemspec を使うと Ruby 3.4/head で net-smtp の中身が空になる、gemspec は正しい
  • 想定していない gemspec (今のリリースバージョン)を使うと net-smtp の中身は正しいが dependency が消える

この2つ目が曲者で、今回は https://github.com/ruby/ruby/pull/12708 として直したんだけど、原理的には同じ内容の gemspec なら中身が空っぽになるところが、想定していない gemspec の位置と spec.files に指定されている git ls-files コマンドがたまたまうまくマッチして net-smtp の中身が入ってた、ということだった。

使う gemspec を想定通りのものにする、想定通りの gemspec が使われた時に file の中身が入るようにする、という2段で直したので今度は大丈夫なはず。

パナソニック汐留美術館でル・コルビュジエ展を見てきた

オフィスに行く用事があったので、昼飯ついでに新橋に行ってパナソニック汐留美術館に行ってきた。今やっている展示はル・コルビュジエ展で、建築よりは主に絵画を中心に発想がどのように生まれたか、というのを深掘りする内容でなかなかよかった。ただ、めちゃくちゃ狭くて、それほど人は多くないはずなのに窮屈だったなあ。

昼食は近くにあるインド料理の店でチキンビリヤニ。ごちそうさまでした。