diff --git a/0003-Add-logging-to-TUI-software-selection-spoke-1505090.patch b/0003-Add-logging-to-TUI-software-selection-spoke-1505090.patch new file mode 100644 index 0000000..0eff0df --- /dev/null +++ b/0003-Add-logging-to-TUI-software-selection-spoke-1505090.patch @@ -0,0 +1,62 @@ +From 63ef4aa583fd36434b91420a04fad4e121752ea0 Mon Sep 17 00:00:00 2001 +From: Jiri Konecny +Date: Thu, 26 Oct 2017 11:26:56 +0200 +Subject: [PATCH] Add logging to TUI software selection spoke (#1505090) + +Related: rhbz#1505090 +--- + pyanaconda/ui/tui/spokes/software_selection.py | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/pyanaconda/ui/tui/spokes/software_selection.py b/pyanaconda/ui/tui/spokes/software_selection.py +index ae35838d0..93c868f32 100644 +--- a/pyanaconda/ui/tui/spokes/software_selection.py ++++ b/pyanaconda/ui/tui/spokes/software_selection.py +@@ -33,6 +33,9 @@ from simpleline.render.screen import InputState + from simpleline.render.screen_handler import ScreenHandler + from simpleline.render.widgets import TextWidget, CheckboxWidget + ++from pyanaconda.anaconda_loggers import get_module_logger ++log = get_module_logger(__name__) ++ + __all__ = ["SoftwareSpoke"] + + +@@ -113,6 +116,7 @@ class SoftwareSpoke(NormalTUISpoke): + def _payload_finished(self): + self.environment = self.data.packages.environment + self.addons = self._get_selected_addons() ++ log.debug("Payload restarted, set new info and clear the old one.") + + def _payload_error(self): + self.errors = [payloadMgr.error] +@@ -288,6 +292,8 @@ class SoftwareSpoke(NormalTUISpoke): + self.environment = self._selected_environment + self.addons = self._addons_selection if self.environment is not None else set() + ++ log.debug("Apply called old env %s, new env %s and addons %s", self._origEnv, self.environment, self.addons) ++ + if self.environment is None: + return + +@@ -301,6 +307,9 @@ class SoftwareSpoke(NormalTUISpoke): + or self._origEnv != self.environment \ + or set(self._origAddons) != set(self.addons): + ++ log.debug("Setting new software selection old env %s, new env %s and addons %s", ++ self._origEnv, self.environment, self.addons) ++ + self.payload.data.packages.packageList = [] + self.data.packages.groupList = [] + self.payload.selectEnvironment(self.environment) +@@ -329,6 +338,7 @@ class SoftwareSpoke(NormalTUISpoke): + except DependencyError as e: + self.errors = [str(e)] + self._tx_id = None ++ log.warning("Transaction error %s", str(e)) + else: + self._tx_id = self.payload.txID + +-- +2.13.6 + diff --git a/0004-Fix-changing-source-don-t-erase-old-environment-TUI-.patch b/0004-Fix-changing-source-don-t-erase-old-environment-TUI-.patch new file mode 100644 index 0000000..ad2f367 --- /dev/null +++ b/0004-Fix-changing-source-don-t-erase-old-environment-TUI-.patch @@ -0,0 +1,34 @@ +From dd98402a1e13e5d2017b21473c4b42906e5754fd Mon Sep 17 00:00:00 2001 +From: Jiri Konecny +Date: Thu, 26 Oct 2017 11:27:45 +0200 +Subject: [PATCH] Fix changing source don't erase old environment TUI + (#1505090) + +When the installation source changed the environment in the software +selection TUI spoke stays the same. Because of this when user changed +source and leave the same settings for the environment and addons as +before then the payload wasn't restarted at all. + +Fixing by removing old saved environment after payload restart. + +Resolves: rhbz#1505090 +--- + pyanaconda/ui/tui/spokes/software_selection.py | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/pyanaconda/ui/tui/spokes/software_selection.py b/pyanaconda/ui/tui/spokes/software_selection.py +index 93c868f32..6e108c02a 100644 +--- a/pyanaconda/ui/tui/spokes/software_selection.py ++++ b/pyanaconda/ui/tui/spokes/software_selection.py +@@ -116,6 +116,8 @@ class SoftwareSpoke(NormalTUISpoke): + def _payload_finished(self): + self.environment = self.data.packages.environment + self.addons = self._get_selected_addons() ++ self._origEnv = None ++ self._origAddons = None + log.debug("Payload restarted, set new info and clear the old one.") + + def _payload_error(self): +-- +2.13.6 + diff --git a/0005-Add-modular-server-repo-to-the-base-repositories-150.patch b/0005-Add-modular-server-repo-to-the-base-repositories-150.patch new file mode 100644 index 0000000..1633987 --- /dev/null +++ b/0005-Add-modular-server-repo-to-the-base-repositories-150.patch @@ -0,0 +1,42 @@ +From fd2a64b5a6b5addc4e37ae8e1705d04f396f1044 Mon Sep 17 00:00:00 2001 +From: Jiri Konecny +Date: Fri, 27 Oct 2017 19:25:35 +0200 +Subject: [PATCH] Add modular server repo to the base repositories (#1506894) + +The base repo is tested at the end of the installation and if the base +repo is not enabled then the payload reset fails. This breaks closest +source installation where this check is applied. + +The base repo is recognized by name and this name could have the +following values: + +anaconda +rawhide +first part before "-" sign in the product name + +This doesn't work for Fedora-Modular because it is fedora but that can't +be used for repo id or there will be repo name collision. + +Solved by adding fedora-modular-server to this list too. + +Resolves: rhbz#1506894 +--- + pyanaconda/payload/__init__.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pyanaconda/payload/__init__.py b/pyanaconda/payload/__init__.py +index 91f679174..aaf7b7463 100644 +--- a/pyanaconda/payload/__init__.py ++++ b/pyanaconda/payload/__init__.py +@@ -980,7 +980,7 @@ class ArchivePayload(ImagePayload): + class PackagePayload(Payload): + """A PackagePayload installs a set of packages onto the target system.""" + +- DEFAULT_REPOS = [productName.split('-')[0].lower(), "rawhide"] # pylint: disable=no-member ++ DEFAULT_REPOS = [productName.split('-')[0].lower(), "fedora-modular-server", "rawhide"] # pylint: disable=no-member + + def __init__(self, data): + if self.__class__ is PackagePayload: +-- +2.13.6 + diff --git a/anaconda.spec b/anaconda.spec index ce91f73..3ef3cd5 100644 --- a/anaconda.spec +++ b/anaconda.spec @@ -3,7 +3,7 @@ Summary: Graphical system installer Name: anaconda Version: 27.20.4 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2+ and MIT Group: Applications/System URL: http://fedoraproject.org/wiki/Anaconda @@ -21,6 +21,14 @@ Patch1: 0001-network-create-default-ifcfg-also-for-missing-defaul.patch # fix Mac EFI Patch2: 0002-Mac-EFI-installs-need-grub2-tools-1503496.patch +# fix being unable to continue installation without selecting +# and add-ons in TUI +Patch3: 0003-Add-logging-to-TUI-software-selection-spoke-1505090.patch +Patch4: 0004-Fix-changing-source-don-t-erase-old-environment-TUI-.patch + +# fix closest source selection for modular F27 +Patch5: 0005-Add-modular-server-repo-to-the-base-repositories-150.patch + # Versions of required components (done so we make sure the buildrequires # match the requires versions of things). @@ -247,6 +255,9 @@ runtime on NFS/HTTP/FTP servers or local disks. %setup -q %patch1 -p1 %patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 %build %configure @@ -340,6 +351,11 @@ update-desktop-database &> /dev/null || : %{_prefix}/libexec/anaconda/dd_* %changelog +* Mon Oct 30 2017 Martin Kolman - 27.20.4-3 +- Add logging to TUI software selection spoke (#1505090) (jkonecny) +- Fix changing source don't erase old environment TUI (#1505090) (jkonecny) +- Add modular server repo to the base repositories (#1506894) (jkonecny) + * Thu Oct 12 2017 Martin Kolman - 27.20.4-2 - network: create default ifcfg also for missing default NM connection (#1478141) (rvykydal) - Mac EFI installs need grub2-tools (#1503496) (adamw)