Error: Calling brew cask install is disabled! #340
-
I've been using the "community.general.homebrew_cask" module in Ansible to make sure that I have a set of casks installed on macOS laptops. This morning, my playbook started failing with this error message:
I can easily reproduce this issue by running "brew cask install" on the command-line:
Of course, installing via the command-line, I can switch to this:
But deprecating |
Beta Was this translation helpful? Give feedback.
Replies: 10 comments 35 replies
-
I've filed an issue with the Ansible team. Ideally, they should have addressed this while |
Beta Was this translation helpful? Give feedback.
-
This is expected behavior. The Homebrew maintainers don't have any connection with the anisble modules, so it's on the ansible folks to handle this. I agree, they should probably catch deprecation warnings. If they had, this likely wouldn't be an issue. Otherwise, they'll continue to be surprised when things break. |
Beta Was this translation helpful? Give feedback.
-
@Rylan12 @dsnyder0pc As seen here, there were only 20 days between the release of 2.6 (Dec. 1st) and the release of 2.7 (today). This is much shorter than the usual pace of one release every ~6 months. I think pinning the blame on the Ansible team is a little unfair; this deprecation notice was only visible for 20 days before it started crashing. |
Beta Was this translation helpful? Give feedback.
-
There was a year between homebrew 1.0 and 2.0 iirc, with 2.0 being released in February, so this timing isn't correct at all. |
Beta Was this translation helpful? Give feedback.
-
I agree with @SMillerDev that deprecation visibility could be improved, but it strikes me that everyone filing complaints in this thread is using Homebrew in an automation context. Terminal users noticed this deprecation pretty much from the start; ISTR a couple of "hey, what's this all about" threads and issues weeks ago. In my experience, the only reliable way to draw attention to anything in an automation context...is to return an error code. (Most automation users really don't like to parse textual output.) I think pragmatic way to improve deprecation visibility is for |
Beta Was this translation helpful? Give feedback.
-
I appreciate this is a shorter turnaround that usual and I apologise for that. It is notable that none of you noticed the deprecation until it was disabled which makes me wonder if this wouldn't have just happened anyway had this not been disabled. The best use of your time right now is to help test and provide feedback on the fix ansible-collections/community.general#1481 |
Beta Was this translation helpful? Give feedback.
-
Most people I know don't notice deprecations like that immediately when using ansible. It's hard to see them in the wall of text that a mid-size playbook can generate. In that regard, I would like to point out two things:
|
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
Hi, I know that this discussion already has quite a lot of comments, but I wanted to share how this impacted my teammates. I'm sorry if a new comment is not the most appropriate place to share this: I'm not familiar with the norms in GH discussions or in this particular repo, and this seems as good a place as any to share our experience. We maintain a script that's used to configure developer machines. The script is idempotent and is run by both new hires and long-time employees when they get new machines, as well as by many people looking to solve various issues with their local set ups. This change broke our script, which is honestly sort of expected. I don't know if we would have noticed the deprecation if we had more time. What was really painful for us was that this broke over the end-of-year holiday. Many of us were not working, but at least one person who was tried to run this script and hit problems with Thanks for reading, and for maintaining such an indispensable project. |
Beta Was this translation helpful? Give feedback.
-
The point has been made here so locking (and because all the drive-by 👎🏻s are demotivating, irritating and damaging to the motivation of our maintainers which is the main fuel for Homebrew). Here's what we're changing:
Here's what you (Homebrew users) need to do accordingly:
We're not going to start adding longer periods for certain deprecations or not doing releases around the holidays (when our maintainers have more time rather than less time available). Thanks for the kind words everyone who has shared them. A reminder that all Homebrew maintainers are unpaid volunteers working almost exclusively in their spare time and we also have jobs, families, etc. on top of maintaining Homebrew. Those of you who respond to that with negativity, sniping or suggestions on how you could do it better: please either contribute to Homebrew enough that you're asked to join us as a maintainer and spend your time fixing these issues or read https://mikemcquaid.com/2018/03/19/open-source-maintainers-owe-you-nothing/ and please internalise that your negativity is literally killing open source. |
Beta Was this translation helpful? Give feedback.
This is expected behavior.
brew cask <command>
was deprecated in favor ofbrew <command> --cask
in Homebrew 2.6.0. Now that 2.7.0 has been released, they have been disabled. This was documented in the release notes and on the Homebrew blog in addition to the messages at the command-line. This is the typical cycle for breaking changes like this. First, we show a message saying "this will break here's how to fix it." Next, it stops working but with a message letting users know why it's not working (it was disabled) and with instructions for future use. Finally, these messages are totally removed. We generally move one step forward with each major/minor release.The Homebrew maintainers don'…