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"