Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Apr 2010 13:50:09 +0100 (BST)
From:      Thomas Sandford <freebsduser@paradisegreen.co.uk>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/146185: [NEW PORT] www/drush: Drupal command line and scripting interface
Message-ID:  <201004301250.o3UCo99Z093125@miriam.paradisegreen.co.uk>
Resent-Message-ID: <201004301300.o3UD08V6019769@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         146185
>Category:       ports
>Synopsis:       [NEW PORT] www/drush: Drupal command line and scripting interface
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Apr 30 13:00:08 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Thomas Sandford
>Release:        FreeBSD 8.0-RELEASE-p2 i386
>Organization:
Paradise Green Technical Services
>Environment:
System: FreeBSD miriam.paradisegreen.co.uk 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Tue Jan  5 16:02:27 UTC
>Description:
Drush is a command line shell and Unix scripting interface for the Drupal CMS
and is designed to make life easier for those who spend some of their working
hours hacking away at the command prompt.

WWW: http://drupal.org/project/drush

Generated with FreeBSD Port Tools 0.99

Notes for committer for the purpose of understanding the decisions/compromises
I have made in creating this:
* Portlint warning "only one master site" - as the purpose of the port is
  largely to work with updates, etc from that same site there is little point
  in installing if the master site is down - I've therefore taken the concious
  decision that this warning is acceptable.

* Portlint warning about an info file - as far as I can see the file concerned,
  drush.info, is a data/configuration file used by drush itself and not an info
  file as portlint believes.

* I thought for some time as to where the bulk of the installed files for 
  this port should live and eventually concluded that $DATADIR was the
  closest match to the hier(7) requirements. This ties in with where pear
  puts php script files. I also considered $PREFIX/lib, $PREFIX/libdata, 
  $PREFIX/libexec (or subdirectories thereof) but decided each of these was
  a greater compromise than $DATADIR. 

* Port is for use with drupal5 and/or drupal6. I eventually concluded that
  putting one of these as a dependency precluded use of the other, and that
  creating OPTIONS to specify which one (or both) to work with merely for
  the purpose of then specifying that/those as dependencies was pointless,
  especially given that drush can be used to install drupal anyway and
  therefore isn't strictly RUN_DEPENDS on either version.

>How-To-Repeat:
>Fix:

--- drush-3.0.shar begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	drush
#	drush/pkg-plist
#	drush/pkg-descr
#	drush/distinfo
#	drush/Makefile
#	drush/files
#	drush/files/patch-drush
#
echo c - drush
mkdir -p drush > /dev/null 2>&1
echo x - drush/pkg-plist
sed 's/^X//' >drush/pkg-plist << '91988eb15e91319f141d52b4d2a1af43'
Xbin/drush
X%%DATADIR%%/LICENSE.txt
X%%DATADIR%%/README.txt
X%%DATADIR%%/commands/core/drupal/batch_6.inc
X%%DATADIR%%/commands/core/drupal/batch_7.inc
X%%DATADIR%%/commands/core/drupal/environment_5.inc
X%%DATADIR%%/commands/core/drupal/environment_6.inc
X%%DATADIR%%/commands/core/drupal/environment_7.inc
X%%DATADIR%%/commands/core/drupal/update_5.inc
X%%DATADIR%%/commands/core/drupal/update_6.inc
X%%DATADIR%%/commands/core/drupal/update_7.inc
X%%DATADIR%%/commands/core/clear.cache.inc
X%%DATADIR%%/commands/core/core.drush.inc
X%%DATADIR%%/commands/core/rsync.core.inc
X%%DATADIR%%/commands/core/scratch.php
X%%DATADIR%%/commands/core/search.drush.inc
X%%DATADIR%%/commands/core/site_install.drush.inc
X%%DATADIR%%/commands/core/sitealias.drush.inc
X%%DATADIR%%/commands/core/upgrade.drush.inc
X%%DATADIR%%/commands/core/variable.drush.inc
X%%DATADIR%%/commands/core/watchdog.drush.inc
X%%DATADIR%%/commands/pm/package_handler/wget.inc
X%%DATADIR%%/commands/pm/package_handler/cvs.inc
X%%DATADIR%%/commands/pm/pm.drush.inc
X%%DATADIR%%/commands/pm/updatecode.pm.inc
X%%DATADIR%%/commands/pm/update_info/drupal_5.inc
X%%DATADIR%%/commands/pm/update_info/drupal_6.inc
X%%DATADIR%%/commands/pm/update_info/drupal_7.inc
X%%DATADIR%%/commands/pm/version_control/backup.inc
X%%DATADIR%%/commands/pm/version_control/bzr.inc
X%%DATADIR%%/commands/pm/version_control/svn.inc
X%%DATADIR%%/commands/sql/sql.drush.inc
X%%DATADIR%%/commands/sql/sync.sql.inc
X%%DATADIR%%/drush.api.php
X%%DATADIR%%/drush.info
X%%DATADIR%%/drush.php
X%%DATADIR%%/drush_logo-black.png
X%%DATADIR%%/examples/example.aliases.drushrc.php
X%%DATADIR%%/examples/example.drushrc.php
X%%DATADIR%%/examples/sandwich.drush.inc
X%%DATADIR%%/examples/sandwich.txt
X%%DATADIR%%/includes/backend.inc
X%%DATADIR%%/includes/batch.inc
X%%DATADIR%%/includes/command.inc
X%%DATADIR%%/includes/context.inc
X%%DATADIR%%/includes/drush.inc
X%%DATADIR%%/includes/environment.inc
X%%DATADIR%%/includes/sitealias.inc
X@dirrmtry %%DATADIR%%/includes
X@dirrmtry %%DATADIR%%/examples
X@dirrmtry %%DATADIR%%/commands/sql
X@dirrmtry %%DATADIR%%/commands/pm/version_control
X@dirrmtry %%DATADIR%%/commands/pm/update_info
X@dirrmtry %%DATADIR%%/commands/pm/package_handler
X@dirrmtry %%DATADIR%%/commands/pm
X@dirrmtry %%DATADIR%%/commands/core/drupal
X@dirrmtry %%DATADIR%%/commands/core
X@dirrmtry %%DATADIR%%/commands
X@dirrmtry %%DATADIR%%
91988eb15e91319f141d52b4d2a1af43
echo x - drush/pkg-descr
sed 's/^X//' >drush/pkg-descr << '6c2c06f48b8b400e3e7f7664aa433cd4'
XDrush is a command line shell and Unix scripting interface for the Drupal CMS
Xand is designed to make life easier for those who spend some of their working
Xhours hacking away at the command prompt.
X
XWWW: http://drupal.org/project/drush
6c2c06f48b8b400e3e7f7664aa433cd4
echo x - drush/distinfo
sed 's/^X//' >drush/distinfo << '032a2468100da0c119166107554c0046'
XMD5 (drush-All-versions-3.0.tar.gz) = 86bb79b783290930c12b66038ef8d742
XSHA256 (drush-All-versions-3.0.tar.gz) = 2112ab5a9b6c9ad9947c85f99a1a56dd1db40d4bb69d0cf962b84e6bd95c4207
XSIZE (drush-All-versions-3.0.tar.gz) = 171892
032a2468100da0c119166107554c0046
echo x - drush/Makefile
sed 's/^X//' >drush/Makefile << 'b3e749441efd036a36a9683f39b66742'
X# New ports collection makefile for:	www/drush
X# Date created:				April 29th 2010
X# Whom:	      				Thomas Sandford <freebsduser@paradisegreen.co.uk>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	drush
XPORTVERSION=	3.0
XCATEGORIES=	www
XMASTER_SITES=	http://ftp.drupal.org/files/projects/
XDISTNAME=	drush-All-versions-${PORTVERSION}
X
XMAINTAINER=	freebsduser@paradisegreen.co.uk
XCOMMENT=	Drupal command line and scripting interface
X
XNO_BUILD=	yes
X
X# set php requirements same as drupal itself
XUSE_PHP=	gd pcre session xml mbstring
XIGNORE_WITH_PHP=4
XWANT_PHP_WEB=	yes
X
XWRKSRC=		${WRKDIR}/${PORTNAME}
X
X.include <bsd.port.pre.mk>
X
Xdo-configure:
X	@${REINPLACE_CMD} -e 's|XXXDATADIRXXX|${DATADIR}|g' ${WRKSRC}/drush
X
Xdo-install:
X	${MKDIR} ${DATADIR}
X	( cd ${WRKSRC} && ${COPYTREE_SHARE} \* ${DATADIR} '! ( -name drush -or -name drush.bat -or -name *.orig -or -name *.bak )' )
X	${INSTALL_SCRIPT} ${WRKSRC}/drush ${PREFIX}/bin
X
X.include <bsd.port.post.mk>
b3e749441efd036a36a9683f39b66742
echo c - drush/files
mkdir -p drush/files > /dev/null 2>&1
echo x - drush/files/patch-drush
sed 's/^X//' >drush/files/patch-drush << '4128873d569479fe1d57e9dfac6a1a28'
X--- drush.orig	2010-04-29 21:25:16.000000000 +0100
X+++ drush	2010-04-29 21:32:18.000000000 +0100
X@@ -1,51 +1,16 @@
X-#!/usr/bin/env sh
X+#!/bin/sh
X # $Id: drush,v 1.17 2010/04/14 22:29:33 weitzman Exp $
X #
X # This script is a simple wrapper that will run Drush with the most appropriate
X # php executable it can find.
X #
X 
X-# Get the absolute path of this executable
X-ORIGDIR=$(pwd)
X-SELF_PATH=$(cd -P -- "$(dirname -- "$0")" && pwd -P) && SELF_PATH=$SELF_PATH/$(basename -- "$0")
X-
X-# Resolve symlinks - this is the equivalent of "readlink -f", but also works with non-standard OS X readlink.
X-while [ -h $SELF_PATH ]; do
X-    # 1) cd to directory of the symlink
X-    # 2) cd to the directory of where the symlink points
X-    # 3) Get the pwd
X-    # 4) Append the basename
X-    DIR=$(dirname -- "$SELF_PATH")
X-    SYM=$(readlink $SELF_PATH)
X-    SELF_PATH=$(cd $DIR && cd $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM")
X-done
X-cd "$ORIGDIR"
X-
X # Build the path to drush.php.
X-SCRIPT_PATH=$(dirname $SELF_PATH)/drush.php
X-case $(uname -a) in
X-  CYGWIN*)
X-    SCRIPT_PATH=$(cygpath -w -a -- "$SCRIPT_PATH") ;;
X-esac
X+SCRIPT_PATH=XXXDATADIRXXX/drush.php
X 
X # If not exported and term is set determine and export the number of columns.
X if [ -z $COLUMNS ] && [ -n "$TERM" ]; then
X   export COLUMNS=$(tput cols)
X fi
X 
X-# Special case for *AMP installers, since they normally don't set themselves as the default cli php out of the box.
X-for php in /Applications/MAMP/bin/php5/bin/php /opt/lampp/bin/php /Applications/xampp/xamppfiles/bin/php /Applications/acquia-drupal/php/bin/php; do 
X-  if [ -x $php ]; then
X-    exec $php $SCRIPT_PATH --php="$php" "$@"
X-  fi
X-done
X-
X-# We check for a command line (cli) version of php, and if found use that.
X-which php-cli >/dev/null 2>&1
X-if [ "$?" = 0 ] ; then
X-  exec php-cli $SCRIPT_PATH --php="php-cli" "$@"
X-else
X-  # Alternatively we run with straight php, which works on most other systems.
X-  # The --php=`which php` is for Dreamhost, which behaves oddly.  See http://drupal.org/node/662926
X-  exec php $SCRIPT_PATH --php=`which php` "$@"
X-fi
X+exec php $SCRIPT_PATH --php=`which php` "$@"
4128873d569479fe1d57e9dfac6a1a28
exit
--- drush-3.0.shar ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004301250.o3UCo99Z093125>