Closed (works as designed)
Project:
Drush Make
Version:
6.x-2.x-dev
Component:
Code
Priority:
Normal
Category:
Feature request
Assigned:
Unassigned
Reporter:
Created:
26 Jul 2010 at 23:02 UTC
Updated:
3 Jan 2012 at 16:07 UTC
Jump to comment: Most recent file
Comments
Comment #1
dmitrig01 commentedDrush make is specifically for packaging modules together, not for doing anything beyond that
Comment #2
jp.stacey commentedWell, the project page description begins "Drush make is an extension to drush that can create a ready-to-use drupal site." That means that if my site isn't ready to use, then drush_make is not working as designed, and this issue should be reopened. And if modules aren't enabled, then my site isn't ready to use. Unless having to run an install profile and then enable all the modules I just downloaded by hand counts as "site use" in the sense that my mother would understand it, and I've asked my mother and she says no.
Right now this focus on just doing downloads and nothing else is limiting "drush make" to being something like "drush automate some downloads with URL parsing and recursion." That's a handy set of tasks to automate, but it stops short of being a proper makefile parser in the C sense, which I think is what people expect and want. That means that it's also unlikely to be adopted by people who are already part-way through a site build process, or have had a site for two years and now want to use drush makefiles for e.g. packaging features (or who can just fudge this stuff with bash and wget.) It's also a question of user expectation, when the project page promises a "ready-to-use site" and all they get is a bunch of downloads.
Please find attached: 1. a patch which lets drush make handle module enabling and other arbitrary drush commands and 2. a makefile which implements the functionality. The new drush command that the patch provides is called
drush make-and-go.This patch is not perfect: you have to run the code as
Otherwise for some reason it can't find the makefile. Also, even if you're in an existing Drupal site, it installs all downloads in sites/all/.../ rather than in the site you're working on.
I really think this could be important for drush_make and would really like the usefulness to be considered by the wider community.
Comment #3
jp.stacey commentedWhoops: patch and makefile attached now.
Comment #4
dmitrig01 commentedThis sounds like a good idea, but I think it would be better suited for another project.
Comment #5
yhahn commented@jp.stacey Good points -- it turns out that there is already good existing infrastructure for enabling modules and setup upon install of a Drupal site. See the Profiler in Drupal 6 for easy creation of install profiles. In Drupal 7 creating an install profile is already very easy. I don't think it makes sense for drush make to duplicate functionality that is meant to be addressed by an entire API in core.
In addition, note that the approach taken by your patch makes an important assumption -- namely that the Drupal site has already had its database setup and installed (you cannot run
drush enableon a non-installed Drupal site). How is this possible if it is your first time building a site, especially given that it is not possible to install D6 from the command line?If anything, this should be a task to adjust the drush make project page text to clarify the meaning of "site" -- which in this context means "codebase".
Comment #6
bartl commentedIn my humble opinion you've got it backwards:
drush makedoesn't do enough. Not even close.In short: it is a far cry from a "working site", I estimate that I still have to do more than two thirds of the installation manually.
If I have to manually enable every module with
drush en, I might just skip "make" and install them withdrush dltoo.Oh, wait: I can just write a shell script with a bunch of drush commands. It wouldn't actually even be harder than trying to make this thing skip through the hoops. Yeah, just strike this whole project.
Oh, and "make" is a misnomer. Every time you run
makeit redownloads and reinstalls everything, instead of just what has been added.