hosting_task_extra depends on provision_task_extra but we have no easy way to check this.

Which leaves it up to documentation ... leading to user frustration :(

In a hosting.feature. definition we could add which Drush modules are required.

On a verify of the hostmaster site we already write a list of hosting features into the drushrc.php
Why not save a list of drush modules in the hostmaster db from that same script?

Chicken/egg: it should be a warning not a hard dependency ....

Comments

ergonlogic’s picture

In comment #4 from #2180053: Include more "golden" contrib, I suggested something similar to allow us to download the required backend components for hosting extensions that require them. I'm don't understand what you mean by this though:

Why not save a list of drush modules in the hostmaster db from that same script?

Chicken/egg: it should be a warning not a hard dependency ....
helmo’s picture

It's mostly about warning a user.
Having 'a list of drush modules in the hostmaster db' would allow us to match that against drush dependencies we find in hook_hosting_feature() definitions. If we find something is missing we could e.g. alert via hook_requirements()

Your angle is about automatically installing. It would be nice, but think we should be careful with that.

ergonlogic’s picture

I added #2269031: Automatically download Drush dependencies to follow-up on the latter part.

Steven Jones’s picture

Steven Jones’s picture

I wonder if the correct answer here is to get Drush to allow managing extensions via composer, and then we can have something that runs composer in the backend to pull in the correct dependencies, but there's a lot of 'interesting' stuff that needs to happen to make that a reality.

We're probably looking to help out with:
https://github.com/drush-ops/drush/issues/572
https://github.com/drush-ops/drush/issues/524

Steven Jones’s picture

So re-reading https://github.com/drush-ops/drush/issues/572 it seems that actually you can already install Drush commands with composer, and thus you can do depedency management of extensions too!

helmo’s picture

Status: Active » Postponed (maintainer needs more info)

Now that we #2300537: Merge Provision extensions into Hosting modules I see little need for this.

ergonlogic’s picture

Status: Postponed (maintainer needs more info) » Active

While #2300537: Merge Provision extensions into Hosting modules makes this easy for back-end components of Aegir extensions, some have dependencies on 3rd party Drush extensions. For example, task_extras requires registry-rebuild.