In several places, provision_civicrm runs:

  $packages = drush_get_option('packages', array(), 'platform');

  if (empty($packages) || !array_key_exists('civicrm', $packages['modules'])) {
    return;
  }

However, it seems as though there is no context for 'platform':

0 aegir@nicolas:~$ drush @demo.ourpowerbase.net php-eval '$ret = drush_context_names("platform"); print_r($ret) . "\n";'
Array
(
    [0] => process
    [1] => cli
    [2] => stdin
    [3] => specific
    [4] => alias
    [5] => custom
    [6] => site
    [7] => drupal
    [8] => user
    [9] => home.drush
    [10] => system
    [11] => drush
    [12] => default
)
0 aegir@nicolas:~$

Furthermore, I think it would make more sense to check the site for an installed civicrm module rather than the platform, since a site might have the module available, but would not be using it.

Comments

jmcclelland’s picture

Ah - I think that the code is needed in drush_civicrm_post_provision_install - perhaps because the site doesn't yet exist (and maybe in that part of the process "platform" does exist as a context ). I say this after changing it and then having an install fail, changing it back, and having it succeed.

So - the problem seems to be in the verify code - which needs to check the site context rather than the platform context.

jamie

bgm’s picture

Assigned: Unassigned » bgm
Status: Active » Fixed

Thanks for the bug report and solution. Committed to the master branch:

http://drupalcode.org/project/provision_civicrm.git/commit/2db72db

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.