I was recently working on scripting some OS installs of CentOS 5 and 6. As part of the deployment, I required drush be installed. Now, I’ve considered using the drush package found in EPEL but it don’t meet my needs for a number of reasons:

  • It is built for Drupal 6.
  • It has a dependency on the Drupal 6 package in EPEL meaning I have to install that if I want to pull in drush.
  • I will be managing the Drupal site and its modules in a git repository. I’m a huge fan of installing software using RPMs, but in the case of Drupal and modules, using RPMs doesn’t work with the development workflow we’ll have in place on these machines.

This isn’t a new problem; I’ve hit the same issue before, but typically ended up deploying drush either via a ‘pear install’ or by cloning the drush git repo into something like /usr/local/drush. Both work, but don’t go well with my mentality of installing as much as possible using packages (exception for the web root noted above). Kris Buytaert has blogged about drush packaging and similar issues before, but in the three-plus years since those posts, not much has changed.

Don’t get me wrong: I’m a huge fan of EPEL and in RHEL/CentOS in general, and I understand that there is some trade off between having the latest & greatest and having a stable platform. However, the drush RPMs in EPEL just weren’t adequate for my needs. I wasn’t willing to install all my Drupal + modules from EPEL packages, plus I needed a newer version of Drupal than was available there. So I was stuck with a dilemma: install drush through other means (pear, git, or tarball), or build my own drush RPM. I decided it was worthwhile to build an RPM so that I could have the benefits provided by rpm/yum package management for installs, upgrades, and general software tracking on servers. Having an RPM package also leads to easy integration with my configuration management scripts (puppet in this case) -- I can just add a package definition in a puppet manifest and I’m good to go.

Hopefully other people will find these packages useful. There are EL5 and EL6 yum repos available at:

Drush 6

http://pkg.tag1consulting.com/drush/drush-6/el5/noarch/
http://pkg.tag1consulting.com/drush/drush-6/el6/noarch/

Drush 5

http://pkg.tag1consulting.com/drush/drush-5/el5/noarch/
http://pkg.tag1consulting.com/drush/drush-5/el6/noarch/

My packages are based off of those found in EPEL, but with a few (mostly minor) changes. The source RPMs are available at a level up from the directories linked above for those that are interested.