homebrew-core/CONTRIBUTING.md
2019-01-25 00:33:05 +01:00

2.5 KiB

Contributing to Homebrew

First time contributing to Homebrew? Read our Code of Conduct.

To report a bug

To submit a version upgrade for the foo formula

  • check if the same upgrade has been already submitted by searching the open pull requests for foo.
  • brew bump-formula-pr --strict foo with --url=... and --sha256=... or --tag=... and --revision=... arguments.

To add a new formula for foo version 2.3.4 from $URL

  • read the Formula Cookbook or: brew create $URL and make edits
  • brew install --build-from-source foo
  • brew audit --new-formula foo
  • git commit with message formatted foo 2.3.4 (new formula)
  • open a pull request and fix any failing tests

To contribute a fix to the foo formula

If you are already well versed in the use of git, then you can find the local copy of the homebrew-core repository in this directory ($(brew --prefix)/Homebrew/Library/Taps/homebrew/homebrew-core/), modify the formula there leaving the section bottle do ... end unchanged, and prepare a pull request as you usually do. Before submitting your pull request, be sure to test it with these commands:

brew uninstall --force foo
brew install --build-from-source foo
brew test foo
brew audit --strict foo

After testing, if you think it is needed to force the corresponding bottles to be rebuilt and redistributed, add a line of the form revision 1 to the formula, or add 1 to the revision number already present.

If you are not already well versed in the use of git, then you may learn about it from the introduction at https://docs.brew.sh/How-To-Open-a-Homebrew-Pull-Request and then proceed as follows:

  • run brew edit foo and make edits
  • leave the section bottle do ... end unchanged
  • test your changes using the commands listed above
  • run git commit with message formatted foo <insert new version number> or foo: <insert details>
  • open a pull request as described in the introduction linked to above, wait for the automated test results, and fix any failing tests

Thanks!