Skip to content

Conversation

@hiroyuki-sato
Copy link
Collaborator

@hiroyuki-sato hiroyuki-sato commented Nov 22, 2025

Rationale for this change

This is the sub issue #44748.

  • SC1090: Can't follow non-constant source. Use a directive to specify location
  • SC1091: Not following: (error message here)
  • SC2007: Use $((..)) instead of deprecated $[..]
  • SC2086: Double quote to prevent globbing and word splitting.
  • SC2155: Declare and assign separately to avoid masking return values.
  • SC2223: This default assignment may cause DoS due to globbing. Quote it.
  • SC2236: Use -n instead of ! -z.
  • SC2242: Can only exit with status 0-255. Other data should be written to stdout/stderr.
In ci/scripts/cpp_build.sh line 25:
: ${ARROW_OFFLINE:=OFF}
  ^-------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/cpp_build.sh line 26:
: ${ARROW_USE_CCACHE:=OFF}
  ^----------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/cpp_build.sh line 27:
: ${BUILD_DOCS_CPP:=OFF}
  ^--------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/cpp_build.sh line 30:
  git config --global --add safe.directory ${1}
                                           ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  git config --global --add safe.directory "${1}"


In ci/scripts/cpp_build.sh line 34:
if [ ! -z "${CONDA_PREFIX}" ] && [ "${ARROW_EMSCRIPTEN:-OFF}" = "OFF" ]; then
     ^-- SC2236 (style): Use -n instead of ! -z.


In ci/scripts/cpp_build.sh line 45:
  export ARROW_GANDIVA_PC_CXX_FLAGS=$(echo | ${CXX} -E -Wp,-v -xc++ - 2>&1 | grep '^ ' | awk '{print "-isystem;" substr($1, 1)}' | tr '\n' ';')
         ^------------------------^ SC2155 (warning): Declare and assign separately to avoid masking return values.


In ci/scripts/cpp_build.sh line 47:
  export ARROW_GANDIVA_PC_CXX_FLAGS="-isysroot;$(xcrun --show-sdk-path)"
         ^------------------------^ SC2155 (warning): Declare and assign separately to avoid masking return values.


In ci/scripts/cpp_build.sh line 54:
        : ${ARROW_C_FLAGS_DEBUG:=-g1}
          ^-------------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/cpp_build.sh line 55:
        : ${ARROW_CXX_FLAGS_DEBUG:=-g1}
          ^---------------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/cpp_build.sh line 100:
mkdir -p ${build_dir}
         ^----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
mkdir -p "${build_dir}"


In ci/scripts/cpp_build.sh line 101:
pushd ${build_dir}
      ^----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
pushd "${build_dir}"


In ci/scripts/cpp_build.sh line 104:
  ${source_dir}/thirdparty/download_dependencies.sh ${PWD}/thirdparty > \
  ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                    ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  "${source_dir}"/thirdparty/download_dependencies.sh "${PWD}"/thirdparty > \


In ci/scripts/cpp_build.sh line 106:
  . enable_offline_build.sh
    ^---------------------^ SC1091 (info): Not following: enable_offline_build.sh: openBinaryFile: does not exist (No such file or directory)


In ci/scripts/cpp_build.sh line 144:
    --prefix=${MESON_PREFIX:-${ARROW_HOME}} \
             ^----------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    --prefix="${MESON_PREFIX:-${ARROW_HOME}}" \


In ci/scripts/cpp_build.sh line 145:
    --buildtype=${ARROW_BUILD_TYPE:-debug} \
                ^------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    --buildtype="${ARROW_BUILD_TYPE:-debug}" \


In ci/scripts/cpp_build.sh line 151:
    ${source_dir}
    ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    "${source_dir}"


In ci/scripts/cpp_build.sh line 158:
    exit -1
         ^-- SC2242 (error): Can only exit with status 0-255. Other data should be written to stdout/stderr.


In ci/scripts/cpp_build.sh line 161:
  source ~/emsdk/emsdk_env.sh
         ^------------------^ SC1090 (warning): ShellCheck can't follow non-constant source. Use a directive to specify location.


In ci/scripts/cpp_build.sh line 162:
  export CMAKE_INSTALL_PREFIX=$(em-config CACHE)/sysroot
         ^------------------^ SC2155 (warning): Declare and assign separately to avoid masking return values.


In ci/scripts/cpp_build.sh line 167:
    --preset=ninja-${ARROW_BUILD_TYPE:-debug}-emscripten \
                   ^------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    --preset=ninja-"${ARROW_BUILD_TYPE:-debug}"-emscripten \


In ci/scripts/cpp_build.sh line 168:
    -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE:-OFF} \
                             ^----------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DCMAKE_VERBOSE_MAKEFILE="${CMAKE_VERBOSE_MAKEFILE:-OFF}" \


In ci/scripts/cpp_build.sh line 172:
    -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR:-lib} \
                           ^--------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DCMAKE_INSTALL_LIBDIR="${CMAKE_INSTALL_LIBDIR:-lib}" \


In ci/scripts/cpp_build.sh line 173:
    -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX:-${ARROW_HOME}} \
                           ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DCMAKE_INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX:-${ARROW_HOME}}" \


In ci/scripts/cpp_build.sh line 174:
    -DCMAKE_UNITY_BUILD=${CMAKE_UNITY_BUILD:-OFF} \
                        ^-----------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DCMAKE_UNITY_BUILD="${CMAKE_UNITY_BUILD:-OFF}" \


In ci/scripts/cpp_build.sh line 175:
    ${ARROW_CMAKE_ARGS} \
    ^-----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    "${ARROW_CMAKE_ARGS}" \


In ci/scripts/cpp_build.sh line 176:
    ${source_dir}
    ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    "${source_dir}"


In ci/scripts/cpp_build.sh line 180:
    ${ARROW_CMAKE_ARGS} \
    ^-----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    "${ARROW_CMAKE_ARGS}" \


In ci/scripts/cpp_build.sh line 181:
    ${source_dir}
    ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    "${source_dir}"


In ci/scripts/cpp_build.sh line 184:
    -Dabsl_SOURCE=${absl_SOURCE:-} \
                  ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -Dabsl_SOURCE="${absl_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 185:
    -DARROW_ACERO=${ARROW_ACERO:-OFF} \
                  ^-----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_ACERO="${ARROW_ACERO:-OFF}" \


In ci/scripts/cpp_build.sh line 186:
    -DARROW_AZURE=${ARROW_AZURE:-OFF} \
                  ^-----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_AZURE="${ARROW_AZURE:-OFF}" \


In ci/scripts/cpp_build.sh line 187:
    -DARROW_BOOST_USE_SHARED=${ARROW_BOOST_USE_SHARED:-ON} \
                             ^---------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_BOOST_USE_SHARED="${ARROW_BOOST_USE_SHARED:-ON}" \


In ci/scripts/cpp_build.sh line 188:
    -DARROW_BUILD_BENCHMARKS_REFERENCE=${ARROW_BUILD_BENCHMARKS:-OFF} \
                                       ^----------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_BUILD_BENCHMARKS_REFERENCE="${ARROW_BUILD_BENCHMARKS:-OFF}" \


In ci/scripts/cpp_build.sh line 189:
    -DARROW_BUILD_BENCHMARKS=${ARROW_BUILD_BENCHMARKS:-OFF} \
                             ^----------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_BUILD_BENCHMARKS="${ARROW_BUILD_BENCHMARKS:-OFF}" \


In ci/scripts/cpp_build.sh line 190:
    -DARROW_BUILD_EXAMPLES=${ARROW_BUILD_EXAMPLES:-OFF} \
                           ^--------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_BUILD_EXAMPLES="${ARROW_BUILD_EXAMPLES:-OFF}" \


In ci/scripts/cpp_build.sh line 191:
    -DARROW_BUILD_INTEGRATION=${ARROW_BUILD_INTEGRATION:-OFF} \
                              ^-----------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_BUILD_INTEGRATION="${ARROW_BUILD_INTEGRATION:-OFF}" \


In ci/scripts/cpp_build.sh line 192:
    -DARROW_BUILD_SHARED=${ARROW_BUILD_SHARED:-ON} \
                         ^-----------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_BUILD_SHARED="${ARROW_BUILD_SHARED:-ON}" \


In ci/scripts/cpp_build.sh line 193:
    -DARROW_BUILD_STATIC=${ARROW_BUILD_STATIC:-ON} \
                         ^-----------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_BUILD_STATIC="${ARROW_BUILD_STATIC:-ON}" \


In ci/scripts/cpp_build.sh line 194:
    -DARROW_BUILD_TESTS=${ARROW_BUILD_TESTS:-OFF} \
                        ^-----------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_BUILD_TESTS="${ARROW_BUILD_TESTS:-OFF}" \


In ci/scripts/cpp_build.sh line 195:
    -DARROW_BUILD_UTILITIES=${ARROW_BUILD_UTILITIES:-ON} \
                            ^--------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_BUILD_UTILITIES="${ARROW_BUILD_UTILITIES:-ON}" \


In ci/scripts/cpp_build.sh line 196:
    -DARROW_COMPUTE=${ARROW_COMPUTE:-ON} \
                    ^------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_COMPUTE="${ARROW_COMPUTE:-ON}" \


In ci/scripts/cpp_build.sh line 197:
    -DARROW_CSV=${ARROW_CSV:-ON} \
                ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_CSV="${ARROW_CSV:-ON}" \


In ci/scripts/cpp_build.sh line 198:
    -DARROW_CUDA=${ARROW_CUDA:-OFF} \
                 ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_CUDA="${ARROW_CUDA:-OFF}" \


In ci/scripts/cpp_build.sh line 199:
    -DARROW_CXXFLAGS=${ARROW_CXXFLAGS:-} \
                     ^-----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_CXXFLAGS="${ARROW_CXXFLAGS:-}" \


In ci/scripts/cpp_build.sh line 206:
    -DARROW_DATASET=${ARROW_DATASET:-OFF} \
                    ^-------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_DATASET="${ARROW_DATASET:-OFF}" \


In ci/scripts/cpp_build.sh line 207:
    -DARROW_DEPENDENCY_SOURCE=${ARROW_DEPENDENCY_SOURCE:-AUTO} \
                              ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_DEPENDENCY_SOURCE="${ARROW_DEPENDENCY_SOURCE:-AUTO}" \


In ci/scripts/cpp_build.sh line 208:
    -DARROW_DEPENDENCY_USE_SHARED=${ARROW_DEPENDENCY_USE_SHARED:-ON} \
                                  ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_DEPENDENCY_USE_SHARED="${ARROW_DEPENDENCY_USE_SHARED:-ON}" \


In ci/scripts/cpp_build.sh line 209:
    -DARROW_ENABLE_THREADING=${ARROW_ENABLE_THREADING:-ON} \
                             ^---------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_ENABLE_THREADING="${ARROW_ENABLE_THREADING:-ON}" \


In ci/scripts/cpp_build.sh line 210:
    -DARROW_ENABLE_TIMING_TESTS=${ARROW_ENABLE_TIMING_TESTS:-ON} \
                                ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_ENABLE_TIMING_TESTS="${ARROW_ENABLE_TIMING_TESTS:-ON}" \


In ci/scripts/cpp_build.sh line 211:
    -DARROW_EXTRA_ERROR_CONTEXT=${ARROW_EXTRA_ERROR_CONTEXT:-OFF} \
                                ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_EXTRA_ERROR_CONTEXT="${ARROW_EXTRA_ERROR_CONTEXT:-OFF}" \


In ci/scripts/cpp_build.sh line 212:
    -DARROW_FILESYSTEM=${ARROW_FILESYSTEM:-ON} \
                       ^---------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_FILESYSTEM="${ARROW_FILESYSTEM:-ON}" \


In ci/scripts/cpp_build.sh line 213:
    -DARROW_FLIGHT=${ARROW_FLIGHT:-OFF} \
                   ^------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_FLIGHT="${ARROW_FLIGHT:-OFF}" \


In ci/scripts/cpp_build.sh line 214:
    -DARROW_FLIGHT_SQL=${ARROW_FLIGHT_SQL:-OFF} \
                       ^----------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_FLIGHT_SQL="${ARROW_FLIGHT_SQL:-OFF}" \


In ci/scripts/cpp_build.sh line 215:
    -DARROW_FLIGHT_SQL_ODBC=${ARROW_FLIGHT_SQL_ODBC:-OFF} \
                            ^---------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_FLIGHT_SQL_ODBC="${ARROW_FLIGHT_SQL_ODBC:-OFF}" \


In ci/scripts/cpp_build.sh line 216:
    -DARROW_FUZZING=${ARROW_FUZZING:-OFF} \
                    ^-------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_FUZZING="${ARROW_FUZZING:-OFF}" \


In ci/scripts/cpp_build.sh line 217:
    -DARROW_GANDIVA_PC_CXX_FLAGS=${ARROW_GANDIVA_PC_CXX_FLAGS:-} \
                                 ^-----------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_GANDIVA_PC_CXX_FLAGS="${ARROW_GANDIVA_PC_CXX_FLAGS:-}" \


In ci/scripts/cpp_build.sh line 218:
    -DARROW_GANDIVA=${ARROW_GANDIVA:-OFF} \
                    ^-------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_GANDIVA="${ARROW_GANDIVA:-OFF}" \


In ci/scripts/cpp_build.sh line 219:
    -DARROW_GCS=${ARROW_GCS:-OFF} \
                ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_GCS="${ARROW_GCS:-OFF}" \


In ci/scripts/cpp_build.sh line 220:
    -DARROW_HDFS=${ARROW_HDFS:-ON} \
                 ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_HDFS="${ARROW_HDFS:-ON}" \


In ci/scripts/cpp_build.sh line 221:
    -DARROW_INSTALL_NAME_RPATH=${ARROW_INSTALL_NAME_RPATH:-ON} \
                               ^-----------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_INSTALL_NAME_RPATH="${ARROW_INSTALL_NAME_RPATH:-ON}" \


In ci/scripts/cpp_build.sh line 222:
    -DARROW_JEMALLOC=${ARROW_JEMALLOC:-OFF} \
                     ^--------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_JEMALLOC="${ARROW_JEMALLOC:-OFF}" \


In ci/scripts/cpp_build.sh line 223:
    -DARROW_JSON=${ARROW_JSON:-ON} \
                 ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_JSON="${ARROW_JSON:-ON}" \


In ci/scripts/cpp_build.sh line 224:
    -DARROW_LARGE_MEMORY_TESTS=${ARROW_LARGE_MEMORY_TESTS:-OFF} \
                               ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_LARGE_MEMORY_TESTS="${ARROW_LARGE_MEMORY_TESTS:-OFF}" \


In ci/scripts/cpp_build.sh line 225:
    -DARROW_MIMALLOC=${ARROW_MIMALLOC:-ON} \
                     ^-------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_MIMALLOC="${ARROW_MIMALLOC:-ON}" \


In ci/scripts/cpp_build.sh line 226:
    -DARROW_ORC=${ARROW_ORC:-OFF} \
                ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_ORC="${ARROW_ORC:-OFF}" \


In ci/scripts/cpp_build.sh line 227:
    -DARROW_PARQUET=${ARROW_PARQUET:-OFF} \
                    ^-------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_PARQUET="${ARROW_PARQUET:-OFF}" \


In ci/scripts/cpp_build.sh line 228:
    -DARROW_RUNTIME_SIMD_LEVEL=${ARROW_RUNTIME_SIMD_LEVEL:-MAX} \
                               ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_RUNTIME_SIMD_LEVEL="${ARROW_RUNTIME_SIMD_LEVEL:-MAX}" \


In ci/scripts/cpp_build.sh line 229:
    -DARROW_S3=${ARROW_S3:-OFF} \
               ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_S3="${ARROW_S3:-OFF}" \


In ci/scripts/cpp_build.sh line 230:
    -DARROW_SIMD_LEVEL=${ARROW_SIMD_LEVEL:-DEFAULT} \
                       ^--------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_SIMD_LEVEL="${ARROW_SIMD_LEVEL:-DEFAULT}" \


In ci/scripts/cpp_build.sh line 231:
    -DARROW_SUBSTRAIT=${ARROW_SUBSTRAIT:-OFF} \
                      ^---------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_SUBSTRAIT="${ARROW_SUBSTRAIT:-OFF}" \


In ci/scripts/cpp_build.sh line 232:
    -DARROW_TEST_LINKAGE=${ARROW_TEST_LINKAGE:-shared} \
                         ^---------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_TEST_LINKAGE="${ARROW_TEST_LINKAGE:-shared}" \


In ci/scripts/cpp_build.sh line 233:
    -DARROW_TEST_MEMCHECK=${ARROW_TEST_MEMCHECK:-OFF} \
                          ^-------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_TEST_MEMCHECK="${ARROW_TEST_MEMCHECK:-OFF}" \


In ci/scripts/cpp_build.sh line 234:
    -DARROW_USE_ASAN=${ARROW_USE_ASAN:-OFF} \
                     ^--------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_USE_ASAN="${ARROW_USE_ASAN:-OFF}" \


In ci/scripts/cpp_build.sh line 235:
    -DARROW_USE_CCACHE=${ARROW_USE_CCACHE:-ON} \
                       ^---------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_USE_CCACHE="${ARROW_USE_CCACHE:-ON}" \


In ci/scripts/cpp_build.sh line 236:
    -DARROW_USE_GLOG=${ARROW_USE_GLOG:-OFF} \
                     ^--------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_USE_GLOG="${ARROW_USE_GLOG:-OFF}" \


In ci/scripts/cpp_build.sh line 237:
    -DARROW_USE_LLD=${ARROW_USE_LLD:-OFF} \
                    ^-------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_USE_LLD="${ARROW_USE_LLD:-OFF}" \


In ci/scripts/cpp_build.sh line 238:
    -DARROW_USE_MOLD=${ARROW_USE_MOLD:-OFF} \
                     ^--------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_USE_MOLD="${ARROW_USE_MOLD:-OFF}" \


In ci/scripts/cpp_build.sh line 239:
    -DARROW_USE_STATIC_CRT=${ARROW_USE_STATIC_CRT:-OFF} \
                           ^--------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_USE_STATIC_CRT="${ARROW_USE_STATIC_CRT:-OFF}" \


In ci/scripts/cpp_build.sh line 240:
    -DARROW_USE_TSAN=${ARROW_USE_TSAN:-OFF} \
                     ^--------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_USE_TSAN="${ARROW_USE_TSAN:-OFF}" \


In ci/scripts/cpp_build.sh line 241:
    -DARROW_USE_UBSAN=${ARROW_USE_UBSAN:-OFF} \
                      ^---------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_USE_UBSAN="${ARROW_USE_UBSAN:-OFF}" \


In ci/scripts/cpp_build.sh line 242:
    -DARROW_VERBOSE_THIRDPARTY_BUILD=${ARROW_VERBOSE_THIRDPARTY_BUILD:-OFF} \
                                     ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_VERBOSE_THIRDPARTY_BUILD="${ARROW_VERBOSE_THIRDPARTY_BUILD:-OFF}" \


In ci/scripts/cpp_build.sh line 243:
    -DARROW_WITH_BROTLI=${ARROW_WITH_BROTLI:-OFF} \
                        ^-----------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_WITH_BROTLI="${ARROW_WITH_BROTLI:-OFF}" \


In ci/scripts/cpp_build.sh line 244:
    -DARROW_WITH_BZ2=${ARROW_WITH_BZ2:-OFF} \
                     ^--------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_WITH_BZ2="${ARROW_WITH_BZ2:-OFF}" \


In ci/scripts/cpp_build.sh line 245:
    -DARROW_WITH_LZ4=${ARROW_WITH_LZ4:-OFF} \
                     ^--------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_WITH_LZ4="${ARROW_WITH_LZ4:-OFF}" \


In ci/scripts/cpp_build.sh line 246:
    -DARROW_WITH_OPENTELEMETRY=${ARROW_WITH_OPENTELEMETRY:-OFF} \
                               ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_WITH_OPENTELEMETRY="${ARROW_WITH_OPENTELEMETRY:-OFF}" \


In ci/scripts/cpp_build.sh line 247:
    -DARROW_WITH_MUSL=${ARROW_WITH_MUSL:-OFF} \
                      ^---------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_WITH_MUSL="${ARROW_WITH_MUSL:-OFF}" \


In ci/scripts/cpp_build.sh line 248:
    -DARROW_WITH_SNAPPY=${ARROW_WITH_SNAPPY:-OFF} \
                        ^-----------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_WITH_SNAPPY="${ARROW_WITH_SNAPPY:-OFF}" \


In ci/scripts/cpp_build.sh line 249:
    -DARROW_WITH_UTF8PROC=${ARROW_WITH_UTF8PROC:-ON} \
                          ^------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_WITH_UTF8PROC="${ARROW_WITH_UTF8PROC:-ON}" \


In ci/scripts/cpp_build.sh line 250:
    -DARROW_WITH_ZLIB=${ARROW_WITH_ZLIB:-OFF} \
                      ^---------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_WITH_ZLIB="${ARROW_WITH_ZLIB:-OFF}" \


In ci/scripts/cpp_build.sh line 251:
    -DARROW_WITH_ZSTD=${ARROW_WITH_ZSTD:-OFF} \
                      ^---------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DARROW_WITH_ZSTD="${ARROW_WITH_ZSTD:-OFF}" \


In ci/scripts/cpp_build.sh line 252:
    -DAWSSDK_SOURCE=${AWSSDK_SOURCE:-} \
                    ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DAWSSDK_SOURCE="${AWSSDK_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 253:
    -DAzure_SOURCE=${Azure_SOURCE:-} \
                   ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DAzure_SOURCE="${Azure_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 254:
    -Dbenchmark_SOURCE=${benchmark_SOURCE:-} \
                       ^-------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -Dbenchmark_SOURCE="${benchmark_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 255:
    -DBOOST_SOURCE=${BOOST_SOURCE:-} \
                   ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DBOOST_SOURCE="${BOOST_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 256:
    -DBrotli_SOURCE=${Brotli_SOURCE:-} \
                    ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DBrotli_SOURCE="${Brotli_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 257:
    -DBUILD_WARNING_LEVEL=${BUILD_WARNING_LEVEL:-CHECKIN} \
                          ^-----------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DBUILD_WARNING_LEVEL="${BUILD_WARNING_LEVEL:-CHECKIN}" \


In ci/scripts/cpp_build.sh line 258:
    -Dc-ares_SOURCE=${cares_SOURCE:-} \
                    ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -Dc-ares_SOURCE="${cares_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 259:
    -DCMAKE_BUILD_TYPE=${ARROW_BUILD_TYPE:-debug} \
                       ^------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DCMAKE_BUILD_TYPE="${ARROW_BUILD_TYPE:-debug}" \


In ci/scripts/cpp_build.sh line 260:
    -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE:-OFF} \
                             ^----------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DCMAKE_VERBOSE_MAKEFILE="${CMAKE_VERBOSE_MAKEFILE:-OFF}" \


In ci/scripts/cpp_build.sh line 264:
    -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR:-lib} \
                           ^--------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DCMAKE_INSTALL_LIBDIR="${CMAKE_INSTALL_LIBDIR:-lib}" \


In ci/scripts/cpp_build.sh line 265:
    -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX:-${ARROW_HOME}} \
                           ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DCMAKE_INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX:-${ARROW_HOME}}" \


In ci/scripts/cpp_build.sh line 266:
    -DCMAKE_UNITY_BUILD=${CMAKE_UNITY_BUILD:-OFF} \
                        ^-----------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DCMAKE_UNITY_BUILD="${CMAKE_UNITY_BUILD:-OFF}" \


In ci/scripts/cpp_build.sh line 267:
    -DCUDAToolkit_ROOT=${CUDAToolkit_ROOT:-} \
                       ^-------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DCUDAToolkit_ROOT="${CUDAToolkit_ROOT:-}" \


In ci/scripts/cpp_build.sh line 268:
    -Dgflags_SOURCE=${gflags_SOURCE:-} \
                    ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -Dgflags_SOURCE="${gflags_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 269:
    -Dgoogle_cloud_cpp_storage_SOURCE=${google_cloud_cpp_storage_SOURCE:-} \
                                      ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -Dgoogle_cloud_cpp_storage_SOURCE="${google_cloud_cpp_storage_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 270:
    -DgRPC_SOURCE=${gRPC_SOURCE:-} \
                  ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DgRPC_SOURCE="${gRPC_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 271:
    -DGTest_SOURCE=${GTest_SOURCE:-} \
                   ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DGTest_SOURCE="${GTest_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 272:
    -Dlz4_SOURCE=${lz4_SOURCE:-} \
                 ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -Dlz4_SOURCE="${lz4_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 273:
    -Dopentelemetry-cpp_SOURCE=${opentelemetry_cpp_SOURCE:-} \
                               ^---------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -Dopentelemetry-cpp_SOURCE="${opentelemetry_cpp_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 274:
    -DORC_SOURCE=${ORC_SOURCE:-} \
                 ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DORC_SOURCE="${ORC_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 275:
    -DPARQUET_BUILD_EXAMPLES=${PARQUET_BUILD_EXAMPLES:-OFF} \
                             ^----------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DPARQUET_BUILD_EXAMPLES="${PARQUET_BUILD_EXAMPLES:-OFF}" \


In ci/scripts/cpp_build.sh line 276:
    -DPARQUET_BUILD_EXECUTABLES=${PARQUET_BUILD_EXECUTABLES:-OFF} \
                                ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DPARQUET_BUILD_EXECUTABLES="${PARQUET_BUILD_EXECUTABLES:-OFF}" \


In ci/scripts/cpp_build.sh line 277:
    -DPARQUET_REQUIRE_ENCRYPTION=${PARQUET_REQUIRE_ENCRYPTION:-ON} \
                                 ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DPARQUET_REQUIRE_ENCRYPTION="${PARQUET_REQUIRE_ENCRYPTION:-ON}" \


In ci/scripts/cpp_build.sh line 278:
    -DProtobuf_SOURCE=${Protobuf_SOURCE:-} \
                      ^------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DProtobuf_SOURCE="${Protobuf_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 279:
    -DRapidJSON_SOURCE=${RapidJSON_SOURCE:-} \
                       ^-------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DRapidJSON_SOURCE="${RapidJSON_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 280:
    -Dre2_SOURCE=${re2_SOURCE:-} \
                 ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -Dre2_SOURCE="${re2_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 281:
    -DSnappy_SOURCE=${Snappy_SOURCE:-} \
                    ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DSnappy_SOURCE="${Snappy_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 282:
    -DThrift_SOURCE=${Thrift_SOURCE:-} \
                    ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -DThrift_SOURCE="${Thrift_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 283:
    -Dutf8proc_SOURCE=${utf8proc_SOURCE:-} \
                      ^------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -Dutf8proc_SOURCE="${utf8proc_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 284:
    -Dzstd_SOURCE=${zstd_SOURCE:-} \
                  ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -Dzstd_SOURCE="${zstd_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 285:
    -Dxsimd_SOURCE=${xsimd_SOURCE:-} \
                   ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -Dxsimd_SOURCE="${xsimd_SOURCE:-}" \


In ci/scripts/cpp_build.sh line 287:
    ${ARROW_CMAKE_ARGS} \
    ^-----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    "${ARROW_CMAKE_ARGS}" \


In ci/scripts/cpp_build.sh line 288:
    ${source_dir}
    ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    "${source_dir}"


In ci/scripts/cpp_build.sh line 291:
: ${ARROW_BUILD_PARALLEL:=$[${n_jobs} + 1]}
  ^-- SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.
                          ^--------------^ SC2007 (style): Use $((..)) instead of deprecated $[..]


In ci/scripts/cpp_build.sh line 293:
  time meson compile -j ${ARROW_BUILD_PARALLEL}
                        ^---------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  time meson compile -j "${ARROW_BUILD_PARALLEL}"


In ci/scripts/cpp_build.sh line 301:
  : ${CMAKE_BUILD_PARALLEL_LEVEL:=${ARROW_BUILD_PARALLEL}}
    ^-- SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/cpp_build.sh line 325:
  ${SUDO} ldconfig ${ARROW_HOME}/${CMAKE_INSTALL_LIBDIR:-lib}
                   ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                 ^--------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  ${SUDO} ldconfig "${ARROW_HOME}"/"${CMAKE_INSTALL_LIBDIR:-lib}"


In ci/scripts/cpp_build.sh line 339:
  pushd ${source_dir}/apidoc
        ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  pushd "${source_dir}"/apidoc

For more information:
  https://www.shellcheck.net/wiki/SC2242 -- Can only exit with status 0-255. ...
  https://www.shellcheck.net/wiki/SC1090 -- ShellCheck can't follow non-const...
  https://www.shellcheck.net/wiki/SC2155 -- Declare and assign separately to ...

What changes are included in this PR?

  • SC1090: Ignore shellcheck.
  • SC1091: Ignore shellcheck.
  • SC2007: Use $((..)).
  • SC2086: Quote variables.
  • SC2155: Declare and assign variables separately.
  • SC2223: Quote variables.
  • SC2236: Use -n
  • SC2242: Use 1 as exit number

Are these changes tested?

Yes.

Are there any user-facing changes?

No.

@github-actions
Copy link

⚠️ GitHub issue #48222 has been automatically assigned in GitHub to PR creator.

@github-actions github-actions bot added the awaiting review Awaiting review label Nov 22, 2025
@hiroyuki-sato hiroyuki-sato marked this pull request as draft November 22, 2025 06:22
@hiroyuki-sato hiroyuki-sato force-pushed the topic/shellcheck-cpp_build branch 3 times, most recently from 3e2ab62 to 77b408c Compare November 23, 2025 07:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting review Awaiting review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant