You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A source build may be triggered when it's unwanted or unneeded if
an install receipt (using the option) is present that was created when the option default was different
or
another formula's depends_on "foo" => "with-bar" was authored when the option default was different
Typically the option "with-bar" has been replaced by "without-bar" or by nothing (because it's now always on, always off, no longer applicable, or now hidden behind a build.with? or build.without?).
A related issue is that there's no mechanism in the DSL to specify a default-on option is mandatory, so simply making a stale "with-bar" into a no-op (rather than an unneeded source build) is still pretty bad because it gives the impression that "bar" is being mandated, but "surprisingly" a keg in the Cellar built "without-bar" (a real, current formula option) would satisfy a no-op "with-bar" in depends_on "foo" => "with-bar".
The text was updated successfully, but these errors were encountered:
Based on what was reported in Homebrew/homebrew-core#7753 it seems this is still happening with dependency build options since depends_on "llvm" => "with-nosuchoption" behaves differently from depends_on "llvm".
ilovezfs
changed the title
Changing an option's default or existence can trigger unnecessary source builds
Changing an option's default or existence can trigger repouring the bottle unnecessarily
Dec 10, 2016
A source build may be triggered when it's unwanted or unneeded if
or
depends_on "foo" => "with-bar"
was authored when the option default was differentTypically the option "with-bar" has been replaced by "without-bar" or by nothing (because it's now always on, always off, no longer applicable, or now hidden behind a build.with? or build.without?).
A related issue is that there's no mechanism in the DSL to specify a default-on option is mandatory, so simply making a stale "with-bar" into a no-op (rather than an unneeded source build) is still pretty bad because it gives the impression that "bar" is being mandated, but "surprisingly" a keg in the Cellar built "without-bar" (a real, current formula option) would satisfy a no-op "with-bar" in
depends_on "foo" => "with-bar"
.The text was updated successfully, but these errors were encountered: