From 13f247afebde199ffb03d23e8662d362d5681ca6 Mon Sep 17 00:00:00 2001 From: intrigeri Date: Sun, 7 Nov 2010 13:07:26 +0100 Subject: Fix reliance on bash for pipefail. (Closes: #602374) Thanks to Sergio Talens-Oliag for the bug report and patch. --- handlers/ldap.in | 2 +- handlers/mysql.in | 2 +- handlers/pgsql.in | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) (limited to 'handlers') diff --git a/handlers/ldap.in b/handlers/ldap.in index 83307ee..600f172 100644 --- a/handlers/ldap.in +++ b/handlers/ldap.in @@ -91,7 +91,7 @@ if [ "$ldif" == "yes" ]; then execstr="$execstr > $dumpdir/$dbsuffix.ldif" fi debug "$execstr" - output=`su root -c "set -o pipefail ; $execstr" 2>&1` + output=`su root -s /bin/bash -c "set -o pipefail ; $execstr" 2>&1` code=$? if [ "$code" == "0" ]; then debug $output diff --git a/handlers/mysql.in b/handlers/mysql.in index 0282046..05ea396 100644 --- a/handlers/mysql.in +++ b/handlers/mysql.in @@ -303,7 +303,7 @@ then debug "su $user -c \"$execstr\"" if [ ! $test ] then - output=`su $user -c "set -o pipefail ; $execstr" 2>&1` + output=`su $user -s /bin/bash -c "set -o pipefail ; $execstr" 2>&1` code=$? if [ "$code" == "0" ] then diff --git a/handlers/pgsql.in b/handlers/pgsql.in index f68ec2f..ff71ebc 100644 --- a/handlers/pgsql.in +++ b/handlers/pgsql.in @@ -115,13 +115,13 @@ fi if [ "$databases" == "all" ]; then if [ $usevserver = yes ]; then if [ "$compress" == "yes" ]; then - execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"set -o pipefail ; $PGSQLDUMPALL | $GZIP $GZIP_OPTS > '$backupdir/${vsname}.sql.gz'\"" + execstr="$VSERVER $vsname exec su - $PGSQLUSER -s /bin/bash -c \"set -o pipefail ; $PGSQLDUMPALL | $GZIP $GZIP_OPTS > '$backupdir/${vsname}.sql.gz'\"" else execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$PGSQLDUMPALL > '$backupdir/${vsname}.sql'\"" fi else if [ "$compress" == "yes" ]; then - execstr="su - $PGSQLUSER -c \"set -o pipefail ; $PGSQLDUMPALL | $GZIP $GZIP_OPTS > '$backupdir/${localhost}-all.sql.gz'\"" + execstr="su - $PGSQLUSER -s /bin/bash -c \"set -o pipefail ; $PGSQLDUMPALL | $GZIP $GZIP_OPTS > '$backupdir/${localhost}-all.sql.gz'\"" else execstr="su - $PGSQLUSER -c \"$PGSQLDUMPALL > '$backupdir/${localhost}-all.sql'\"" fi @@ -152,9 +152,9 @@ else globalscmd="$PGSQLDUMPALL -g > '$backupdir/globals.sql'" fi if [ $usevserver = yes ]; then - execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$globalscmd\"" + execstr="$VSERVER $vsname exec su - $PGSQLUSER -s /bin/bash -c \"$globalscmd\"" else - execstr="su - $PGSQLUSER -c \"$globalscmd\"" + execstr="su - $PGSQLUSER -s /bin/bash -c \"$globalscmd\"" fi debug "$execstr" if [ ! $test ]; then @@ -189,9 +189,9 @@ else dumpcmd="$PGSQLDUMP --format=$format ${disablecustomcompress} $db | > '$backupdir/${db}.${dumpext}'" fi if [ $usevserver = yes ]; then - execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$dumpcmd\"" + execstr="$VSERVER $vsname exec su - $PGSQLUSER -s /bin/bash -c \"$dumpcmd\"" else - execstr="su - $PGSQLUSER -c \"$dumpcmd\"" + execstr="su - $PGSQLUSER -s /bin/bash -c \"$dumpcmd\"" fi debug "$execstr" if [ ! $test ]; then -- cgit v1.2.3