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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions