scripts: use end-of-options marker in cd, mkdir, mv, sha256sum commands

Where missing. To avoid passing an option by accident.

End-of-option marker (`--`) is not POSIX, but most of these scripts are
internal and/or CI-focused, where this is fine. `maketgz` and
`verify-release` are meant for public use, and I asses this is fine too,
but let us know if this causes issues in real world envs.

Also:
- maketgz: pass args with `:?` to `rm -rf`, where missing.
  Cannot cause an actual issue with current code.
- verified `cp`, `rm` instances too, but none were affected.
- tests/cmake/test.sh: replace `$PWD` with `$(pwd)` for sturdiness.
- appveyor.sh: replace `$PWD` with `$(pwd)` for sturdiness.

Assisted-by: Dan Fandrich
Follow-up to 6aab1dc263 #19450

Closes #22150
This commit is contained in:
Viktor Szakats 2026-06-23 23:14:24 +02:00
parent fbcce4da85
commit ccf19d59e7
No known key found for this signature in database
11 changed files with 21 additions and 21 deletions

View file

@ -5,7 +5,7 @@
set -eu
cd "$(dirname "${0}")"/../..
cd -- "$(dirname "${0}")"/../..
git ls-files -z | xargs -0 -r \
codespell \

View file

@ -5,7 +5,7 @@
set -eu
cd "$(dirname "${0}")"/../..
cd -- "$(dirname "${0}")"/../..
git grep -z -l -E '^#!(/usr/bin/env bash|/bin/sh|/bin/bash)' | xargs -0 -r \
shellcheck --exclude=1091,2248 \

View file

@ -5,7 +5,7 @@
set -eu
cd "$(dirname "${0}")"/../..
cd -- "$(dirname "${0}")"/../..
git ls-files | typos \
--isolated \

View file

@ -5,7 +5,7 @@
set -eu
cd "$(dirname "${0}")"/../..
cd -- "$(dirname "${0}")"/../..
git ls-files '*.yaml' '*.yml' -z | xargs -0 -r \
yamllint \

View file

@ -61,7 +61,7 @@ if [ -n "${CMAKE_GENERATOR:-}" ]; then
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 60 --retry 3 --retry-connrefused \
--location --proto-redir =https "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/${fn}.zip" --output pkg.bin
sha256sum pkg.bin && sha256sum pkg.bin | grep -qwF -- "${CMAKE_SHA256}" && 7z x -y pkg.bin >/dev/null && rm -f pkg.bin
PATH="$PWD/${fn}/bin:$PATH"
PATH="$(pwd)/${fn}/bin:$PATH"
fi
# Set env CHKPREFILL to the value '_chkprefill' to compare feature detection
@ -89,7 +89,7 @@ if [ -n "${CMAKE_GENERATOR:-}" ]; then
fi
echo 'curl_config.h'; grep -F '#define' _bld/lib/curl_config.h | sort || true
time cmake --build _bld --config "${PRJ_CFG}" --parallel 2
[[ "${CMAKE_GENERATE:-}" != *'-DBUILD_SHARED_LIBS=OFF'* ]] && PATH="$PWD/_bld/lib/${PRJ_CFG}:$PATH"
[[ "${CMAKE_GENERATE:-}" != *'-DBUILD_SHARED_LIBS=OFF'* ]] && PATH="$(pwd)/_bld/lib/${PRJ_CFG}:$PATH"
[[ "${CMAKE_GENERATE:-}" = *'-DCURL_USE_OPENSSL=ON'* ]] && { PATH="${openssl_root}:$PATH"; cp "${openssl_root}"/*.dll "_bld/src/${PRJ_CFG}"; }
curl="_bld/src/${PRJ_CFG}/curl.exe"
else

View file

@ -41,7 +41,7 @@
set -eu
cd "$(dirname "$0")"/..
cd -- "$(dirname "$0")"/..
{
if [ -n "${1:-}" ]; then

View file

@ -180,7 +180,7 @@ fi
retar() {
tempdir=$1
rm -rf "$tempdir"
rm -rf "${tempdir:?}"
mkdir "$tempdir"
cd "$tempdir"
gzip -dc "../$targz" | tar -xf -
@ -188,7 +188,7 @@ retar() {
tar --create --format=ustar --owner=0 --group=0 --numeric-owner --sort=name curl-* | gzip --best --no-name > out.tar.gz
mv out.tar.gz ../
cd ..
rm -rf "$tempdir"
rm -rf "${tempdir:?}"
}
retar ".tarbuild"
@ -218,14 +218,14 @@ gzip -dc "$targz" | xz -6e - > "$xz"
# Now make a zip archive from the tar.gz original
#
makezip() {
rm -rf "$tempdir"
rm -rf "${tempdir:?}"
mkdir "$tempdir"
cd "$tempdir"
gzip -dc "../$targz" | tar -xf -
find . | sort | zip -9 -X "$zip" -@ >/dev/null
mv "$zip" ../
cd ..
rm -rf "$tempdir"
rm -rf "${tempdir:?}"
}
zip="curl-$version.zip"

View file

@ -30,7 +30,7 @@
set -eu
cd "$(dirname "$0")"/..
cd -- "$(dirname "$0")"/..
procs=6
command -v nproc >/dev/null && procs="$(nproc)"

View file

@ -63,7 +63,7 @@ mkdir -p _tarballs
rm -rf _tarballs/*
# checksum the original tarball to compare with later
sha256sum "$tarball" >_tarballs/checksum
sha256sum -- "$tarball" >_tarballs/checksum
# extract version number from file name
tarver=$(echo "$tarball" | sed 's/curl-\([0-9.]*\)\..*/\1/')
@ -85,7 +85,7 @@ if test "$withgit" = 0; then
tar xf "$tarball"
# move away the original tarball
mv "$tarball" "_tarballs/orig-$tarball"
mv -- "$tarball" "_tarballs/orig-$tarball"
pwd=$(pwd)
cd "curl-$curlver"
@ -101,7 +101,7 @@ else
echo "*** Use git tag $tag"
# move away the original tarball
mv "$tarball" "_tarballs/orig-$tarball"
mv -- "$tarball" "_tarballs/orig-$tarball"
prevtag=$(git symbolic-ref -q --short HEAD || git rev-parse HEAD)
git checkout -f "$tag"

View file

@ -7,7 +7,7 @@
set -eu
cd "$(dirname "$0")"
cd -- "$(dirname "$0")"
mode="${1:-all}"; shift
@ -31,7 +31,7 @@ runresults() {
if [ "${mode}" = 'all' ] || [ "${mode}" = 'ExternalProject' ]; then
(cd "${src}"; git archive --format=tar HEAD) | gzip > source.tar.gz
src="${PWD}/source.tar.gz"
src="$(pwd)/source.tar.gz"
sha="$(sha256sum "${src}" | grep -a -i -o -w -E '[0-9a-f]{64}')"
bldc='bld-externalproject'
rm -rf "${bldc}"
@ -43,7 +43,7 @@ if [ "${mode}" = 'all' ] || [ "${mode}" = 'ExternalProject' ]; then
fi
if [ "${mode}" = 'all' ] || [ "${mode}" = 'FetchContent' ]; then
src="${PWD}/${src}"
src="$(pwd)/${src}"
bldc='bld-fetchcontent'
rm -rf "${bldc}"
"${cmake_consumer}" -B "${bldc}" -G "${gen}" ${cmake_opts} -DCMAKE_UNITY_BUILD=ON ${TEST_CMAKE_FLAGS:-} "$@" \
@ -70,9 +70,9 @@ if [ "${mode}" = 'all' ] || [ "${mode}" = 'add_subdirectory' ]; then
fi
if [ "${mode}" = 'all' ] || [ "${mode}" = 'find_package' ]; then
src="${PWD}/${src}"
src="$(pwd)/${src}"
bldp='bld-curl'
prefix="${PWD}/${bldp}/_pkg"
prefix="$(pwd)/${bldp}/_pkg"
rm -rf "${bldp}"
"${cmake_provider}" -B "${bldp}" -S "${src}" -G "${gen}" ${cmake_opts} -DCMAKE_UNITY_BUILD=ON ${TEST_CMAKE_FLAGS:-} ${TEST_CMAKE_FLAGS_PROVIDER:-} "$@" \
-DBUILD_SHARED_LIBS=ON \

View file

@ -211,7 +211,7 @@ have_portsblocked="no"
NOW=$(whenisitagain)
BINNAME=$(basename "$0" .sh)
if [ ! -d "$LTOP" ]; then
mkdir -p "$LTOP"
mkdir -p -- "$LTOP"
fi
if [ ! -d "$LTOP" ]; then
echo "Cannot see $LTOP for logs - exiting"