Skip to content

Commit 1a6fddf

Browse files
committed
scripts(run-docker): style cleanup and explicit runtime guards
1 parent 2100868 commit 1a6fddf

1 file changed

Lines changed: 19 additions & 13 deletions

File tree

scripts/run-docker.sh

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ _detect_runtime() {
1616
if [ -n "${TERMUX_CONTAINER_RUNTIME:-}" ]; then
1717
case "$TERMUX_CONTAINER_RUNTIME" in
1818
docker|podman) echo "$TERMUX_CONTAINER_RUNTIME"; return;;
19-
*) echo "Error: TERMUX_CONTAINER_RUNTIME must be 'docker' or 'podman'" 1>&2; exit 1;;
19+
*) echo "Error: TERMUX_CONTAINER_RUNTIME must be 'docker' or 'podman'" >&2; exit 1;;
2020
esac
2121
fi
22-
if command -v docker >/dev/null 2>&1; then
22+
if command -v docker &>/dev/null; then
2323
echo "docker"
24-
elif command -v podman >/dev/null 2>&1; then
24+
elif command -v podman &>/dev/null; then
2525
echo "podman"
2626
else
27-
echo "Error: Neither docker nor podman found in PATH" 1>&2
27+
echo "Error: Neither docker nor podman found in PATH" >&2
2828
exit 1
2929
fi
3030
}
@@ -34,12 +34,12 @@ _detect_runtime() {
3434
_detect_sudo() {
3535
if [ "$(id -u)" = "0" ]; then
3636
echo ""
37-
elif command -v sudo >/dev/null 2>&1; then
37+
elif command -v sudo &>/dev/null; then
3838
echo "sudo"
39-
elif command -v doas >/dev/null 2>&1; then
39+
elif command -v doas &>/dev/null; then
4040
echo "doas"
4141
else
42-
echo "Error: This script must be run as root or with sudo/doas available in PATH" 1>&2
42+
echo "Error: This script must be run as root or with sudo/doas available in PATH" >&2
4343
exit 1
4444
fi
4545
}
@@ -100,7 +100,7 @@ while (( $# != 0 )); do
100100
TERMUX_DOCKER_RUN_EXTRA_ARGS="--volume /data:/data --volume $HOME/.termux-build:$CONTAINER_HOME_DIR/.termux-build $TERMUX_DOCKER_RUN_EXTRA_ARGS"
101101
shift 1;;
102102
--) shift 1; break;;
103-
-*) echo "Error: Unknown option '$1'" 1>&2; shift 1; exit 1;;
103+
-*) echo "Error: Unknown option '$1'" >&2; shift 1; exit 1;;
104104
*) break;;
105105
esac
106106
done
@@ -117,7 +117,7 @@ if [ "${dry_run}" = "true" ]; then
117117
RETURN_VALUE=0
118118
OUTPUT="$("$TERMUX_SCRIPTDIR/scripts/bin/build-package-dry-run-simulation.sh" "$@" 2>&1)" || RETURN_VALUE=$?
119119
if [ $RETURN_VALUE -ne 0 ]; then
120-
echo "$OUTPUT" 1>&2
120+
echo "$OUTPUT" >&2
121121
if [ $RETURN_VALUE -eq 85 ]; then # EX_C__NOOP
122122
echo "$0: Exiting since '$BUILDSCRIPT_NAME' would not have built any packages"
123123
exit 0
@@ -148,7 +148,7 @@ elif [ "$RUNTIME" = "docker" ]; then
148148
SEC_OPT=" --security-opt seccomp=$REPOROOT/scripts/profile.json --security-opt apparmor=_custom-termux-package-builder-$CONTAINER_NAME --cap-add CAP_SYS_ADMIN --device /dev/fuse"
149149
fi
150150
else
151-
echo "Error: Unsupported runtime '$RUNTIME'" 1>&2
151+
echo "Error: Unsupported runtime '$RUNTIME'" >&2
152152
exit 1
153153
fi
154154

@@ -214,7 +214,7 @@ if [ "$RUNTIME" = "docker" ]; then
214214
load_apparmor_profile ./scripts/profile-relaxed.apparmor
215215
fi
216216

217-
$SUDO $RUNTIME start $CONTAINER_NAME >/dev/null 2>&1 || {
217+
$SUDO $RUNTIME start $CONTAINER_NAME &>/dev/null || {
218218
echo "Creating new container..."
219219
if [ "$RUNTIME" = "podman" ]; then
220220
# In rootless Podman the default user-namespace mapping is:
@@ -240,7 +240,7 @@ $SUDO $RUNTIME start $CONTAINER_NAME >/dev/null 2>&1 || {
240240
--tty \
241241
$TERMUX_DOCKER_RUN_EXTRA_ARGS \
242242
$TERMUX_BUILDER_IMAGE_NAME
243-
else
243+
elif [ "$RUNTIME" = "docker" ]; then
244244
$SUDO $RUNTIME run \
245245
--detach \
246246
--init \
@@ -259,6 +259,9 @@ $SUDO $RUNTIME start $CONTAINER_NAME >/dev/null 2>&1 || {
259259
$SUDO $RUNTIME exec $DOCKER_TTY $TERMUX_DOCKER_EXEC_EXTRA_ARGS $CONTAINER_NAME sudo groupmod -g $(id -g) builder
260260
fi
261261
fi
262+
else
263+
echo "Error: Unsupported runtime '$RUNTIME'" >&2
264+
exit 1
262265
fi
263266
}
264267

@@ -284,11 +287,14 @@ if [ "$RUNTIME" = "podman" ]; then
284287
$TERMUX_DOCKER_EXEC_EXTRA_ARGS \
285288
$CONTAINER_NAME \
286289
"$@"
287-
else
290+
elif [ "$RUNTIME" = "docker" ]; then
288291
$SUDO $RUNTIME exec $CI_OPT \
289292
--env "DOCKER_EXEC_PID_FILE_PATH=$DOCKER_EXEC_PID_FILE_PATH" \
290293
--interactive $DOCKER_TTY \
291294
$TERMUX_DOCKER_EXEC_EXTRA_ARGS \
292295
$CONTAINER_NAME \
293296
"$@"
297+
else
298+
echo "Error: Unsupported runtime '$RUNTIME'" >&2
299+
exit 1
294300
fi

0 commit comments

Comments
 (0)