0

I've been trying to create a Drupal 7 install profile, but it seems that certain modules use different case for the name verified by install_verify_requirements() and the actual module install directory (which mostly affects unix/linux installs), here is an example:

# myprofile.info

name = myprofile
description = Some name for my profile
core 7.x

; Core
dependencies[] = block
dependencies[] = color
dependencies[] = comment
dependencies[] = contextual
dependencies[] = dashboard
dependencies[] = help
dependencies[] = image
dependencies[] = list
dependencies[] = menu
dependencies[] = number
dependencies[] = options
dependencies[] = path
dependencies[] = taxonomy
dependencies[] = dblog
dependencies[] = search
dependencies[] = shortcut
dependencies[] = toolbar
dependencies[] = overlay
dependencies[] = field_ui
dependencies[] = file
dependencies[] = rdf

; Contrib
dependencies[] = ctools
dependencies[] = features
dependencies[] = pathauto
dependencies[] = views
dependencies[] = entitycache
dependencies[] = storage_api 

And

# myprofile.make
core = 7.x
api = 2
projects[drupal][type] = core

; Contrib Modules
projects[] = ctools
projects[] = features
projects[] = pathauto
projects[] = views
projects[] = entitycache
projects[] = storage_api

When you run:

drush make profiles/myprofile/myprofile.info

all projects are downloaded without a problem into profiles/myprofile/modules, but as soon as you try to

drush site-install

you get an error reporting that the Storage_api module was not found. You comment out the storage_api and everything works as expected.

Any clues about how to set the module install path from storage_api to Storage_api, so the install_verify_requirements() function actually finds what should find ? Or any way of just forcing a lowercase check for this ?

Thanks in advance !

maciekrb
  • 227
  • 1
  • 11
  • 1
    Sounds like you've got something screwy in your filesystem/build of Drush there. I just added a quick make file with storage_api, ran `drush make` then `drush si` and everything worked just fine (on a Mac) – Clive May 08 '13 at 08:56
  • @Clive Well this is weird indeed. Checking inside of includes/install.php the `$present_modules` (ln 695) include storage_statistics, storage_core_bridge, storage_audit_test, storage_audit and storage, but no storage_api. In the other hand, the $info['dependencies'], does not contain any of the above but one named storage_api, which ends up having a $missing_modules containing storage_api after the `array_diff()`. – maciekrb May 08 '13 at 17:01

1 Answers1

0

The problem is that actually the storage_api, does not contain anything called storage_api. Instead, the myprofile.info file should rather include

dependencies[] = storage
dependencies[] = storage_core_bridge
dependencies[] = storage_audit
dependencies[] = storage_audit_test

instead of dependencies[] = storage_api

In general, it is smart to do :

$ find ./modules/module -name "*.install" to find actually the configurable dependencies[].

maciekrb
  • 227
  • 1
  • 11