From 75039caef3b7792546fba191c0a369f577bf1a20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonin=20D=C3=A9cimo?= Date: Mon, 23 Jun 2014 12:23:13 +0200 Subject: [PATCH] Escapes paths to prevent errors when filename contains special chars --- love-release.sh | 78 ++++++++++++++++++++++++------------------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/love-release.sh b/love-release.sh index 973b92a..0498305 100755 --- a/love-release.sh +++ b/love-release.sh @@ -211,7 +211,7 @@ LOVE_GT_090=$(float_test "$LOVE_VERSION_MAJOR >= 0.9") PROJECT_FILES= PROJECT_NAME=${PWD##/*/} COMPANY_NAME=love2d -RELEASE_DIR=$PWD/releases +RELEASE_DIR="$PWD"/releases DEBUG=false CACHE_DIR=~/.cache/love-release @@ -294,15 +294,15 @@ if [ "$RELEASE_LOVE" = false ] && [ "$RELEASE_OSX" = false ] && [ "$RELEASE_WIN_ RELEASE_WIN_64=true fi MAIN_RELEASE_DIR=${RELEASE_DIR##/*/} -RELEASE_DIR=$RELEASE_DIR/$LOVE_VERSION +RELEASE_DIR="$RELEASE_DIR"/$LOVE_VERSION CACHE_DIR=$CACHE_DIR/$LOVE_VERSION -if [ -f "$PWD/$PROJECT_NAME.icns" ]; then - PROJECT_ICNS=$PWD/$PROJECT_NAME.icns +if [ -f "$PWD"/"$PROJECT_NAME".icns ]; then + PROJECT_ICNS="$PWD"/"$PROJECT_NAME".icns else PROJECT_ICNS= fi -if [ -f "$PWD/$PROJECT_NAME.ico" ]; then - PROJECT_ICO=$PWD/$PROJECT_NAME.ico +if [ -f "$PWD"/"$PROJECT_NAME".ico ]; then + PROJECT_ICO="$PWD"/"$PROJECT_NAME".ico else PROJECT_ICO= fi @@ -315,18 +315,18 @@ if [ "$DEBUG" = true ]; then fi -echo "Generating $PROJECT_NAME with Love $LOVE_VERSION..." +echo "Generating "$PROJECT_NAME" with Love $LOVE_VERSION..." ## Zipping ## -mkdir -p $RELEASE_DIR $CACHE_DIR -rm -rf $RELEASE_DIR/$PROJECT_NAME.love 2> /dev/null +mkdir -p "$RELEASE_DIR" $CACHE_DIR +rm -rf "$RELEASE_DIR"/"$PROJECT_NAME".love 2> /dev/null if [ -z "$PROJECT_FILES" ]; then - zip -9 -r $RELEASE_DIR/$PROJECT_NAME.love -x $0 $MAIN_RELEASE_DIR/\* ${PROJECT_ICNS##/*/} ${PROJECT_ICO##/*/} $EXCLUDE_FILES @ * + zip -9 -r "$RELEASE_DIR"/"$PROJECT_NAME".love -x $0 "$MAIN_RELEASE_DIR"/\* ${PROJECT_ICNS##/*/} ${PROJECT_ICO##/*/} $EXCLUDE_FILES @ * else - zip -9 -r $RELEASE_DIR/$PROJECT_NAME.love -x $0 $MAIN_RELEASE_DIR/\* ${PROJECT_ICNS##/*/} ${PROJECT_ICO##/*/} $EXCLUDE_FILES @ $PROJECT_FILES + zip -9 -r "$RELEASE_DIR"/"$PROJECT_NAME".love -x $0 "$MAIN_RELEASE_DIR"/\* ${PROJECT_ICNS##/*/} ${PROJECT_ICO##/*/} $EXCLUDE_FILES @ $PROJECT_FILES fi -cd $RELEASE_DIR +cd "$RELEASE_DIR" ## Windows 32-bits ## @@ -347,11 +347,11 @@ if [ "$RELEASE_WIN_32" = true ]; then fi fi unzip -qq love-$LOVE_VERSION-win32.zip - rm -rf $PROJECT_NAME-win32.zip 2> /dev/null - wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Resource\ Hacker/ResHacker.exe -addoverwrite "love-$LOVE_VERSION-win32/love.exe,love-$LOVE_VERSION-win32/love.exe,$PROJECT_ICO,ICONGROUP,MAINICON,0" - cat love-$LOVE_VERSION-win32/love.exe $PROJECT_NAME.love > love-$LOVE_VERSION-win32/$PROJECT_NAME.exe + rm -rf "$PROJECT_NAME"-win32.zip 2> /dev/null + wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Resource\ Hacker/ResHacker.exe -addoverwrite "love-$LOVE_VERSION-win32/love.exe,love-$LOVE_VERSION-win32/love.exe,"$PROJECT_ICO",ICONGROUP,MAINICON,0" + cat love-$LOVE_VERSION-win32/love.exe "$PROJECT_NAME".love > love-$LOVE_VERSION-win32/"$PROJECT_NAME".exe rm love-$LOVE_VERSION-win32/love.exe - zip -9 -qr $PROJECT_NAME-win32.zip love-$LOVE_VERSION-win32 + zip -9 -qr "$PROJECT_NAME"-win32.zip love-$LOVE_VERSION-win32 rm -rf love-$LOVE_VERSION-win32.zip love-$LOVE_VERSION-win32 fi @@ -373,11 +373,11 @@ if [ "$RELEASE_WIN_64" = true ] && [ "$LOVE_GT_080" = true ]; then fi fi unzip -qq love-$LOVE_VERSION-win64.zip - rm -rf $PROJECT_NAME-win64.zip 2> /dev/null - wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Resource\ Hacker/ResHacker.exe -addoverwrite "love-$LOVE_VERSION-win64/love.exe,love-$LOVE_VERSION-win64/love.exe,$PROJECT_ICO,ICONGROUP,MAINICON,0" - cat love-$LOVE_VERSION-win64/love.exe $PROJECT_NAME.love > love-$LOVE_VERSION-win64/$PROJECT_NAME.exe + rm -rf "$PROJECT_NAME"-win64.zip 2> /dev/null + wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Resource\ Hacker/ResHacker.exe -addoverwrite "love-$LOVE_VERSION-win64/love.exe,love-$LOVE_VERSION-win64/love.exe,"$PROJECT_ICO",ICONGROUP,MAINICON,0" + cat love-$LOVE_VERSION-win64/love.exe "$PROJECT_NAME".love > love-$LOVE_VERSION-win64/"$PROJECT_NAME".exe rm love-$LOVE_VERSION-win64/love.exe - zip -9 -qr $PROJECT_NAME-win64.zip love-$LOVE_VERSION-win64 + zip -9 -qr "$PROJECT_NAME"-win64.zip love-$LOVE_VERSION-win64 rm -rf love-$LOVE_VERSION-win64.zip love-$LOVE_VERSION-win64 fi @@ -393,10 +393,10 @@ if [ "$RELEASE_OSX" = true ]; then cp $CACHE_DIR/love-$LOVE_VERSION-macosx-x64.zip ./ fi unzip -qq love-$LOVE_VERSION-macosx-x64.zip - rm -rf $PROJECT_NAME-macosx-x64.zip 2> /dev/null - mv love.app $PROJECT_NAME.app - cp $PROJECT_NAME.love $PROJECT_NAME.app/Contents/Resources - cp $PROJECT_ICNS $PROJECT_NAME.app/Contents/Resources 2> /dev/null + rm -rf "$PROJECT_NAME"-macosx-x64.zip 2> /dev/null + mv love.app "$PROJECT_NAME".app + cp "$PROJECT_NAME".love "$PROJECT_NAME".app/Contents/Resources + cp "$PROJECT_ICNS" "$PROJECT_NAME".app/Contents/Resources 2> /dev/null echo " @@ -439,11 +439,11 @@ echo " CFBundleIconFile ${PROJECT_ICNS##/*/} CFBundleIdentifier - org.$COMPANY_NAME.$PROJECT_NAME + org.$COMPANY_NAME."$PROJECT_NAME" CFBundleInfoDictionaryVersion 6.0 CFBundleName - $PROJECT_NAME + "$PROJECT_NAME" CFBundlePackageType APPL CFBundleShortVersionString @@ -471,9 +471,9 @@ echo " NSPrincipalClass NSApplication -" > $PROJECT_NAME.app/Contents/Info.plist - zip -9 -qr $PROJECT_NAME-macosx-x64.zip $PROJECT_NAME.app - rm -rf love-$LOVE_VERSION-macosx-x64.zip $PROJECT_NAME.app +" > "$PROJECT_NAME".app/Contents/Info.plist + zip -9 -qr "$PROJECT_NAME"-macosx-x64.zip "$PROJECT_NAME".app + rm -rf love-$LOVE_VERSION-macosx-x64.zip "$PROJECT_NAME".app ## MacOS 32-bits ## else @@ -484,10 +484,10 @@ echo " cp $CACHE_DIR/love-$LOVE_VERSION-macosx-ub.zip ./ fi unzip -qq love-$LOVE_VERSION-macosx-ub.zip - rm -rf $PROJECT_NAME-macosx-ub.zip 2> /dev/null - mv love.app $PROJECT_NAME.app - cp $PROJECT_NAME.love $PROJECT_NAME.app/Contents/Resources - cp $PROJECT_ICNS $PROJECT_NAME.app/Contents/Resources 2> /dev/null + rm -rf "$PROJECT_NAME"-macosx-ub.zip 2> /dev/null + mv love.app "$PROJECT_NAME".app + cp "$PROJECT_NAME".love "$PROJECT_NAME".app/Contents/Resources + cp "$PROJECT_ICNS" "$PROJECT_NAME".app/Contents/Resources 2> /dev/null echo " @@ -530,11 +530,11 @@ echo " CFBundleIconFile ${PROJECT_ICNS##/*/} CFBundleIdentifier - com.$COMPANY_NAME.$PROJECT_NAME + com.$COMPANY_NAME."$PROJECT_NAME" CFBundleInfoDictionaryVersion 6.0 CFBundleName - $PROJECT_NAME + "$PROJECT_NAME" CFBundlePackageType APPL CFBundleShortVersionString @@ -562,15 +562,15 @@ echo " NSPrincipalClass NSApplication -" > $PROJECT_NAME.app/Contents/Info.plist - zip -9 -qr $PROJECT_NAME-macosx-ub.zip $PROJECT_NAME.app - rm -rf love-$LOVE_VERSION-macosx-ub.zip $PROJECT_NAME.app +" > "$PROJECT_NAME".app/Contents/Info.plist + zip -9 -qr "$PROJECT_NAME"-macosx-ub.zip "$PROJECT_NAME".app + rm -rf love-$LOVE_VERSION-macosx-ub.zip "$PROJECT_NAME".app fi fi ## Love file ## if [ "$RELEASE_LOVE" = false ]; then - rm $PROJECT_NAME.love + rm "$PROJECT_NAME".love fi echo "Done !"