Homebrew にコントリビュートした
あらすじ
前回、 naoty/todo というツールを Homebrew で配布しようとしたときにとある問題にハマった。 todo
という名前を持つファイルが README.md
や LICENSE
のようなメタファイルとして判断されエラーが起きてしまうという問題だった。
Homebrew に Pull request を送った
Exclude executables from metafiles by naoty · Pull Request #2106 · Homebrew/brew · GitHub
前回は、メタファイルではない適当な名前の空ファイルを置いてこの問題を回避していたが、なんというか負けな気がしてきたので、 Homebrew に Pull request を送った。前回、コードを読んで何が原因なのかは把握していたので、修正すべきポイントもおおよそ見当がついていた。
当初は実行ファイルであればメタファイルではないという方針で Pull request を送ってみたが、パーミッションが正しく付与されていないものも稀にあるらしかった。そこで、コミッターのアドバイスを基にメタファイルは keg のルートディレクトリにしか存在しないだろうという前提で修正し、無事に merge された。
この修正によって、 todo
, changelog
, license
といったメタファイルっぽい実行ファイルを配布したいときに Empty installation
エラーによって失敗することはなくなった。また一つ、世界が便利になった。