已合并
fix(build): harden shell command invocation #884
liu-wei创建于 5月23日
fix(build): harden shell command invocation #884
已合并
共 6 个文件变更+46-44
| @@ -977,14 +977,14 @@ parse_changed_files() { | |||
| 977 | CHANGED_FILES=$PWD/$CHANGED_FILES | 977 | CHANGED_FILES=$PWD/$CHANGED_FILES |
| 978 | fi | 978 | fi |
| 979 | 979 | ||
| 980 | - echo "changed files is "$CHANGED_FILES | 980 | + echo "changed files is $CHANGED_FILES" |
| 981 | - echo $dotted_line | 981 | + echo "$dotted_line" |
| 982 | echo "changed lines:" | 982 | echo "changed lines:" |
| 983 | - cat $CHANGED_FILES | 983 | + cat "$CHANGED_FILES" |
| 984 | - echo $dotted_line | 984 | + echo "$dotted_line" |
| 985 | 985 | ||
| 986 | - COMPILED_OPS=$(python3 scripts/ci/parse_changed_ops.py $CHANGED_FILES "$ENABLE_EXPERIMENTAL") | 986 | + COMPILED_OPS=$(python3 scripts/ci/parse_changed_ops.py "$CHANGED_FILES" "$ENABLE_EXPERIMENTAL") |
| 987 | - echo "related ops "$COMPILED_OPS | 987 | + echo "related ops $COMPILED_OPS" |
| 988 | 988 | ||
| 989 | if [[ -z $COMPILED_OPS ]]; then | 989 | if [[ -z $COMPILED_OPS ]]; then |
| 990 | if [[ "$ENABLE_EXPERIMENTAL" == "TRUE" ]]; then | 990 | if [[ "$ENABLE_EXPERIMENTAL" == "TRUE" ]]; then |
| @@ -999,10 +999,10 @@ parse_changed_files() { | |||
| 999 | return | 999 | return |
| 1000 | fi | 1000 | fi |
| 1001 | 1001 | ||
| 1002 | - local script_ret=$(python3 scripts/ci/parse_changed_files.py $CHANGED_FILES "$ENABLE_EXPERIMENTAL") | 1002 | + local script_ret=$(python3 scripts/ci/parse_changed_files.py "$CHANGED_FILES" "$ENABLE_EXPERIMENTAL") |
| 1003 | IFS='&&' read -r related_ut soc_info <<<"$script_ret" | 1003 | IFS='&&' read -r related_ut soc_info <<<"$script_ret" |
| 1004 | - echo "related ut "$related_ut | 1004 | + echo "related ut $related_ut" |
| 1005 | - echo "related soc_info "$soc_info | 1005 | + echo "related soc_info $soc_info" |
| 1006 | 1006 | ||
| 1007 | COMPUTE_UNIT=$soc_info | 1007 | COMPUTE_UNIT=$soc_info |
| 1008 | 1008 | ||
| @@ -1170,36 +1170,36 @@ cmake_init() { | |||
| 1170 | mkdir -p "${BUILD_OUT_PATH}" | 1170 | mkdir -p "${BUILD_OUT_PATH}" |
| 1171 | fi | 1171 | fi |
| 1172 | 1172 | ||
| 1173 | - [ -f "${BUILD_PATH}/CMakeCache.txt" ] && rm -f ${BUILD_PATH}/CMakeCache.txt | 1173 | + [ -f "${BUILD_PATH}/CMakeCache.txt" ] && rm -f "${BUILD_PATH}/CMakeCache.txt" |
| 1174 | 1174 | ||
| 1175 | cd "${BUILD_PATH}" && cmake ${CMAKE_ARGS} .. | 1175 | cd "${BUILD_PATH}" && cmake ${CMAKE_ARGS} .. |
| 1176 | } | 1176 | } |
| 1177 | 1177 | ||
| 1178 | clean_build() { | 1178 | clean_build() { |
| 1179 | if [ -d "${BUILD_PATH}" ]; then | 1179 | if [ -d "${BUILD_PATH}" ]; then |
| 1180 | - rm -rf ${BUILD_PATH}/* | 1180 | + rm -rf "${BUILD_PATH}"/* |
| 1181 | fi | 1181 | fi |
| 1182 | } | 1182 | } |
| 1183 | 1183 | ||
| 1184 | clean_build_out() { | 1184 | clean_build_out() { |
| 1185 | if [ -d "${BUILD_OUT_PATH}" ]; then | 1185 | if [ -d "${BUILD_OUT_PATH}" ]; then |
| 1186 | - rm -rf ${BUILD_OUT_PATH}/* | 1186 | + rm -rf "${BUILD_OUT_PATH}"/* |
| 1187 | fi | 1187 | fi |
| 1188 | } | 1188 | } |
| 1189 | 1189 | ||
| 1190 | clean_build_binary() { | 1190 | clean_build_binary() { |
| 1191 | if [ -d "${BUILD_PATH}/tbe" ]; then | 1191 | if [ -d "${BUILD_PATH}/tbe" ]; then |
| 1192 | - rm -rf ${BUILD_PATH}/tbe/ | 1192 | + rm -rf "${BUILD_PATH}/tbe/" |
| 1193 | fi | 1193 | fi |
| 1194 | if [ -d "${BUILD_PATH}/autogen" ]; then | 1194 | if [ -d "${BUILD_PATH}/autogen" ]; then |
| 1195 | - rm -rf ${BUILD_PATH}/autogen/ | 1195 | + rm -rf "${BUILD_PATH}/autogen/" |
| 1196 | fi | 1196 | fi |
| 1197 | if [ -d "${BUILD_PATH}/binary" ]; then | 1197 | if [ -d "${BUILD_PATH}/binary" ]; then |
| 1198 | - rm -rf ${BUILD_PATH}/binary/ | 1198 | + rm -rf "${BUILD_PATH}/binary/" |
| 1199 | fi | 1199 | fi |
| 1200 | if [[ "$ENABLE_STATIC" == "TRUE" ]]; then | 1200 | if [[ "$ENABLE_STATIC" == "TRUE" ]]; then |
| 1201 | if [ -d "${BUILD_PATH}/static_library_files" ]; then | 1201 | if [ -d "${BUILD_PATH}/static_library_files" ]; then |
| 1202 | - rm -rf ${BUILD_PATH}/static_library_files/ | 1202 | + rm -rf "${BUILD_PATH}/static_library_files/" |
| 1203 | fi | 1203 | fi |
| 1204 | fi | 1204 | fi |
| 1205 | } | 1205 | } |
| @@ -1210,8 +1210,8 @@ build_static_lib() { | |||
| 1210 | 1210 | ||
| 1211 | cd "${BUILD_PATH}" && cmake ${CMAKE_ARGS} .. | 1211 | cd "${BUILD_PATH}" && cmake ${CMAKE_ARGS} .. |
| 1212 | local all_targets=$(cmake --build . --target help) | 1212 | local all_targets=$(cmake --build . --target help) |
| 1213 | - rm -fr ${BUILD_PATH}/bin_tmp | 1213 | + rm -fr "${BUILD_PATH}/bin_tmp" |
| 1214 | - mkdir -p ${BUILD_PATH}/bin_tmp | 1214 | + mkdir -p "${BUILD_PATH}/bin_tmp" |
| 1215 | if grep -wq "ophost_cv_static" <<< "${all_targets}"; then | 1215 | if grep -wq "ophost_cv_static" <<< "${all_targets}"; then |
| 1216 | cmake --build . --target ophost_cv_static -- ${VERBOSE} -j $THREAD_NUM | 1216 | cmake --build . --target ophost_cv_static -- ${VERBOSE} -j $THREAD_NUM |
| 1217 | fi | 1217 | fi |
| @@ -1222,9 +1222,9 @@ build_static_lib() { | |||
| 1222 | fi | 1222 | fi |
| 1223 | cmake --build . --target opapi_cv_static -- ${VERBOSE} -j $THREAD_NUM | 1223 | cmake --build . --target opapi_cv_static -- ${VERBOSE} -j $THREAD_NUM |
| 1224 | for unit in "${UNITS[@]}"; do | 1224 | for unit in "${UNITS[@]}"; do |
| 1225 | - rm -fr ${BUILD_PATH}/bin_tmp/${unit} | 1225 | + rm -fr "${BUILD_PATH}/bin_tmp/${unit}" |
| 1226 | - python3 "${BASE_PATH}/scripts/util/build_opp_kernel_static.py" GenStaticOpResourceIni -s ${unit} -b ${BUILD_PATH} | 1226 | + python3 "${BASE_PATH}/scripts/util/build_opp_kernel_static.py" GenStaticOpResourceIni -s ${unit} -b "${BUILD_PATH}" |
| 1227 | - python3 "${BASE_PATH}/scripts/util/build_opp_kernel_static.py" StaticCompile -s ${unit} -b ${BUILD_PATH} -n=0 -a=${ARCH_INFO} | 1227 | + python3 "${BASE_PATH}/scripts/util/build_opp_kernel_static.py" StaticCompile -s ${unit} -b "${BUILD_PATH}" -n=0 -a=${ARCH_INFO} |
| 1228 | done | 1228 | done |
| 1229 | cd "${BUILD_PATH}" && cmake ${CMAKE_ARGS} .. | 1229 | cd "${BUILD_PATH}" && cmake ${CMAKE_ARGS} .. |
| 1230 | cmake --build . --target cann_cv_static -- ${VERBOSE} -j $THREAD_NUM | 1230 | cmake --build . --target cann_cv_static -- ${VERBOSE} -j $THREAD_NUM |
| @@ -1295,8 +1295,7 @@ build_binary() { | |||
| 1295 | UNITS+=("ascend910b") | 1295 | UNITS+=("ascend910b") |
| 1296 | fi | 1296 | fi |
| 1297 | for unit in "${UNITS[@]}"; do | 1297 | for unit in "${UNITS[@]}"; do |
| 1298 | - remove_opc_cmd="rm -rf ${BUILD_PATH}/binary/${unit}/bin/opc_cmd" | 1298 | + rm -rf "${BUILD_PATH}/binary/${unit}/bin/opc_cmd" |
| 1299 | - ${remove_opc_cmd} | ||
| 1300 | if grep -wq "prepare_binary_compile_${unit}" <<< "${all_targets}"; then | 1299 | if grep -wq "prepare_binary_compile_${unit}" <<< "${all_targets}"; then |
| 1301 | cmake --build . --target prepare_binary_compile_${unit} -- ${VERBOSE} -j 1 | 1300 | cmake --build . --target prepare_binary_compile_${unit} -- ${VERBOSE} -j 1 |
| 1302 | if [ $? -ne 0 ]; then | 1301 | if [ $? -ne 0 ]; then |
| @@ -1310,16 +1309,16 @@ build_binary() { | |||
| 1310 | cd "$BUILD_PATH" && cmake .. ${CMAKE_ARGS} | 1309 | cd "$BUILD_PATH" && cmake .. ${CMAKE_ARGS} |
| 1311 | 1310 | ||
| 1312 | local cur_path=$(pwd) | 1311 | local cur_path=$(pwd) |
| 1313 | - mkdir -p ${cur_path}/op_impl/ai_core/tbe/op_tiling | 1312 | + mkdir -p "${cur_path}/op_impl/ai_core/tbe/op_tiling" |
| 1314 | if [ ! -L op_impl/ai_core/tbe/op_tiling/liboptiling.so ]; then | 1313 | if [ ! -L op_impl/ai_core/tbe/op_tiling/liboptiling.so ]; then |
| 1315 | - if [ -e ${cur_path}/libophost_cv.so ]; then | 1314 | + if [ -e "${cur_path}/libophost_cv.so" ]; then |
| 1316 | - ln -s ${cur_path}/libophost_cv.so op_impl/ai_core/tbe/op_tiling/liboptiling.so | 1315 | + ln -s "${cur_path}/libophost_cv.so" op_impl/ai_core/tbe/op_tiling/liboptiling.so |
| 1317 | else | 1316 | else |
| 1318 | cmake --build . --target ophost_cv -- ${VERBOSE} -j $THREAD_NUM | 1317 | cmake --build . --target ophost_cv -- ${VERBOSE} -j $THREAD_NUM |
| 1319 | - ln -s ${cur_path}/libophost_cv.so op_impl/ai_core/tbe/op_tiling/liboptiling.so | 1318 | + ln -s "${cur_path}/libophost_cv.so" op_impl/ai_core/tbe/op_tiling/liboptiling.so |
| 1320 | fi | 1319 | fi |
| 1321 | fi | 1320 | fi |
| 1322 | - export ASCEND_CUSTOM_OPP_PATH=${cur_path} | 1321 | + export ASCEND_CUSTOM_OPP_PATH="${cur_path}" |
| 1323 | if echo "${all_targets}" | grep -wq "binary"; then | 1322 | if echo "${all_targets}" | grep -wq "binary"; then |
| 1324 | cmake --build . --target binary -- ${VERBOSE} -j $THREAD_NUM | 1323 | cmake --build . --target binary -- ${VERBOSE} -j $THREAD_NUM |
| 1325 | if [ $? -ne 0 ]; then | 1324 | if [ $? -ne 0 ]; then |
| @@ -30,7 +30,7 @@ function(kernel_src_copy) | |||
| 30 | COMMAND | 30 | COMMAND |
| 31 | ${CMAKE_COMMAND} -E make_directory ${KNCPY_DST_DIR}/${OP_NAME} | 31 | ${CMAKE_COMMAND} -E make_directory ${KNCPY_DST_DIR}/${OP_NAME} |
| 32 | COMMAND | 32 | COMMAND |
| 33 | - bash -c "find ${SRC_DIR} -mindepth 1 -maxdepth 1 -exec cp -r {} ${KNCPY_DST_DIR}/${OP_NAME} \\;" | 33 | + find "${SRC_DIR}" -mindepth 1 -maxdepth 1 -exec cp -r {} "${KNCPY_DST_DIR}/${OP_NAME}" \; |
| 34 | VERBATIM | 34 | VERBATIM |
| 35 | ) | 35 | ) |
| 36 | add_dependencies(${KNCPY_TARGET} ${OP_NAME}_src_copy) | 36 | add_dependencies(${KNCPY_TARGET} ${OP_NAME}_src_copy) |
| @@ -46,9 +46,9 @@ function(kernel_src_copy) | |||
| 46 | COMMAND | 46 | COMMAND |
| 47 | ${CMAKE_COMMAND} -E make_directory ${KNCPY_DST_DIR}/common | 47 | ${CMAKE_COMMAND} -E make_directory ${KNCPY_DST_DIR}/common |
| 48 | COMMAND | 48 | COMMAND |
| 49 | - bash -c "cp -r ${OPBASE_SOURCE_PATH}/pkg_inc/op_common/atvoss ${KNCPY_DST_DIR}/common" | 49 | + cp -r "${OPBASE_SOURCE_PATH}/pkg_inc/op_common/atvoss" "${KNCPY_DST_DIR}/common" |
| 50 | COMMAND | 50 | COMMAND |
| 51 | - bash -c "cp -r ${OPBASE_SOURCE_PATH}/include/op_common/op_kernel ${KNCPY_DST_DIR}/common" | 51 | + cp -r "${OPBASE_SOURCE_PATH}/include/op_common/op_kernel" "${KNCPY_DST_DIR}/common" |
| 52 | VERBATIM | 52 | VERBATIM |
| 53 | ) | 53 | ) |
| 54 | add_dependencies(${KNCPY_TARGET} atvoss_src_copy) | 54 | add_dependencies(${KNCPY_TARGET} atvoss_src_copy) |
| @@ -539,9 +539,8 @@ endfunction() | |||
| 539 | # get op_type from *_def.cpp | 539 | # get op_type from *_def.cpp |
| 540 | # ###################################################################################################################### | 540 | # ###################################################################################################################### |
| 541 | function(check_op_supported OP_NAME OP_DIR COMPUTE_UNIT OP_SUPPORTED_COMPUTE_UNIT) | 541 | function(check_op_supported OP_NAME OP_DIR COMPUTE_UNIT OP_SUPPORTED_COMPUTE_UNIT) |
| 542 | - set(cmd "find ${OP_DIR} -name ${OP_NAME}_def.cpp -exec grep '\.AddConfig(\\s*\"${COMPUTE_UNIT}\"' {} \;") | ||
| 543 | execute_process( | 542 | execute_process( |
| 544 | - COMMAND bash -c "${cmd}" | 543 | + COMMAND find "${OP_DIR}" -name "${OP_NAME}_def.cpp" -exec grep "\\.AddConfig(\\s*\"${COMPUTE_UNIT}\"" {} \; |
| 545 | OUTPUT_VARIABLE op_supported_compute_unit | 544 | OUTPUT_VARIABLE op_supported_compute_unit |
| 546 | ) | 545 | ) |
| 547 | if(NOT op_supported_compute_unit) | 546 | if(NOT op_supported_compute_unit) |
| @@ -343,11 +343,11 @@ function(gen_aicpu_json_symbol enable_built_in) | |||
| 343 | set(MERGED_JSON ${CMAKE_BINARY_DIR}/aicpu_cv.json) | 343 | set(MERGED_JSON ${CMAKE_BINARY_DIR}/aicpu_cv.json) |
| 344 | endif() | 344 | endif() |
| 345 | 345 | ||
| 346 | - set(cmd "python3 ${CMAKE_SOURCE_DIR}/scripts/kernel/binary_script/parser_ini.py ${ASCEND_AUTOGEN_PATH}/aicpu_kernel.ini ${MERGED_JSON}") | 346 | + set(cmd python3 "${CMAKE_SOURCE_DIR}/scripts/kernel/binary_script/parser_ini.py" "${ASCEND_AUTOGEN_PATH}/aicpu_kernel.ini" "${MERGED_JSON}") |
| 347 | - message("cmd: ${cmd}") | 347 | + message("cmd: ${cmd}") |
| 348 | 348 | ||
| 349 | execute_process( | 349 | execute_process( |
| 350 | - COMMAND bash -c "${cmd}" | 350 | + COMMAND ${cmd} |
| 351 | WORKING_DIRECTORY ${ASCEND_AUTOGEN_PATH} | 351 | WORKING_DIRECTORY ${ASCEND_AUTOGEN_PATH} |
| 352 | OUTPUT_VARIABLE result | 352 | OUTPUT_VARIABLE result |
| 353 | ERROR_VARIABLE error | 353 | ERROR_VARIABLE error |
| @@ -421,13 +421,16 @@ if(UT_TEST_ALL OR OP_KERNEL_UT) | |||
| 421 | set(gen_tiling_head_file ${OPS_CV_DIR}/tests/ut/op_kernel/scripts/gen_tiling_head_file.sh) | 421 | set(gen_tiling_head_file ${OPS_CV_DIR}/tests/ut/op_kernel/scripts/gen_tiling_head_file.sh) |
| 422 | set(gen_tiling_so_path ${CMAKE_CURRENT_BINARY_DIR}/lib${opName}_${socVersion}_tiling_tmp.so) | 422 | set(gen_tiling_so_path ${CMAKE_CURRENT_BINARY_DIR}/lib${opName}_${socVersion}_tiling_tmp.so) |
| 423 | set(gen_tiling_head_tag ${opName}_${socVersion}_gen_head) | 423 | set(gen_tiling_head_tag ${opName}_${socVersion}_gen_head) |
| 424 | - set(gen_cmd "bash ${gen_tiling_head_file} ${OP_TYPE} ${opName} ${gen_tiling_so_path} ${CUSTOM_TILING_DATA_KEYS}") | 424 | + set(gen_cmd bash "${gen_tiling_head_file}" "${OP_TYPE}" "${opName}" "${gen_tiling_so_path}") |
| 425 | + if(CUSTOM_TILING_DATA_KEYS) | ||
| 426 | + list(APPEND gen_cmd "${CUSTOM_TILING_DATA_KEYS}") | ||
| 427 | + endif() | ||
| 425 | message("gen tiling head file to ${tilingFile}, command:") | 428 | message("gen tiling head file to ${tilingFile}, command:") |
| 426 | message("${gen_cmd}") | 429 | message("${gen_cmd}") |
| 427 | add_custom_command( | 430 | add_custom_command( |
| 428 | OUTPUT ${tilingFile} | 431 | OUTPUT ${tilingFile} |
| 429 | COMMAND rm -f ${tilingFile} | 432 | COMMAND rm -f ${tilingFile} |
| 430 | - COMMAND bash -c ${gen_cmd} | 433 | + COMMAND ${gen_cmd} |
| 431 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} | 434 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
| 432 | DEPENDS ${opName}_${socVersion}_tiling_tmp | 435 | DEPENDS ${opName}_${socVersion}_tiling_tmp |
| 433 | ) | 436 | ) |
| @@ -126,8 +126,9 @@ upgrade() | |||
| 126 | return 0 | 126 | return 0 |
| 127 | elif [ "$orn" = m ]; then | 127 | elif [ "$orn" = m ]; then |
| 128 | break; | 128 | break; |
| 129 | - elif [ "$0rn" = r ]; then | 129 | + elif [ "$orn" = r ]; then |
| 130 | - [ -n "${targetdir}/$vendordir/$1/" ] && rm -rf "${targetdir}/$vendordir/$1"/* | 130 | + [ -n "$targetdir" ] && [ -n "$vendordir" ] && [ -n "$1" ] && \ |
| 131 | + [ -d "${targetdir}/$vendordir/$1" ] && rm -rf "${targetdir}/$vendordir/$1"/* | ||
| 131 | break; | 132 | break; |
| 132 | else | 133 | else |
| 133 | echo "[ERROR] input error, please input again!" | 134 | echo "[ERROR] input error, please input again!" |
| @@ -9,10 +9,10 @@ | |||
| 9 | # ----------------------------------------------------------------------------------------------------------- | 9 | # ----------------------------------------------------------------------------------------------------------- |
| 10 | 10 | ||
| 11 | echo "source ${ASCEND_OPP_PATH}/../bin/setenv.bash" | 11 | echo "source ${ASCEND_OPP_PATH}/../bin/setenv.bash" |
| 12 | -source ${ASCEND_OPP_PATH}/../bin/setenv.bash | 12 | +source "${ASCEND_OPP_PATH}/../bin/setenv.bash" |
| 13 | export ASCEND_GLOBAL_LOG_LEVEL=2 | 13 | export ASCEND_GLOBAL_LOG_LEVEL=2 |
| 14 | export ASCEND_SLOG_PRINT_TO_STDOUT=1 | 14 | export ASCEND_SLOG_PRINT_TO_STDOUT=1 |
| 15 | 15 | ||
| 16 | -CURR_PATH=$(cd $(dirname $0); pwd) | 16 | +CURR_PATH=$(cd "$(dirname "$0")"; pwd) |
| 17 | -echo "python3 ${CURR_PATH}/gen_tiling_head_file.py $@" | 17 | +echo "python3 ${CURR_PATH}/gen_tiling_head_file.py $*" |
| 18 | -python3 ${CURR_PATH}/gen_tiling_head_file.py $@ | 18 | +python3 "${CURR_PATH}/gen_tiling_head_file.py" "$@" |