diff --git a/bin/internal/update_dart_sdk.sh b/bin/internal/update_dart_sdk.sh index a53eb70597..999576c178 100755 --- a/bin/internal/update_dart_sdk.sh +++ b/bin/internal/update_dart_sdk.sh @@ -44,9 +44,11 @@ if [ ! -f "$ENGINE_STAMP" ] || [ "$ENGINE_VERSION" != `cat "$ENGINE_STAMP"` ]; t case "$(uname -s)" in Darwin) DART_ZIP_NAME="dart-sdk-darwin-x64.zip" + IS_USER_EXECUTABLE="-perm +100" ;; Linux) DART_ZIP_NAME="dart-sdk-linux-x64.zip" + IS_USER_EXECUTABLE="-perm /u+x" ;; *) echo "Unknown operating system. Cannot install Dart SDK." @@ -65,7 +67,7 @@ if [ ! -f "$ENGINE_STAMP" ] || [ "$ENGINE_VERSION" != `cat "$ENGINE_STAMP"` ]; t # install the new sdk rm -rf -- "$DART_SDK_PATH" - mkdir -p -- "$DART_SDK_PATH" + mkdir -m 755 -p -- "$DART_SDK_PATH" DART_SDK_ZIP="$FLUTTER_ROOT/bin/cache/$DART_ZIP_NAME" curl --continue-at - --location --output "$DART_SDK_ZIP" "$DART_SDK_URL" 2>&1 || { @@ -87,6 +89,8 @@ if [ ! -f "$ENGINE_STAMP" ] || [ "$ENGINE_VERSION" != `cat "$ENGINE_STAMP"` ]; t exit 1 } rm -f -- "$DART_SDK_ZIP" + find "$DART_SDK_PATH" -type d -exec chmod 755 {} \; + find "$DART_SDK_PATH" -type f $IS_USER_EXECUTABLE -exec chmod a+x,a+r {} \; echo "$ENGINE_VERSION" > "$ENGINE_STAMP" # delete any temporary sdk path