[pve-devel] [PATCH storage 1/2] postinst: avoid spawning subshell

Fabian Ebner f.ebner at proxmox.com
Thu Jun 17 10:58:25 CEST 2021


which makes the continue not behave as intended.

Reported by shellcheck: SC2106: This [i.e. continue] only exits the subshell
caused by the (..) group

Also factor out long message for readability.

Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
---
 debian/postinst | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/debian/postinst b/debian/postinst
index 0630d49..963ad06 100644
--- a/debian/postinst
+++ b/debian/postinst
@@ -10,17 +10,18 @@ case "$1" in
 
         # TODO: remove once PVE 8.0 is released
         if dpkg --compare-versions "$2" 'lt' '7.0-3'; then
+            warning="Warning: failed to move old CIFS credential file, cluster not quorate?"
             for file in /etc/pve/priv/*.cred; do
                 if [ -f "$file" ]; then
                     echo "Info: found CIFS credentials using old path: $file" >&2
-                    mkdir -p "/etc/pve/priv/storage" || (echo "Warning: failed to move old CIFS credential file, cluster not quorate?" && continue)
+                    mkdir -p "/etc/pve/priv/storage" || { echo "$warning" && continue; }
                     base=$(basename --suffix=".cred" "$file")
                     target="/etc/pve/priv/storage/$base.pw"
                     if [ -f "$target" ]; then
                         echo "Warning: not renaming $file, because $target already exists!" >&2
                     else
                         echo "Info: renaming $file to $target" >&2
-                        mv "$file" "$target" || (echo "Warning: failed to move old CIFS credential file, cluster not quorate?" && continue)
+                        mv "$file" "$target" || { echo "$warning" && continue; }
                     fi
                 fi
             done
-- 
2.30.2






More information about the pve-devel mailing list