Formula-Cookbook: tweak conflicts_with

Closes Homebrew/homebrew#42432.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
This commit is contained in:
Dominyk Tiller 2015-08-03 22:27:07 +01:00
parent 3a733cad09
commit e1d736a0fa

View File

@ -204,11 +204,12 @@ A Hash specifies a formula dependency with some additional information. Given a
Sometimes theres hard conflict between formulae, and it cant be avoided or circumvented with `keg_only`.
PolarSSL is a good [example](https://github.com/Homebrew/homebrew/blob/master/Library/Formula/polarssl.rb#L36-L37) formula for minor conflict.
PolarSSL is a good [example](https://github.com/Homebrew/homebrew/blob/master/Library/Formula/polarssl.rb) formula for minor conflict.
PolarSSL ship GNUs Hello, and compiles a `hello` binary. This is obviously non-essential to PolarSSLs functionality, and conflict with the `hello` formula would be overkill, so we just remove it.
PolarSSL ship and compile a "Hello World" executable. This is obviously non-essential to PolarSSLs functionality, and conflict with the popular GNU `hello` formula would be overkill, so we just remove it.
However, also in the PolarSSL formulae is a [firm conflict](https://github.com/Homebrew/homebrew/blob/master/Library/Formula/polarssl.rb#L19) with `md5sha1sum`, because both `md5sha1sum` and `polarssl` compile identically-named binaries that *are* important for core functionality.
[pdftohtml](https://github.com/Homebrew/homebrew/blob/master/Library/Formula/pdftohtml.rb) provides an example of a serious
conflict, where both formula ship a identically-named binary that is essential to functionality, so a `conflicts_with` is preferable.
As a general rule, `conflicts_with` should be a last-resort option. Its a fairly blunt instrument.