
file
bug
There's an old bug in `file` which means it can't read certain files under a non-C locale. This has been fixed upstream for some time, but Apple hasn't picked that fix up & even on OS X El Capitan the `file` is ancient. This is currently causing a lot of false positives in our bottle code around relocating things like manpages translated into non-English languages, because currently the test does: ``` pn = "/usr/local/Cellar/vim/7.4.2109/share/man/fr/man1/vim.1" Utils.popen_read("/usr/bin/file", "--brief", pn).include?("text") ``` Which returns `false`. But it isn't returning `false` because the actual result is false, but because `file` panics & fails, which for us equals a `false`. The actual output when accessed is: ``` pn = "/usr/local/Cellar/vim/7.4.2109/share/man/fr/man1/vim.1" Utils.popen_read("/usr/bin/file", "--brief", pn) "ERROR: line 22: regexec error 17, (illegal byte sequence)\n" ``` Forcing this check to be done under a "C" locale eliminates this particular false positive for strings we can't relocate & consequently things such as NLS may prove to be more portable in some formulae than is currently the case. Using `vim` again for the example: ``` pn = "/usr/local/Cellar/vim/7.4.2109/share/man/fr/man1/vim.1" Utils.popen_read("/usr/bin/file", "--brief", pn).include?("text") true ``` This reduces the flagged strings from `vim` from 4 issues to 2, the remaining two with the `vim` executable itself which "remembers" the full path to perl, python, ruby, etc during build & vomits that information out when requested by the user. Both the manpages flagged before this change are no longer flagged as unrelocatable. This won't entirely resolve the NLS problem because some things hardcode in a locale path, which will be stored in the executable, but at the very least it should reduce the number of false positives & may enable relocation where that locale path hasn't been burnt in.
Homebrew
Features, usage and installation instructions are summarised on the homepage.
What Packages Are Available?
- Type
brew search
for a list. - Or visit braumeister.org to browse packages online.
- Or use
brew search --desc <keyword>
to browse packages from the command line.
More Documentation
brew help
, man brew
or check our documentation.
Troubleshooting
First, please run brew update
and brew doctor
.
Second, read the Troubleshooting Checklist.
If you don't read these it will take us far longer to help you with your problem.
Contributing
We'd love you to contribute to Homebrew. First, please read our Contribution Guide and Code of Conduct.
We explicitly welcome contributions from people who have never contributed to open-source before: we were all beginners once! We can help build on a partially working pull request with the aim of getting it merged. We are also actively seeking to diversify our contributors and especially welcome contributions from women from all backgrounds and people of colour.
A good starting point for contributing is running brew audit
(or brew audit --strict
) with some of the packages you use (e.g. brew audit wget
if you use wget
) and then read through the warnings, try to fix them until brew audit
shows no results and submit a pull request. If no formulae you use have warnings you can run brew audit
without arguments to have it run on all packages and pick one. Good luck!
Security
Please report security issues to security@brew.sh.
This is our PGP key which is valid until May 24, 2017.
- Key ID:
0xE33A3D3CCE59E297
- Fingerprint:
C657 8F76 2E23 441E C879 EC5C E33A 3D3C CE59 E297
- Full key: https://keybase.io/homebrew/key.asc
Who Are You?
Homebrew's current maintainers are Misty De Meo, Andrew Janke, Xu Cheng, Tomasz Pajor, Mike McQuaid, Baptiste Fontaine, Brett Koonce, ilovezfs, Martin Afanasjew, Dominyk Tiller, Tim Smith and Alex Dunn.
Former maintainers with significant contributions include Jack Nagel, Adam Vandenberg and Homebrew's creator: Max Howell.
License
Code is under the BSD 2 Clause (NetBSD) license. Documentation is under the Creative Commons Attribution license.
Donations
Homebrew is a non-profit project run entirely by unpaid volunteers. We need your funds to pay for software, hardware and hosting around continuous integration and future improvements to the project. Every donation will be spent on making Homebrew better for our users.
Homebrew is a member of the Software Freedom Conservancy which provides us with an ability to receive tax-deductible, Homebrew earmarked donations (and many other services). Software Freedom Conservancy, Inc. is a 501(c)(3) organization incorporated in New York, and donations made to it are fully tax-deductible to the extent permitted by law.
- Donate with PayPal
- Donate by USA $ check from a USA bank:
- Make check payable to "Software Freedom Conservancy, Inc." and place "Directed donation: Homebrew" in the memo field. Checks should then be mailed to:
- Software Freedom Conservancy, Inc. 137 Montague ST STE 380 BROOKLYN, NY 11201 USA
- Make check payable to "Software Freedom Conservancy, Inc." and place "Directed donation: Homebrew" in the memo field. Checks should then be mailed to:
- Donate by wire transfer: contact accounting@sfconservancy.org for wire transfer details.
- Donate with Flattr or PayPal Giving Fund: coming soon.
Sponsors
Our CI infrastructure was paid for by our Kickstarter supporters.
Our CI infrastructure is hosted by The Positive Internet Company.
Our bottles (binary packages) are hosted by Bintray.
Secure password storage and syncing provided by 1Password for Teams by AgileBits
Homebrew is a member of the Software Freedom Conservancy