From 565a8ed0183718deb4e14b3b3d67417db4a8092a Mon Sep 17 00:00:00 2001 From: Alejandro Colomar Date: Fri, 9 Feb 2024 00:26:47 +0100 Subject: [PATCH] Tools: setup-unit: ctl edit: Print file name on error When editing the configuration in-place, it's easy to make a mistake. If the configuration is wrong, it will be passed to the control socket, which will reject it, keeping the old configuration. Those manual edits would be lost, which can make it very uncomfortable to edit in-place. By printing the name of the temporary file, we allow the user to recover the changes. Cc: Liam Crilly Reviewed-by: Andrew Clayton Signed-off-by: Alejandro Colomar --- tools/setup-unit | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/setup-unit b/tools/setup-unit index 48e5c998..0df19070 100755 --- a/tools/setup-unit +++ b/tools/setup-unit @@ -138,6 +138,11 @@ OPTIONS __EOF__ } +info() +{ + >&2 echo "$(basename "$0"): info: $*"; +} + warn() { >&2 echo "$(basename "$0"): error: $*"; @@ -430,7 +435,11 @@ unit_ctl_edit() || echo ed; ) "$tmp"; + trap "info 'ctl: edit: Invalid configuration saved in <$tmp>.'" ERR + unit_ctl_http ---s "$sock" PUT "$req_path" <"$tmp"; + + trap - ERR; }