Text
Page: 1
Rubyの配布パッケージの変遷 Kazuhiro NISHIYAMA 株式会社Ruby開発 2026-05-22 Powered by Rabbit 4.0.1
Page: 2
self.introduction 西山 和広 github など: @znz Ruby のコミッター 1/12
Page: 3
Rubyの配布パッケージとは? 今回の話では https://cache.ruby-lang.org/pub/ruby/ で配布され ている tar.gz などのアーカイブファイルのこと https://www.ruby-lang.org/en/news/ でのアナウンスで正式リ リース アナウンス前にファイルが見えても変わる可能性あり 今は3形式 tar.gz tar.xz zip 2/12
Page: 4
最初は tar.gz だけ matz がリリースしていた頃からの慣習で昔は tar.gz のみ 2007-03-13 1.8.6 で tar.bz2 と zip が増えた tar.bz2 : サイズが小さいので帯域節約のため tar.gz, zip : 利便性のため 詳細は [ruby-dev:30562] あたりのスレッドを参照 https://blade.ruby-lang.org/ruby-dev/30562 3/12
Page: 5
tool/make-snapshot 2007-12-26 1.9.0-0 の前あたりからアーカイブ作成が tool/ make-snapshot というスクリプト化 4/12
Page: 6
小ネタ zip の作成に 7z があれば優先して使うようにした zip コマンドより 7z の方が圧縮率が良かったため 5/12
Page: 7
tar.xz 対応追加 IRC で tar.xz の方が小さいのであると良さそうという話が何度 か出ていた ここで 1.8 非対応になりつつ xz 対応 直接のきっかけのやりとりはみつからず commit 944ff17f8a64092c80131afe2d0ce467b3cacce4 Author: Nobuyoshi Nakada <nobu@...> Date: Tue May 13 10:09:41 2014 +0000 make-snapshot: support xz * tool/make-snapshot (package): support xz. 1.8 or earlier. no longer runs with git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e 6/12
Page: 8
tar.xz リリース リリースパッケージとしては以下から 2014-09-19 2.0.0-p576 (from ruby_2_0_0) 2014-09-19 2.1.3 (from ruby_2_1) 2014-10-27 1.9.3-p550 (from ruby_1_9_3) (ruby 2.2 は最初から) (cache.ruby-lang.org は 2015-07-25 になってしまっていたので、 日付は https://gist.github.com/unak/3038095 から) 7/12
Page: 9
tar.bz2 削除 それぞれの形式の目的 tar.bz2, tar.xz : サイズが小さいので帯域節約のため tar.gz, zip : 利便性のため bz2 より xz の方がサイズが小さく展開も速い xz はまだ (当時) 標準でインストールされていない Linux 環境もあった 互換性しか残す理由がない 8/12
Page: 10
3.0 から tar.bz2 なし How about stopping new *.tar.bz2 releases? https://bugs.ruby-lang.org/issues/16483 で提案して 2020-12-08 3.0.0-preview2 から tar.bz2 なし preview1 には間に合わなかった 9/12
Page: 11
bz2 削除対応 https://github.com/ruby/actions のアーカイブ作成の GitHub Action での対応 バージョンをみて tar.bz2 を除外するオプションを tool/make-snapshot に 指定 https://github.com/rbenv/ruby-build などの外部への影響もあった 10/12
Page: 12
最近の追加対応 アーカイブ作成の GitHub Action が https://github.com/ruby/ruby に移植された tar.bz2 対応が残っていたが今は 3.3 以降のみサポートなので不要 対応コードを削除 11/12
Page: 13
まとめ Ruby のリリースアーカイブ形式 tar.gz のみ → tar.bz2, zip 追加 → tar.xz 追加 → tar.bz2 削除 追加は簡単 削除は大変 関係者との調整 影響範囲の考慮 tar.zst (Zstandard) の追加はどうかなと思ったことがあるけど、 削除の大変さを考えると気軽に追加提案はできなくなってし まった (圧縮率も xz を置き換えるほどではない) Powered by Rabbit 4.0.1 12/12