import leapp-0.15.0-2.el8

This commit is contained in:
CentOS Sources 2022-09-09 10:11:45 +00:00 committed by Stepan Oksanichenko
parent 18d0a2aea5
commit fe94104780
2 changed files with 57 additions and 1 deletions

View File

@ -0,0 +1,50 @@
From 84de08e3fe25c7eadf5cbb2f18b83acf3536fc2a Mon Sep 17 00:00:00 2001
From: Inessa Vasilevskaya <ivasilev@redhat.com>
Date: Tue, 6 Sep 2022 15:26:52 +0200
Subject: [PATCH] Make checks for missing answers more strict
Previously only presence of one section in the answerfile
has been verified, which led to false-positive preupgrade
reports when some other key has been present in the
dialog section instead of the required one.
OAMG-7521
---
leapp/messaging/__init__.py | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/leapp/messaging/__init__.py b/leapp/messaging/__init__.py
index 1ecc42e..9896179 100644
--- a/leapp/messaging/__init__.py
+++ b/leapp/messaging/__init__.py
@@ -152,10 +152,17 @@ class BaseMessaging(object):
"""
self._stop_after_phase.set(True)
+ def _unanswered_questions(self, dialog):
+ userchoices = dialog.get_answers(self._answers)
+ res = [s for s in dialog.answerfile_sections.keys() if s.split('.', 2)[1] not in userchoices]
+ return res
+
def register_dialog(self, dialog, actor):
+ # FIXME(ivasilev) Make sure it works correctly in case of a dialog with several questions. Currently there
+ # is no such dialog in actors but this code should be revisited if this changes. OAMG-7523
self._dialogs.append(dialog)
- userchoices = dialog.get_answers(self._answers)
- if not userchoices:
+ unanswered = self._unanswered_questions(dialog)
+ if unanswered:
# produce DialogModel messages for all the dialogs that don't have answers in answerfile
stable_key = dialog.key if dialog.key else hashlib.sha1(
','.join(sorted(dialog.answerfile_sections.keys())).encode('utf-8')).hexdigest()
@@ -164,6 +171,7 @@ class BaseMessaging(object):
key=stable_key), actor)
else:
# update dialogs with answers from answerfile. That is necessary for proper answerfile generation
+ userchoices = dialog.get_answers(self._answers)
for component, value in userchoices.items():
dialog_component = dialog.component_by_key(component)
if dialog_component:
--
2.37.2

View File

@ -37,7 +37,7 @@
Name: leapp
Version: 0.15.0
Release: 1%{?dist}
Release: 2%{?dist}
Summary: OS & Application modernization framework
License: ASL 2.0
@ -65,6 +65,7 @@ Requires: leapp-repository
# PATCHES HERE
# Patch0001: filename.patch
Patch0001: 0001-Make-checks-for-missing-answers-more-strict.patch
%description
@ -160,6 +161,7 @@ Requires: findutils
# APPLY REGISTERED PATCHES HERE
# %%patch0001 -p1
%patch0001 -p1
##################################################
@ -243,6 +245,10 @@ install -m 0644 -p man/leapp.1 %{buildroot}%{_mandir}/man1/
# no files here
%changelog
* Thu Sep 08 2022 Petr Stodulka <pstodulk@redhat.com> - 0.15.0-2
- Fix the check of missing required answers
- Resolves: rhbz#2124332
* Wed Aug 24 2022 Petr Stodulka <pstodulk@redhat.com> - 0.15.0-1
- Rebase to v0.15.0
- Bump leapp-framework to 3.1