Skip to content

[CI][Dev] Fix shellcheck errors in the ci/scripts/python_wheel_xlinux_build.sh #50575

Description

@hiroyuki-sato

Describe the enhancement requested

This is the sub issue #44748.

  • SC2045: Iterating over ls output is fragile. Use globs.
  • SC2086: Double quote to prevent globbing and word splitting.
  • SC2223: This default assignment may cause DoS due to globbing. Quote it.
shellcheck ci/scripts/python_wheel_xlinux_build.sh

In ci/scripts/python_wheel_xlinux_build.sh line 36:
    if [[ -f visible_symbols.log && `cat visible_symbols.log | wc -l` -eq 0 ]]; then
                                    ^-- SC2006 (style): Use $(...) notation instead of legacy backticks `...`.

Did you mean:
    if [[ -f visible_symbols.log && $(cat visible_symbols.log | wc -l) -eq 0 ]]; then


In ci/scripts/python_wheel_xlinux_build.sh line 57:
: ${ARROW_ACERO:=ON}
  ^----------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 58:
: ${ARROW_AZURE:=ON}
  ^----------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 59:
: ${ARROW_DATASET:=ON}
  ^------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 60:
: ${ARROW_FLIGHT:=ON}
  ^-----------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


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


In ci/scripts/python_wheel_xlinux_build.sh line 62:
: ${ARROW_GCS:=ON}
  ^--------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 63:
: ${ARROW_HDFS:=ON}
  ^---------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 64:
: ${ARROW_MIMALLOC:=ON}
  ^-------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 65:
: ${ARROW_ORC:=ON}
  ^--------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 66:
: ${ARROW_PARQUET:=ON}
  ^------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 67:
: ${PARQUET_REQUIRE_ENCRYPTION:=ON}
  ^-- SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 68:
: ${ARROW_SUBSTRAIT:=ON}
  ^--------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 69:
: ${ARROW_S3:=ON}
  ^-------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 70:
: ${ARROW_TENSORFLOW:=ON}
  ^---------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


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


In ci/scripts/python_wheel_xlinux_build.sh line 72:
: ${ARROW_WITH_BROTLI:=ON}
  ^----------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 73:
: ${ARROW_WITH_BZ2:=ON}
  ^-------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 74:
: ${ARROW_WITH_LZ4:=ON}
  ^-------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 75:
: ${ARROW_WITH_OPENTELEMETRY:=ON}
  ^-----------------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 76:
: ${ARROW_WITH_SNAPPY:=ON}
  ^----------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 77:
: ${ARROW_WITH_ZLIB:=ON}
  ^--------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 78:
: ${ARROW_WITH_ZSTD:=ON}
  ^--------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 79:
: ${CMAKE_BUILD_TYPE:=release}
  ^--------------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 80:
: ${CMAKE_UNITY_BUILD:=ON}
  ^----------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 81:
: ${CMAKE_GENERATOR:=Ninja}
  ^-----------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 82:
: ${VCPKG_ROOT:=/opt/vcpkg}
  ^-----------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 83:
: ${VCPKG_FEATURE_FLAGS:=-manifests}
  ^-- SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


In ci/scripts/python_wheel_xlinux_build.sh line 84:
: ${VCPKG_TARGET_TRIPLET:=${VCPKG_DEFAULT_TRIPLET:-x64-linux-static-${CMAKE_BUILD_TYPE}}}
  ^-- SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


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


In ci/scripts/python_wheel_xlinux_build.sh line 93:
    : ${ARROW_JEMALLOC:=ON}
      ^-------------------^ SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


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


In ci/scripts/python_wheel_xlinux_build.sh line 99:
    : ${CMAKE_INTERPROCEDURAL_OPTIMIZATION:=ON}
      ^-- SC2223 (info): This default assignment may cause DoS due to globbing. Quote it.


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


In ci/scripts/python_wheel_xlinux_build.sh line 130:
    -DARROW_TENSORFLOW=${ARROW_TENSORFLOW} \
                       ^-----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean:
    -DARROW_TENSORFLOW="${ARROW_TENSORFLOW}" \


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


In ci/scripts/python_wheel_xlinux_build.sh line 143:
    -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=${CMAKE_INTERPROCEDURAL_OPTIMIZATION} \
                                         ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean:
    -DCMAKE_INTERPROCEDURAL_OPTIMIZATION="${CMAKE_INTERPROCEDURAL_OPTIMIZATION}" \


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

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


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

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


In ci/scripts/python_wheel_xlinux_build.sh line 147:
    -DVCPKG_TARGET_TRIPLET=${VCPKG_TARGET_TRIPLET} \
                           ^---------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean:
    -DVCPKG_TARGET_TRIPLET="${VCPKG_TARGET_TRIPLET}" \


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

Did you mean:
    "${ARROW_EXTRA_CMAKE_FLAGS}" \


In ci/scripts/python_wheel_xlinux_build.sh line 150:
    -G ${CMAKE_GENERATOR} \
       ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean:
    -G "${CMAKE_GENERATOR}" \


In ci/scripts/python_wheel_xlinux_build.sh line 181:
    -C cmake.build-type=${CMAKE_BUILD_TYPE:-Debug} \
                        ^------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean:
    -C cmake.build-type="${CMAKE_BUILD_TYPE:-Debug}" \


In ci/scripts/python_wheel_xlinux_build.sh line 191:
unzip $wheel_name
      ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean:
unzip "$wheel_name"


In ci/scripts/python_wheel_xlinux_build.sh line 192:
rm $wheel_name
   ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean:
rm "$wheel_name"


In ci/scripts/python_wheel_xlinux_build.sh line 193:
for filename in $(ls pyarrow/*.so pyarrow/*.so.*); do
                ^-- SC2045 (error): Iterating over ls output is fragile. Use globs.


In ci/scripts/python_wheel_xlinux_build.sh line 195:
    strip --strip-debug $filename
                        ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean:
    strip --strip-debug "$filename"


In ci/scripts/python_wheel_xlinux_build.sh line 198:
zip -r $wheel_name .
       ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean:
zip -r "$wheel_name" .


In ci/scripts/python_wheel_xlinux_build.sh line 199:
mv $wheel_name ..
   ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean:
mv "$wheel_name" ..

For more information:
  https://www.shellcheck.net/wiki/SC2045 -- Iterating over ls output is fragi...
  https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ...
  https://www.shellcheck.net/wiki/SC2223 -- This default assignment may cause...

Component(s)

Developer Tools

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions