Homebrew-core: Presence of Bazel formula in core is confusing

Created on 16 Jan 2019  路  6Comments  路  Source: Homebrew/homebrew-core

Please note we will close your issue without comment if you delete, do not read or do not fill out the issue checklist below and provide ALL the requested information. If you repeatedly fail to use the issue template, we will block you from ever submitting issues to Homebrew again.

  • [x] are reporting a bug others will be able to reproduce and not asking a question or requesting software. If you're not sure or want to ask a question do so on our Discourse: https://discourse.brew.sh. To get software added or changed in Homebrew please file a Pull Request
  • [x] have a problem with brew install (or upgrade, reinstall) a single, official formula (not cask)? If it's a general brew problem please file this issue at Homebrew/brew: https://github.com/Homebrew/brew/issues/new/choose. If it's a brew cask problem please file this issue at https://github.com/Homebrew/homebrew-cask/issues/new/choose. If it's a tap (e.g. Homebrew/homebrew-php) problem please file this issue at the tap.
  • [x] ran brew update and can still reproduce the problem?
  • [x] ran brew doctor, fixed all issues and can still reproduce the problem?
  • [x] ran brew gist-logs <formula> (where <formula> is the name of the formula that failed) and included the output link?
  • [x] if brew gist-logs didn't work: ran brew config and brew doctor and included their output with your issue?

To help us debug your issue please explain:

  • What you were trying to do (and why)
    Install the officially supported Bazel formula
  • What happened (include command output)
    Installed a community supported formula
  • What you expected to happen
    Install the officially supported formula
  • Step-by-step reproduction instructions (by running brew install commands)
    brew install bazel
outdated

Most helpful comment

It is consistent with the Homebrew experience: _unless you install a specific tap_, the software you install when you type brew install foo is that maintained by the Homebrew community. The situation is true for a lot of other software, where there are other official means of distribution (tap, website, etc.). There is nothing specific to Bazel here.

We are keeping Bazel in Homebrew core because other formulas depend on it. We offered the upstream developers the option of helping us maintain the Homebrew core formula, and they declined.

(See #33484 for details)

All 6 comments

$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
  node

Warning: Your Homebrew's prefix is not /usr/local.
You can install Homebrew anywhere you want but some bottles (binary packages)
can only be used with a standard prefix and some formulae (packages)
may not build correctly with a non-standard prefix.
$ brew gist-logs bazel
https://gist.github.com/b2f177a7eca62c35a6a3529c0a1d42d9

Note the logs relate to the tap formula not the core formula, even though the core formula was the one I tried to install last, even though it failed. Maybe because missing dependencies cause it to fail before starting to build? (see #36049)

The officially supported homebrew formula is in the Bazel tap, but the presence of a formula in homebrew core with the name bazel makes it easy to assume it's the officially supported one. Would it make sense to either remove the formula so a person trying to install it would look at instructions on the website, or include a message either post or pre install to warn the person trying to install it of the possible mistake they're making?

It is consistent with the Homebrew experience: _unless you install a specific tap_, the software you install when you type brew install foo is that maintained by the Homebrew community. The situation is true for a lot of other software, where there are other official means of distribution (tap, website, etc.). There is nothing specific to Bazel here.

We are keeping Bazel in Homebrew core because other formulas depend on it. We offered the upstream developers the option of helping us maintain the Homebrew core formula, and they declined.

(See #33484 for details)

We are keeping Bazel in Homebrew core because other formulas depend on it. We offered the upstream developers the option of helping us maintain the Homebrew core formula, and they declined.

That doesn't seem like a fair characterization of what happened. We (bazel) are required to ship our official releases with a specific embedded jdk. Homebrew doesn't allow shipping binary dependencies in formulas. These two requirements aren't compatible and so there isn't much we can do about that. We'd be happy to not maintain our own tap and only be in homebrew core if it's somehow possible to meet these two requirements.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

oli-laban picture oli-laban  路  3Comments

ghost picture ghost  路  3Comments

ralexx picture ralexx  路  4Comments

dredmorbius picture dredmorbius  路  3Comments

bantl23 picture bantl23  路  3Comments