-
-
Notifications
You must be signed in to change notification settings - Fork 12.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ansible: Add missing plugins dependencies #28839
ansible: Add missing plugins dependencies #28839
Conversation
The dependencies reflect the list at the top https://github.com/maxbrunet/homebrew-core/blob/f29b69d7a9b79ca9edef9e4b9df73282d742709b/Formula/ansible.rb#L22-L41 So that list needs to be updated accordingly otherwise the ones you're wanting to add will just be removed automatically at the next upgrade. |
@ilovezfs I updated my commit with your feedback. Thank you for looking into it.
Out of curiosity, I found the Bottles doc and brew-test-bot.rb but I don't understand the role of the comment in the build. And some resources aren't in the list (e.g. Would you mind to explain me how the @BrewTestBot bottle build and the "Collect requirements from" comment work and/or point out where it's configured? |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
Hi there, I rebased my commit on Please, don't hesitate to let me know how I can help to improve this contribution or the reasons why you will not move forward with it. |
Please add mysqlclient used by database/mysql_db
will need a |
hvac would be super helpful as it enables the use of the hashi_vault ansible plugin. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
Bump! I managed to write a minimal Python script to find the missing dependencies that I can now share (I was using a terrible one-liner before): Usage: source "$(brew --cellar ansible)/$(brew info ansible --json=v1 | jq -r '.[].linked_keg')/libexec/bin/activate"
python find_missing_deps.py Since And I also found two I missed before:
yes! |
@BrewTestBot test this please |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs a revision
bump if we're adding bits onto it.
This formula can be an absolute demon to update as-is, but I guess I don't have a firm objection as long as I'm not the one having to update it 🙃.
Thank you @javian, @DomT4 for looking into this, I bumped the revision.
I guess, you're talking about finding/updating the resources for the core. |
|
We were discussing if your script to detect the plugins could be turned into a test that would then check for any future plugin changes and fail if there were missing plugins in the formula - do you think that would be feasible @maxbrunet ? |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
Hey @javian, sorry for the delayed response, I fixed the revision bump. About turning the script into a test, unfortunately,
An other approach could be to programmatically look into the documentation of each plugin: We could also bump this proposal ansible/proposals#87 or similar. |
First, I applaud your work and contributing to Homebew Ansible. However, 👎. Please no. I don't want all of these dependencies, like pychef, pymongo, etc. (missing pyrax?), that drag in even more dependencies. Satisfying all of the dependencies for all of the hundreds, and growing modules, is some real bloat. If anything, the forumla should only install the dependencies that the official Ansible PPA packages install in other distributions and operating systems. Can we at least make these optional, using the the |
@claco in general we try and avoid options and find a setup that fits many but not all. When you say bloat what do you refer to ? Storage space ? Performance ? |
That's a good question. RIght now, it's just:
I would say only things required to make the ansible commands work (ansible, ansible-playbook, ansible-galaxy, etc), and only things for the core modules with non multiple vendor offerings(files, services, system, utilities). Maybe anything that is only about OS functionality in windows and linux/osx, and nothing that is needed where there is wide variance of the same operation across multiple vendors (cloud, net, messaging, queueing). Admittedly, it's a tough question to answer. |
👍 to that. Following upstream packaging, or other distributions, makes a lot of sense. |
@maxbrunet could you make it the same as in the PPA then? |
This PR adds 13 missing Python dependencies for Ansible plugins (code).
It will ensure each plugin has its dependencies satisfied after each upgrade.
Added dependencies:
Not added dependencies:
brew install --build-from-source <formula>
, where<formula>
is the name of the formula you're submitting?brew audit --strict <formula>
(after doingbrew install <formula>
)?