Skip to content
This repository has been archived by the owner on Nov 15, 2024. It is now read-only.

Latest commit

 

History

History
72 lines (52 loc) · 3.72 KB

CONTRIBUTING.md

File metadata and controls

72 lines (52 loc) · 3.72 KB

Contributing to Linuxbrew

Linuxbrew is a fork of Homebrew. Homebrew is merged into Linuxbrew roughly once per day. To contribute a new formula or a new version of an existing formula, please submit your pull request to Homebrew rather than to Linuxbrew. Patches to fix issues that you have reproduced on both Linuxbrew and Homebrew should be sent to Homebrew. Please send your pull request to Linuxbrew if you are in doubt.

Patches to fix issues particular to Linux should not affect the behaviour of the formula on Mac. Use if OS.mac? and if OS.linux? as necessary to preserve the existing behaviour on Mac.

Contributing to Homebrew

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

Ensure your commits follow the commit style guide.

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 one of the following:
    • --url=... and --sha256=...
    • --tag=... and --revision=...
    • --version=...

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

Once you've addressed any potential feedback and a member of the Homebrew org has approved your pull request, the BrewTestBot will automatically merge it a couple of minutes later.

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 --repository homebrew/core). Modify the formula there using brew edit foo 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
brew style 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
  • remove the linux bottle in the bottle do ... end section
  • 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

Once you've addressed any potential feedback and a member of the Homebrew org has approved your pull request, the BrewTestBot will automatically merge it a couple of minutes later.

Thanks!