Backport of #2855026: Installation profiles do not support project:module format for dependencies to Drupal 7.
In #2205271: Project namespace for dependencies support was added to allow modules to list dependencies by prefixing their names with their project name, thus solving the age-old problem of module names and project names being different (*cough* CCK *cough*). This API improvement was included in v7.40.
In #2844504: Testbot failing for Metatag-D7 =) it was identified that some of Metatag's tests were failing because the testci system was unable to download certain dependencies, specifically one submodule depending upon another submodule would fail if the dependency was listed in the old [module] syntax, it had to be listed in the newer [project:module] syntax.
It was reported in #2853699: Out-of-date dependency processing in panopoly_core by asacolips that this conflicts with installation profiles, which do not support the [project:module] syntax.
https://www.drupal.org/files/issues/drupal-n2905520-3.patch
A simple example is the following:
- Download the latest Panopoly distribution release.
- Set it up somewhere so it can be installed.
- Download Metatag into the directory structure somewhere, e.g. sites/all/modules.
- Edit the panopoly.info file to list Metatag as a dependency, e.g.:
diff --git a/panopoly.info b/panopoly.info index 2ee445e..2752de7 100644 --- a/panopoly.info +++ b/panopoly.info @@ -21,6 +21,8 @@ dependencies[] = file dependencies[] = dblog dependencies[] = update +dependencies[] = metatag + ; Panopoly Foundation dependencies[] = panopoly_core dependencies[] = panopoly_images
- Hook up the codebase to the local web server and try to run the installer.
- The following requirements error will be reported:
Required modules - Required modules not found.
The following modules are required but were not found. Move them into the appropriate modules subdirectory, such as sites/all/modules. Missing modules: Drupal:system, Ctools:ctools, Token:token - Further, if the dependency line in panopoly.info is changed to "dependencies[] = metatag:metatag" then the error becomes the following:
Required modules - Required modules not found.
The following modules are required but were not found. Move them into the appropriate modules subdirectory, such as sites/all/modules. Missing modules: Metatag:metatag
It seems like the dependency logic does not properly handle the [project:module] logic for modules available in the current codebase.