LoginSignup
4
4

More than 5 years have passed since last update.

Homebrewにプルリクを投げる

Last updated at Posted at 2014-04-30

Homebrewにプルリクを投げる

最近Ruby-GNOME2の開発をOSXでもできたら便利だなぁという事でちまちまとOSXでテストが動くかどうかを見てました。

Homebrewで依存パッケージを入れる

$ brew install gtk2
$ brew install poppler
$ brew install clutter

なんかをすれば大体のものは入ります。

が!

しかしですよ、HomebrewのFormulaを見ると

 def install
    args = %W[
      ...
      --disable-introspection
    ]

のように、gobject-introspectionを無効にしているオプションが与えられているじゃ有りませんか!

これはよくないという事でプルリクをいくつかしてみました。
いくつかやってみて、こんな感じでプルリクすると良いかも!
という軽めのまとめです。

プルリクするときの注意点

  • HomebrewのJenkinsのテストが通る状態にすること
  • プルリクは細かく
  • bottleのブロックは消さない
  • 文字列は"(二重引用符)で囲う
  • パッチを当てる際にはupstream(開発元)に報告した上で当てる

くらいでしょうか。

まず、HomebrewのJenkinsのテストが通る状態にすること。これは大前提です。HomebrewではCIをJenkinsで行っていて、これに成功するものを重点的に見ているようです。(通ってなくても見てはくれますが、優先度は低くなります)

プルリクは細かく。これは複数Formulaのプルリクはできるだけ控える、という事に限ります。3つのFormulaの変更を同時にプルリクに含めたら分割してほしいと言われました。。。

bottleのブロックは消さない。これはJenkinsのCIを通す事を優先で消してしまいがちですが、ダメです。Homebrewのbottleの更新はbotがコミットしていて、bottleブロックを消すとそのbotが検知出来ないので消さないで下さい。(これは消すなと怒られました…すいませんでした)

文字列は二重引用符で囲う事が今のHomebrewのFormulaのスタイルガイドでは推奨されているようです。(これはプルリクを行う際に読むと良いですよ、というサジェストが出てきます)

パッチを当てる際にはupstream(開発元)に報告した上で当てる。敷居が一番高いのはおそらくこれです。patch :DATAとしてパッチを当てる仕組みがhomebrewには有りますが、これをするにはupstreamへの報告が必須です。報告してないと'Has this been submitted upstream?'とか 'Has this issue been reported upstream?' とか聞かれます。おとなしく報告しましょう…

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4