This is an automated email from the ASF dual-hosted git repository.

kou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/main by this push:
     new 22676fe398 GH-47244: [CI][Dev] Fix shellcheck errors in the 
ci/scripts/msys2_setup.sh (#47245)
22676fe398 is described below

commit 22676fe398f3dfc4bcc0458ae4a42f2f7fd4e1da
Author: Hiroyuki Sato <hiroys...@gmail.com>
AuthorDate: Tue Aug 5 09:03:17 2025 +0900

    GH-47244: [CI][Dev] Fix shellcheck errors in the ci/scripts/msys2_setup.sh 
(#47245)
    
    ### Rationale for this change
    
    This is the sub issue #44748.
    
    * SC2206: Quote to prevent word splitting/globbing
    * SC2086: Double quote to prevent globbing
    
    ```
    shellcheck ci/scripts/msys2_setup.sh
    
    In ci/scripts/msys2_setup.sh line 27:
        packages+=(${MINGW_PACKAGE_PREFIX}-aws-sdk-cpp)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 28:
        packages+=(${MINGW_PACKAGE_PREFIX}-boost)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 29:
        packages+=(${MINGW_PACKAGE_PREFIX}-brotli)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 30:
        packages+=(${MINGW_PACKAGE_PREFIX}-bzip2)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 31:
        packages+=(${MINGW_PACKAGE_PREFIX}-c-ares)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 32:
        packages+=(${MINGW_PACKAGE_PREFIX}-ccache)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 33:
        packages+=(${MINGW_PACKAGE_PREFIX}-clang)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 34:
        packages+=(${MINGW_PACKAGE_PREFIX}-cmake)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 35:
        packages+=(${MINGW_PACKAGE_PREFIX}-double-conversion)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 36:
        packages+=(${MINGW_PACKAGE_PREFIX}-gflags)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 37:
        packages+=(${MINGW_PACKAGE_PREFIX}-grpc)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 38:
        packages+=(${MINGW_PACKAGE_PREFIX}-gtest)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 39:
        packages+=(${MINGW_PACKAGE_PREFIX}-libutf8proc)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 40:
        packages+=(${MINGW_PACKAGE_PREFIX}-libxml2)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 41:
        packages+=(${MINGW_PACKAGE_PREFIX}-llvm)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 42:
        packages+=(${MINGW_PACKAGE_PREFIX}-lz4)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 43:
        packages+=(${MINGW_PACKAGE_PREFIX}-ninja)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 44:
        packages+=(${MINGW_PACKAGE_PREFIX}-nlohmann-json)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 45:
        packages+=(${MINGW_PACKAGE_PREFIX}-protobuf)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 46:
        packages+=(${MINGW_PACKAGE_PREFIX}-rapidjson)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 47:
        packages+=(${MINGW_PACKAGE_PREFIX}-re2)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 48:
        packages+=(${MINGW_PACKAGE_PREFIX}-snappy)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 49:
        packages+=(${MINGW_PACKAGE_PREFIX}-sqlite3)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 50:
        packages+=(${MINGW_PACKAGE_PREFIX}-thrift)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 51:
        packages+=(${MINGW_PACKAGE_PREFIX}-xsimd)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 52:
        packages+=(${MINGW_PACKAGE_PREFIX}-uriparser)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 53:
        packages+=(${MINGW_PACKAGE_PREFIX}-zstd)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 61:
          packages+=(${MINGW_PACKAGE_PREFIX}-openssl)
                     ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 62:
          packages+=(${MINGW_PACKAGE_PREFIX}-zlib)
                     ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 69:
        packages+=(${MINGW_PACKAGE_PREFIX}-gobject-introspection)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 70:
        packages+=(${MINGW_PACKAGE_PREFIX}-meson)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 71:
        packages+=(${MINGW_PACKAGE_PREFIX}-vala)
                   ^---------------------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
    
    In ci/scripts/msys2_setup.sh line 81:
    "$(dirname $0)/ccache_setup.sh"
               ^-- SC2086 (info): Double quote to prevent globbing and word 
splitting.
    
    Did you mean:
    "$(dirname "$0")/ccache_setup.sh"
    
    In ci/scripts/msys2_setup.sh line 82:
    echo "CCACHE_DIR=$(cygpath --absolute --windows ccache)" >> $GITHUB_ENV
                                                                ^---------^ 
SC2086 (info): Double quote to prevent globbing and word splitting.
    
    Did you mean:
    echo "CCACHE_DIR=$(cygpath --absolute --windows ccache)" >> "$GITHUB_ENV"
    
    In ci/scripts/msys2_setup.sh line 83:
    echo "PIP_CACHE_DIR=$(pip cache dir)" >> $GITHUB_ENV
                                             ^---------^ SC2086 (info): Double 
quote to prevent globbing and word splitting.
    
    Did you mean:
    echo "PIP_CACHE_DIR=$(pip cache dir)" >> "$GITHUB_ENV"
    
    For more information:
      https://www.shellcheck.net/wiki/SC2206 -- Quote to prevent word 
splitting/g...
      https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent 
globbing ...
    ```
    
    ### What changes are included in this PR?
    
    Quote variables.
    
    ### Are these changes tested?
    
    Yes.
    
    ### Are there any user-facing changes?
    
    No.
    * GitHub Issue: #47244
    
    Authored-by: Hiroyuki Sato <hiroys...@gmail.com>
    Signed-off-by: Sutou Kouhei <k...@clear-code.com>
---
 .pre-commit-config.yaml   |  1 +
 ci/scripts/msys2_setup.sh | 71 ++++++++++++++++++++++++-----------------------
 2 files changed, 37 insertions(+), 35 deletions(-)

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index cf1d8e9835..e703474e3e 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -334,6 +334,7 @@ repos:
           ?^ci/scripts/integration_hdfs\.sh$|
           ?^ci/scripts/integration_spark\.sh$|
           ?^ci/scripts/matlab_build\.sh$|
+          ?^ci/scripts/msys2_setup\.sh$|
           ?^ci/scripts/msys2_system_clean\.sh$|
           ?^ci/scripts/msys2_system_upgrade\.sh$|
           ?^ci/scripts/nanoarrow_build\.sh$|
diff --git a/ci/scripts/msys2_setup.sh b/ci/scripts/msys2_setup.sh
index 28b215d25f..0ce9343a7f 100755
--- a/ci/scripts/msys2_setup.sh
+++ b/ci/scripts/msys2_setup.sh
@@ -24,33 +24,33 @@ target=$1
 packages=()
 case "${target}" in
   cpp|c_glib|ruby)
-    packages+=(${MINGW_PACKAGE_PREFIX}-aws-sdk-cpp)
-    packages+=(${MINGW_PACKAGE_PREFIX}-boost)
-    packages+=(${MINGW_PACKAGE_PREFIX}-brotli)
-    packages+=(${MINGW_PACKAGE_PREFIX}-bzip2)
-    packages+=(${MINGW_PACKAGE_PREFIX}-c-ares)
-    packages+=(${MINGW_PACKAGE_PREFIX}-ccache)
-    packages+=(${MINGW_PACKAGE_PREFIX}-clang)
-    packages+=(${MINGW_PACKAGE_PREFIX}-cmake)
-    packages+=(${MINGW_PACKAGE_PREFIX}-double-conversion)
-    packages+=(${MINGW_PACKAGE_PREFIX}-gflags)
-    packages+=(${MINGW_PACKAGE_PREFIX}-grpc)
-    packages+=(${MINGW_PACKAGE_PREFIX}-gtest)
-    packages+=(${MINGW_PACKAGE_PREFIX}-libutf8proc)
-    packages+=(${MINGW_PACKAGE_PREFIX}-libxml2)
-    packages+=(${MINGW_PACKAGE_PREFIX}-llvm)
-    packages+=(${MINGW_PACKAGE_PREFIX}-lz4)
-    packages+=(${MINGW_PACKAGE_PREFIX}-ninja)
-    packages+=(${MINGW_PACKAGE_PREFIX}-nlohmann-json)
-    packages+=(${MINGW_PACKAGE_PREFIX}-protobuf)
-    packages+=(${MINGW_PACKAGE_PREFIX}-rapidjson)
-    packages+=(${MINGW_PACKAGE_PREFIX}-re2)
-    packages+=(${MINGW_PACKAGE_PREFIX}-snappy)
-    packages+=(${MINGW_PACKAGE_PREFIX}-sqlite3)
-    packages+=(${MINGW_PACKAGE_PREFIX}-thrift)
-    packages+=(${MINGW_PACKAGE_PREFIX}-xsimd)
-    packages+=(${MINGW_PACKAGE_PREFIX}-uriparser)
-    packages+=(${MINGW_PACKAGE_PREFIX}-zstd)
+    packages+=("${MINGW_PACKAGE_PREFIX}-aws-sdk-cpp")
+    packages+=("${MINGW_PACKAGE_PREFIX}-boost")
+    packages+=("${MINGW_PACKAGE_PREFIX}-brotli")
+    packages+=("${MINGW_PACKAGE_PREFIX}-bzip2")
+    packages+=("${MINGW_PACKAGE_PREFIX}-c-ares")
+    packages+=("${MINGW_PACKAGE_PREFIX}-ccache")
+    packages+=("${MINGW_PACKAGE_PREFIX}-clang")
+    packages+=("${MINGW_PACKAGE_PREFIX}-cmake")
+    packages+=("${MINGW_PACKAGE_PREFIX}-double-conversion")
+    packages+=("${MINGW_PACKAGE_PREFIX}-gflags")
+    packages+=("${MINGW_PACKAGE_PREFIX}-grpc")
+    packages+=("${MINGW_PACKAGE_PREFIX}-gtest")
+    packages+=("${MINGW_PACKAGE_PREFIX}-libutf8proc")
+    packages+=("${MINGW_PACKAGE_PREFIX}-libxml2")
+    packages+=("${MINGW_PACKAGE_PREFIX}-llvm")
+    packages+=("${MINGW_PACKAGE_PREFIX}-lz4")
+    packages+=("${MINGW_PACKAGE_PREFIX}-ninja")
+    packages+=("${MINGW_PACKAGE_PREFIX}-nlohmann-json")
+    packages+=("${MINGW_PACKAGE_PREFIX}-protobuf")
+    packages+=("${MINGW_PACKAGE_PREFIX}-rapidjson")
+    packages+=("${MINGW_PACKAGE_PREFIX}-re2")
+    packages+=("${MINGW_PACKAGE_PREFIX}-snappy")
+    packages+=("${MINGW_PACKAGE_PREFIX}-sqlite3")
+    packages+=("${MINGW_PACKAGE_PREFIX}-thrift")
+    packages+=("${MINGW_PACKAGE_PREFIX}-xsimd")
+    packages+=("${MINGW_PACKAGE_PREFIX}-uriparser")
+    packages+=("${MINGW_PACKAGE_PREFIX}-zstd")
 
     if [ "${target}" != "ruby" ]; then
       # We don't update the exiting packages for Ruby because
@@ -58,17 +58,17 @@ case "${target}" in
       # OpenSSL and zlib separately. They should be ABI compatible
       # with packages installed by MSYS2. If we specify packages
       # explicitly here, the existing packages may be updated.
-      packages+=(${MINGW_PACKAGE_PREFIX}-openssl)
-      packages+=(${MINGW_PACKAGE_PREFIX}-zlib)
+      packages+=("${MINGW_PACKAGE_PREFIX}-openssl")
+      packages+=("${MINGW_PACKAGE_PREFIX}-zlib")
     fi
   ;;
 esac
 
 case "${target}" in
   c_glib|ruby)
-    packages+=(${MINGW_PACKAGE_PREFIX}-gobject-introspection)
-    packages+=(${MINGW_PACKAGE_PREFIX}-meson)
-    packages+=(${MINGW_PACKAGE_PREFIX}-vala)
+    packages+=("${MINGW_PACKAGE_PREFIX}-gobject-introspection")
+    packages+=("${MINGW_PACKAGE_PREFIX}-meson")
+    packages+=("${MINGW_PACKAGE_PREFIX}-vala")
     ;;
 esac
 
@@ -78,6 +78,7 @@ pacman \
   --sync \
   "${packages[@]}"
 
-"$(dirname $0)/ccache_setup.sh"
-echo "CCACHE_DIR=$(cygpath --absolute --windows ccache)" >> $GITHUB_ENV
-echo "PIP_CACHE_DIR=$(pip cache dir)" >> $GITHUB_ENV
+ccache_dir=$(dirname "$0")
+"${ccache_dir}/ccache_setup.sh"
+echo "CCACHE_DIR=$(cygpath --absolute --windows ccache)" >> "$GITHUB_ENV"
+echo "PIP_CACHE_DIR=$(pip cache dir)" >> "$GITHUB_ENV"

Reply via email to