Marton Kiss 121a2e7b1b Update drush dsd-tool of groups portal
The v0.10 version contains an important file permission fix.
Upgrading the site into slot1 not properly set the file permissions
of the symlinked vhost directory and apache failed to serve the
entire site. This issue affected every 2nd deployments and resulted
in a WSOD.

Change-Id: Iaab38356b98e09a0738547e7984bffe9b428398d
2014-10-28 15:32:43 +01:00

76 lines
2.5 KiB
Puppet

# Copyright 2013 OpenStack Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# == Define: drush
#
# define to add drush and custom dsd extension
#
# Drush parameters:
# - drushdsdtar: drush dsd release tarball
# - basedrushdsdtar: drush dsd tar local filename
# - download_dir: download directory, local copy of release tarball lives here
define drupal::drush (
$drushdsdtar = 'https://github.com/mkissam/drush-dsd/archive/v0.10.tar.gz',
$basedrushdsdtar = 'drush-dsd-0.10.tar.gz',
$download_dir = '/srv/downloads',
) {
# pear / drush cli tool
pear::package { 'PEAR': }
pear::package { 'Console_Table': }
pear::package { 'drush':
version => '6.0.0',
repository => 'pear.drush.org',
require => [ Pear::Package['PEAR'], Pear::Package['Console_Table'] ],
}
file { '/usr/share/php/drush/commands/dsd':
ensure => directory,
owner => 'root',
group => 'root',
mode => '0755',
require => [ Pear::Package['drush'] ]
}
# If we don't already have the specified dsd tar, download it.
exec { "download:${drushdsdtar}":
command => "/usr/bin/wget ${drushdsdtar} -O ${download_dir}/${basedrushdsdtar}",
creates => "${download_dir}/${basedrushdsdtar}",
require => File[$download_dir],
}
# If drush-dsd.tar.gz isn't the same as $basedrushdsdtar, install it.
file { "${download_dir}/drush-dsd.tar.gz":
ensure => present,
source => "file://${download_dir}/${basedrushdsdtar}",
require => Exec["download:${drushdsdtar}"],
replace => true,
owner => 'root',
group => 'root',
mode => '0644',
}
# If drush-dsd just created extract to /etc/drush
exec { 'drush-dsd-initial-init':
user => 'root',
command => "/bin/tar -C /usr/share/php/drush/commands/dsd --strip 1 -xzvf ${download_dir}/drush-dsd.tar.gz;/usr/bin/drush cc all",
subscribe => File["${download_dir}/drush-dsd.tar.gz"],
refreshonly => true,
logoutput => true,
require => File['/usr/share/php/drush/commands/dsd'],
}
}