From cb1c7a366467288c384095c0e4fcb8f4ee46cdf1 Mon Sep 17 00:00:00 2001 From: Todd Volkert Date: Fri, 15 Feb 2019 11:03:57 -0500 Subject: [PATCH] Ensure that Dart SDK dirs have appropriate permissions (#26315) This is a partial re-application of #24669 https://github.com/flutter/flutter/issues/24413 --- bin/internal/update_dart_sdk.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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