I have a site which has a profile which downloads a number of modules using drush make. It adds the modules in the path /profiles/profile_name/modules.

Is it possible in the make file of the profile to change the path to where the modules and themes are put, so that they are then installed in sites/all/modules and sites/all/themes?

  • 1
    If you don't want your modules in profiles/modules, why not just put all of your make rules into a single top-level makefile, and convert your profile into a module? If you move your modules out of the profiles folder, you don't have a profile any more, so you might as well make it a module, no? – greg_1_anderson Apr 18 '12 at 14:06
  • Doing this for a maintained distribution/install profile could result in running into edge-case bugs on upgrades. At the very least, be sure you move all modules to sites/all/modules, as the update processing is (sadly) affected by the module's path on disk, you do not want the relative order to change. – Grayside Apr 22 '12 at 18:47

If you have already installed the profile — no, you can't move modules by modifying make file. Profile's .make file is used only during installation process.

If you want to replace modules from profiles/%PROFILE_NAME%/modules/ to sites/all/modules on already installed copy of Drupal, you can just replace files (with mv or something) and then run system_rebuild_module_data() function to ask Drupal to update modules destination. With Drush:

drush eval "system_rebuild_module_data();"

For profile installation process — I really don't know why and don't know how to modify .make file. Maybe you can specify 'contrib_destination' property for every project?

| improve this answer | |
  • No its not for an already existing one. It's a profile I'm working on and when it runs and installs I am wanting the modules in the sites/all/modules or sites/all/themes. The openatrium.make file is D6. Does this apply for D7 as well then? – Wheelz Apr 18 '12 at 21:47
  • Are you creating your own profile make file? How do you setup it via Drush? Maybe with this information we can solve the problem. – kalabro Apr 19 '12 at 4:28
  • Yes I use drush. I have a drush make file which downloads core and then the profile. In this profile is another .make file which downloads all the modules, themes and libraries I need. – Wheelz Apr 19 '12 at 10:38
  • As I can see form Drush Make source, all sub-projects are stored in build path of parent project. I can't see how to rewrite it. Maybe you should create an issue here. – kalabro Apr 19 '12 at 12:55

Isn't that what the [destination] is for? Take a look into the openatrium.make file

| improve this answer | |
  • I believe this only works for library items, and not for projects. – Matt Sep 17 '13 at 15:59

As an alternative to using system_rebuild_module_data (mentioned in another answer here), you can use contributed module "Registry Rebuild". That module integrates with Drush via the Drush RR command.

Basically what you do is to (1) just move your modules to another directory, and (2) Registry Rebuild will then rebuild the system table to get the modules in the right place.

I first learned/discovered it via DrupalEasy Podcast #133, which further explains how this module / drush cmd can be used.

| improve this answer | |
  • The question was: is it possible (on Drush Make level) to place profile modules NOT into profile folder and the honest answer was: no. – kalabro Apr 18 '15 at 10:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.