sous-chefs / homebrew

Development repository for the homebrew cookbook
https://supermarket.chef.io/cookbooks/homebrew
Apache License 2.0
152 stars 136 forks source link

Fixing a broken install URL and making the recipes more idempotent #23

Closed marpaia closed 10 years ago

marpaia commented 10 years ago

So apparently the install link was broken, so I fixed that.

Additionally, and this one is personal I guess, but the default recipe always executes a brew update, which is perhaps not what you want. I know I personally only want my chef run executing something if there has been some intrinsic state change that requires something to be executed. If I really wanted to run "brew update" all the time, I could just include the homebrew::update recipe as well, but at least I'd have the choice.

Thoughts?

hiremaga commented 10 years ago

The install script url change overlaps with #20 which has been open for a month. Also the new install script url is https://raw.github.com/Homebrew/homebrew/go/install

spesnova commented 10 years ago

Additionally, and this one is personal I guess, but the default recipe always executes a brew update, which is perhaps not what you want. I know I personally only want my chef run executing something if there has been some intrinsic state change that requires something to be executed. If I really wanted to run "brew update" all the time, I could just include the homebrew::update recipe as well, but at least I'd have the choice.

+1

jeroenj commented 10 years ago

+1 for the homebrew::update recipe.

marpaia commented 10 years ago

alright, since #20 was merged, i removed that from this pull. now this pull just contains the homebrew::update break out.

jtimberman commented 10 years ago

I see the brew update like the apt-get update in the apt cookbook's default recipe. Homebrew is a fast moving project that updates formula often. It is likely that a particular formula won't even install a particular package unless the project is updated. Homebrew is a "rolling release package manager" which means we have to live with this kind of updating, since there isn't a point in time distribution release where package versions are frozen.

Additionally, this change breaks the use of the recipe for those who may be relying on the update happening on every run. I think it would be better to set an attribute that controls whether the update should happen, leaving it up to users who wish to disable it to do so, along with all the consequences that go along with that (potentially broken formula, mainly).

jtimberman commented 10 years ago

See #39