Meta: Pass -- to sudo instead of '$SHELL -c' in build scripts

fddbd11baa made it so the command executed
read `sh -c -- '"script" args*'`, the -- in this command is redundant as
the script name never starts with a dash and can never be interpreted as
an option or a flag.
The actually meaningful placement for -- here is after `$SUDO`, to make
sure `$SUDO` does not incorrectly treat `-c` as an option to itself, and
`$SHELL` cannot be interpreted as an option/flag in the extremely
unlikely event that it starts with a dash.
This commit is contained in:
Ali Mohammad Pur 2023-07-16 18:34:31 +03:30 committed by Linus Groh
parent 3cbfd6382c
commit a720feba2f
Notes: sideshowbarker 2024-07-18 08:59:31 +09:00
5 changed files with 6 additions and 6 deletions

View file

@ -8,7 +8,7 @@ script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
if [ "$(id -u)" != 0 ]; then
set +e
${SUDO} "${SHELL}" -c -- "\"$0\" $* || exit 42"
${SUDO} -- "${SHELL}" -c "\"$0\" $* || exit 42"
case $? in
1)
die "this script needs to run as root"

View file

@ -8,7 +8,7 @@ script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
if [ "$(id -u)" != 0 ]; then
set +e
${SUDO} "${SHELL}" -c -- "\"$0\" $* || exit 42"
${SUDO} -- "${SHELL}" -c "\"$0\" $* || exit 42"
case $? in
1)
die "this script needs to run as root"

View file

@ -17,7 +17,7 @@ fi
if [ "$(id -u)" != 0 ]; then
set +e
${SUDO} "${SHELL}" -c -- "\"$0\" $* || exit 42"
${SUDO} -- "${SHELL}" -c "\"$0\" $* || exit 42"
case $? in
1)
die "this script needs to run as root"

View file

@ -12,7 +12,7 @@ if [ "$(id -u)" != 0 ]; then
USE_FUSE2FS=1
else
set +e
${SUDO} "${SHELL}" -c -- "\"$0\" $* || exit 42"
${SUDO} -- "${SHELL}" -c "\"$0\" $* || exit 42"
case $? in
1)
die "this script needs to run as root"

View file

@ -16,7 +16,7 @@ cleanup() {
if [ "$(id -u)" != 0 ]; then
set +e
${SUDO} "${SHELL}" -c -- "\"$0\" $* || exit 42"
${SUDO} -- "${SHELL}" -c "\"$0\" $* || exit 42"
case $? in
1)
die "this script needs to run as root"