A site uses features, commerce, and commerce_features. A custom feature, aka B, as been created dependent on those three + another custom one, call it A. When Features builds B out, A is listed as the first dependent, since i guess Features orders them alphabetically.

I have not perused the code deep enough to understand the process which drush or Features install the modules, but what happens in this scenario is that A gets enabled first, then features_include() gets called, then commerce_features is enabled. At this point, it doesn't look like (according to my watchdogs i added for temporary debugging) that features_include() gets called again, and consequently, neither does commerce_features_features_api(). Essentially, that breaks drush site-install when custom product types need to be created (in yet another custom features) along with their permissions.

Is this a drush or a Features issue? I think a quick solution is that features_include() gets called with TRUE (as its $reset argument) during site-install but i know it's a particularly nasty one.

Side notes:

  • When i output features_get_features(), A is the first in the list (that has Features as a dependency).
  • If i manually move the dependency on A below the rest of the list, the site-install completes successfully.

Comments

mpotter’s picture

Status: Active » Closed (won't fix)

Closing this for lack of activity. Please re-open this issue if you can reproduce it in the latest version.