fix shell quoting
authorLudwig Nussel <ludwig.nussel@suse.de>
Tue, 11 Mar 2008 14:46:52 +0000 (14:46 +0000)
committerLudwig Nussel <ludwig.nussel@suse.de>
Tue, 11 Mar 2008 14:46:52 +0000 (14:46 +0000)
build
init_buildsystem

diff --git a/build b/build
index fe78f4e..01820cc 100755 (executable)
--- a/build
+++ b/build
@@ -187,10 +187,10 @@ cleanup_and_exit () {
 shellquote()
 {
     for arg; do
+       arg=${arg/\\/\\\\}
        arg=${arg/\$/\\\$}
        arg=${arg/\"/\\\"}
        arg=${arg/\`/\\\`}
-       arg=${arg/\\/\\\\}
        echo -n " \"$arg\""
     done
 }
@@ -860,22 +860,22 @@ for SPECFILE in "${SPECFILES[@]}" ; do
            MYSRCDIR=$BUILD_ROOT/.build-srcdir
        fi
        Q="'\''"
-       echo "SPECFILE='${SPECFILE//\'/$Q}'" > $BUILD_ROOT/.build/build.data
-       echo "BUILD_JOBS='${BUILD_JOBS//\'/$Q}'" >> $BUILD_ROOT/.build/build.data
-       echo "BUILD_ARCH='${BUILD_ARCH//\'/$Q}'" >> $BUILD_ROOT/.build/build.data
-       echo "BUILD_RPMS='${BUILD_RPMS//\'/$Q}'" >> $BUILD_ROOT/.build/build.data
+       echo "SPECFILE='${SPECFILE//"'"/$Q}'" > $BUILD_ROOT/.build/build.data
+       echo "BUILD_JOBS='${BUILD_JOBS//"'"/$Q}'" >> $BUILD_ROOT/.build/build.data
+       echo "BUILD_ARCH='${BUILD_ARCH//"'"/$Q}'" >> $BUILD_ROOT/.build/build.data
+       echo "BUILD_RPMS='${BUILD_RPMS//"'"/$Q}'" >> $BUILD_ROOT/.build/build.data
        case $BUILD_DIST in
            */*)
                cp $BUILD_DIST $BUILD_ROOT/.build/build.dist
                BUILD_DIST=/.build/build.dist
                ;;
        esac
-       echo "BUILD_DIST='${BUILD_DIST//\'/$Q}'" >> $BUILD_ROOT/.build/build.data
-       echo "RELEASE='${RELEASE//\'/$Q}'" >> $BUILD_ROOT/.build/build.data
-       echo "NOROOTFORBUILD='${NOROOTFORBUILD//\'/$Q}'" >> $BUILD_ROOT/.build/build.data
+       echo "BUILD_DIST='${BUILD_DIST//"'"/$Q}'" >> $BUILD_ROOT/.build/build.data
+       echo "RELEASE='${RELEASE//"'"/$Q}'" >> $BUILD_ROOT/.build/build.data
+       echo "NOROOTFORBUILD='${NOROOTFORBUILD//"'"/$Q}'" >> $BUILD_ROOT/.build/build.data
        echo "CREATE_BASELIBS='$CREATE_BASELIBS'" >> $BUILD_ROOT/.build/build.data
-       echo "REASON='${REASON//\'/$Q}'" >> $BUILD_ROOT/.build/build.data
-       echo "CHANGELOG='${CHANGELOG//\'/$Q}'" >> $BUILD_ROOT/.build/build.data
+       echo "REASON='${REASON//"'"/$Q}'" >> $BUILD_ROOT/.build/build.data
+       echo "CHANGELOG='${CHANGELOG//"'"/$Q}'" >> $BUILD_ROOT/.build/build.data
        test -n "$XENSWAP" && echo "XENSWAP='/dev/hda2'" >> $BUILD_ROOT/.build/build.data
        PERSONALITY_SYSCALL=
        PERSONALITY=0
index 7039677..6ee650b 100755 (executable)
@@ -431,8 +431,9 @@ if test -n "$PREPARE_XEN" ; then
     echo -n 'reordering...'
     PACKAGES_TO_INSTALL=`reorder $PACKAGES_TO_INSTALL`
     echo 'done'
-    echo "PACKAGES_TO_INSTALL='${PACKAGES_TO_INSTALL//\'/\'\\\'\'}'" > $BUILD_ROOT/.build/init_buildsystem.data
-    echo "PACKAGES_TO_RUNSCRIPTS='${PACKAGES_TO_RUNSCRIPTS//\'/\'\\\'\'}'" >> $BUILD_ROOT/.build/init_buildsystem.data
+    Q="'\''"
+    echo "PACKAGES_TO_INSTALL='${PACKAGES_TO_INSTALL//"'"/$Q}'" > $BUILD_ROOT/.build/init_buildsystem.data
+    echo "PACKAGES_TO_RUNSCRIPTS='${PACKAGES_TO_RUNSCRIPTS//"'"/$Q}'" >> $BUILD_ROOT/.build/init_buildsystem.data
     echo "PSUF='$PSUF'" >> $BUILD_ROOT/.build/init_buildsystem.data
     rm -f $BUILD_IS_RUNNING
     exit 0