If I specify something like this

projects[foo][location] = http://example.com/fserver

in my make file, to include a project foo from our Feature Server, drush always fails with this error:

Non-existent project type on project foo

drush dl however works fine:

drush dl --source=http://example.com/fserver foo

Drush make seems to be seriously broken when it concerns projects coming from other locations than d.o. The same make file works perfectly with Drush 4 and drush_make.

CommentFileSizeAuthor
#6 drush-1520802.patch1.51 KBjonhattan

Comments

jhedstrom’s picture

When specifying non-d.o. sources, you must specify the project type:

projects[foo][type] = "core"
projects[bar][type] = "module"
projects[baz][type] = "theme"
cyberwolf’s picture

@jhedstrom, this wasn't the case with Drush 4 + Drush Make. Is there a particular reason why that is obligatory now? A non-d.o. source like a Feature Server also provides the necessary project type information, so why not fetch it from there just like it is done from d.o.?

jhedstrom’s picture

@Cyperwolf if this was possible in 4.x, it certainly wasn't intended to be removed, and I'd be happy to add back the functionality. I'll look into this shortly, but we'd need a stable non-d.o. feature server to test against, or a unit test against the intended functionality.

cyberwolf’s picture

There might be some fserver to test against in the list at http://groups.drupal.org/node/50278.

kalabro’s picture

Drush Make stopped work with module Feature Server 6.x-1.1, which is stable. The #1 comment didn't help.

jonhattan’s picture

Status: Active » Needs review
StatusFileSize
new1.51 KB

from commands/make/README.txt:

- `location`

  URL of an alternate project update XML server to use. Allows project XML data
  to be retrieved from sites other than `updates.drupal.org`.

        projects[tao][location] = "http://code.developmentseed.com/fserver"

Attached patch fixes it but we still need a public feature server that works for documentation and tests.

I've tested several ones from the list at http://groups.drupal.org/node/50278 and http://community.featureservers.org/ with no luck. Basicly we need a reference fserver with the only requirement to just be used to perform a drush dl as in:

drush dl --source=http://features.chapterthree.com/fserver openatrium_apachesolr_search-6.x
kalabro’s picture

I confirm, that #6 works. Thanks.
My environment:
- Drush All-versions-5.x-dev;
- Feature Server 6.x-1.1;
- type "module" specified as in #1 comment.

jonhattan’s picture

#1 is not needed. Just:

projects[foo][location] = http://example.com/fserver

We need a publicly accesible fserver in order to update the README and write a test. Anyone?

kalabro’s picture

Forgot to say about a strange notice while processing make file:

DRUSH_BACKEND:{"type":"command","message":"Backend invoke: \/usr\/bin\/php \/home\/marshalkina\/drush\/drush.php --php=\/usr\/bin\/php --backend=2 --reserve-margin=4 make-process \/tmp\/make_tmp_1336142819_4fa3ebe31479d 2>&1","timestamp":1336142844.5657,"memory":9975048,"error":null,"packet":"log"} >>

It appears even without -v or -d flags and just before the module downloaded from fserver.

jonhattan’s picture

Status: Needs review » Fixed

So it seems there's no publicly accesible fserver available at present. Just committed #6 as it fixes the regression.

cyberwolf’s picture

Looks like there is still an issue: installlation profiles specified in the make file are now added under sites/all/modules instead of sites/profiles, from where they do not get loaded by install_load_profile().

cyberwolf’s picture

Status: Fixed » Needs work
dww’s picture

Status: Needs work » Fixed

@Cyberwolf: That's a different issue. That's about installation profiles referenced in .make files. This issue is simply about using feature servers instead of Drupal.org to download modules.

cyberwolf’s picture

Status: Fixed » Closed (fixed)

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