With distributions becoming more and more ubiquitous, we would like to support using a distribution as core directly from a make file. But Drush Make currently only support pulling a distribution as a profile (using the 'profile-only' variant), which means that:

  • The core patches of the distribution are not going to be applied,
  • The distribution is going to be re-built from its make file which is very inefficient and might pull slightly different versions of the dependencies when the distribution is using -dev versions or un-anchored external dependencies.

It would be easier to be able to simply do:

api = 2
core = 7.x

projects[commerce_kickstart][type] = core

# Any additional module to fetch.
projects[flag][type] = module
Members fund testing for the Drupal project. Drupal Association Learn more


Damien Tournoud’s picture

Status: Active » Needs review
6.59 KB

Luckily, this is not hard to do. Passing the download type to the downloader also allow us to remove one hardcoded check on "drupal".

Damien Tournoud’s picture

Same patch, with the missing test file.

jonhattan’s picture

That's a great thing. It worths three lines in docs/make.txt.

jhedstrom’s picture

Status: Needs review » Fixed

Thanks Damien. Committed in 61d84f3 to 6.x. Re #3 I've also followed up with a few lines of docs.

Status: Fixed » Closed (fixed)

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

anarcat’s picture

Status: Closed (fixed) » Patch (to be ported)

can we port this to Drush 5?

it turns out we can't *depend* on Drush 6 because that means depending on PHP >= 5.3.5, which means upgrading to PHP 5.4 on Debian wheezy (amongst others), which means dropping support for Drupal 6, which wasn't part of the release goals of Aegir at all.

i'm ready to roll out this patch if you guys are okay with this.

clemens.tolboom’s picture

Version: 8.x-6.x-dev » 7.x-5.x-dev
Status: Patch (to be ported) » Needs review
6.87 KB

I did git cherry-pick 61d84f321d84d265f65a92b44c504297fefa2737 patch applied clean.

I haven't tested it.

jonhattan’s picture

Status: Needs review » Needs work

It is an incompatible API change. I'm not sure of the real incidence of such a change but we should preserve compatibility.

I think of placing $type as last parameter, and default it to null.


Damien Tournoud’s picture

I would argue that those are internal functions to Drush Make.

jhedstrom’s picture

Status: Needs work » Reviewed & tested by the community

I agree these are internal functions, and am inclined to backport to 5.x. Setting at RTBC for now, and will commit shortly if nobody objects.

moshe weitzman’s picture

Status: Reviewed & tested by the community » Fixed

Noone objected so I cherry picked this to 7.x-5.x

kristiaanvandeneynde’s picture

Status: Fixed » Needs work

When using this technique in 7.x-5.x, my make always ends with:

Source directory /tmp/make_tmp_1372010501_51c73805990e6/__build__/sites/default/default.settings.php is not readable or does not exist.                                   [error]
chmod(): No such file or directory make.utilities.inc:372      

Even sudo doesn't work and sudo can make me a sandwich...

kristiaanvandeneynde’s picture

Status: Needs work » Fixed

Never mind, it works now (after a reboot?).

Status: Fixed » Closed (fixed)

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