isar-installer: Fixing supervised image deployment in isar-installer when target device is not empty

Message ID 20241115135809.599705-1-alexander.heinisch@siemens.com
State Accepted, archived
Headers show
Series isar-installer: Fixing supervised image deployment in isar-installer when target device is not empty | expand

Commit Message

alexander.heinisch Nov. 15, 2024, 1:58 p.m. UTC
From: Alexander Heinisch <alexander.heinisch@siemens.com>

In supervised mode (!unattended) the check to override non empty
targets was combined with the check for unattended mode. Thus,
resulting in the wrong condition branch when the user  accepted
an override (closed dialog with 'Yes')
In such case the script was assuming similar behaviour like in
unattended mode, thus evaluating the installer_target_overwrite check,
which in that case is neither set via kernel cmdline nor via
auto.install file.

Signed-off-by: Alexander Heinisch <alexander.heinisch@siemens.com>
---
 .../deploy-image/files/usr/bin/deploy-image-wic.sh       | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

Comments

Uladzimir Bely Nov. 21, 2024, 6:50 a.m. UTC | #1
On Fri, 2024-11-15 at 14:58 +0100, alexander.heinisch via isar-users
wrote:
> From: Alexander Heinisch <alexander.heinisch@siemens.com>
> 
> In supervised mode (!unattended) the check to override non empty
> targets was combined with the check for unattended mode. Thus,
> resulting in the wrong condition branch when the user  accepted
> an override (closed dialog with 'Yes')
> In such case the script was assuming similar behaviour like in
> unattended mode, thus evaluating the installer_target_overwrite
> check,
> which in that case is neither set via kernel cmdline nor via
> auto.install file.
> 
> Signed-off-by: Alexander Heinisch <alexander.heinisch@siemens.com>
> ---
>  .../deploy-image/files/usr/bin/deploy-image-wic.sh       | 9 +++++--
> --
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/meta-isar/recipes-installer/deploy-
> image/files/usr/bin/deploy-image-wic.sh b/meta-isar/recipes-
> installer/deploy-image/files/usr/bin/deploy-image-wic.sh
> index 91c0518b..7f552eee 100755
> --- a/meta-isar/recipes-installer/deploy-image/files/usr/bin/deploy-
> image-wic.sh
> +++ b/meta-isar/recipes-installer/deploy-image/files/usr/bin/deploy-
> image-wic.sh
> @@ -125,10 +125,11 @@ if ! $installer_unattended; then
>  fi
>  
>  if ! cmp /dev/zero "$installer_target_dev" -n 1M; then
> -    if ! $installer_unattended && \
> -       ! dialog --defaultno \
> -                --yesno "WARNING: Target device is not empty!
> Continue anyway?" 5 60; then
> -        exit 0
> +    if ! $installer_unattended; then
> +        if ! dialog --defaultno \
> +                    --yesno "WARNING: Target device is not empty!
> Continue anyway?" 5 60; then
> +            exit 0
> +        fi
>      else
>          if [ "$installer_target_overwrite" != "OVERWRITE" ]; then
>              echo "Target device is not empty! -> Abort"
> -- 
> 2.43.0
> 

Applied to next, thanks.

Patch

diff --git a/meta-isar/recipes-installer/deploy-image/files/usr/bin/deploy-image-wic.sh b/meta-isar/recipes-installer/deploy-image/files/usr/bin/deploy-image-wic.sh
index 91c0518b..7f552eee 100755
--- a/meta-isar/recipes-installer/deploy-image/files/usr/bin/deploy-image-wic.sh
+++ b/meta-isar/recipes-installer/deploy-image/files/usr/bin/deploy-image-wic.sh
@@ -125,10 +125,11 @@  if ! $installer_unattended; then
 fi
 
 if ! cmp /dev/zero "$installer_target_dev" -n 1M; then
-    if ! $installer_unattended && \
-       ! dialog --defaultno \
-                --yesno "WARNING: Target device is not empty! Continue anyway?" 5 60; then
-        exit 0
+    if ! $installer_unattended; then
+        if ! dialog --defaultno \
+                    --yesno "WARNING: Target device is not empty! Continue anyway?" 5 60; then
+            exit 0
+        fi
     else
         if [ "$installer_target_overwrite" != "OVERWRITE" ]; then
             echo "Target device is not empty! -> Abort"