diff --git a/.gitignore b/.gitignore index d5962e0..eccaf67 100644 --- a/.gitignore +++ b/.gitignore @@ -425,3 +425,65 @@ /anaconda-42.4.tar.bz2 /anaconda-42.5.tar.bz2 /anaconda-42.6.tar.bz2 +/anaconda-42.7.tar.bz2 +/anaconda-42.8.tar.bz2 +/anaconda-42.9.tar.bz2 +/anaconda-42.10.tar.bz2 +/anaconda-42.11.tar.bz2 +/anaconda-42.12.tar.bz2 +/anaconda-42.13.tar.bz2 +/anaconda-42.14.tar.bz2 +/anaconda-42.15.tar.bz2 +/anaconda-42.16.tar.bz2 +/anaconda-42.18.tar.bz2 +/anaconda-42.20.tar.bz2 +/anaconda-42.21.tar.bz2 +/anaconda-42.23.tar.bz2 +/anaconda-42.24.tar.bz2 +/anaconda-42.26.tar.bz2 +/anaconda-43.1.tar.bz2 +/anaconda-43.5.tar.bz2 +/anaconda-43.6.tar.bz2 +/anaconda-43.7.tar.bz2 +/anaconda-43.8.tar.bz2 +/anaconda-43.9.tar.bz2 +/anaconda-43.10.tar.bz2 +/anaconda-43.11.tar.bz2 +/anaconda-43.12.tar.bz2 +/anaconda-43.13.tar.bz2 +/anaconda-43.14.tar.bz2 +/anaconda-43.15.tar.bz2 +/anaconda-43.16.tar.bz2 +/anaconda-43.17.tar.bz2 +/anaconda-43.18.tar.bz2 +/anaconda-43.20.tar.bz2 +/anaconda-43.21.tar.bz2 +/anaconda-43.22.tar.bz2 +/anaconda-43.24.tar.bz2 +/anaconda-43.25.tar.bz2 +/anaconda-43.28.tar.bz2 +/anaconda-43.29.tar.bz2 +/anaconda-43.30.tar.bz2 +/anaconda-43.31.tar.bz2 +/anaconda-43.32.tar.bz2 +/anaconda-43.33.tar.bz2 +/anaconda-43.34.tar.bz2 +/anaconda-43.35.tar.bz2 +/anaconda-43.36.tar.bz2 +/anaconda-43.37.tar.bz2 +/anaconda-43.38.tar.bz2 +/anaconda-43.39.tar.bz2 +/anaconda-43.40.tar.bz2 +/anaconda-43.41.tar.bz2 +/anaconda-43.44.tar.bz2 +/anaconda-43.46.tar.bz2 +/anaconda-44.1.tar.bz2 +/anaconda-44.2.tar.bz2 +/anaconda-44.4.tar.bz2 +/anaconda-44.5.tar.bz2 +/anaconda-44.6.tar.bz2 +/anaconda-44.7.tar.bz2 +/anaconda-44.8.tar.bz2 +/anaconda-44.9.tar.bz2 +/anaconda-44.10.tar.bz2 +/anaconda-44.11.tar.bz2 diff --git a/.packit.yml b/.packit.yml index 3eb6694..ef65b39 100644 --- a/.packit.yml +++ b/.packit.yml @@ -11,6 +11,10 @@ upstream_tag_template: anaconda-{version} copy_upstream_release_description: true downstream_package_name: anaconda +files_to_sync: + - rpmlint.toml + - .packit.yml + srpm_build_deps: - automake - autoconf @@ -42,17 +46,21 @@ actions: - 'bash -c "ls -1 anaconda-*.tar.bz2"' jobs: + # Propose downstream (Fedora) - job: propose_downstream trigger: release packages: [anaconda-fedora] - dist_git_branches: main + dist_git_branches: + - main + # Tests on PR (Fedora) - job: tests trigger: pull_request packages: [anaconda-fedora] targets: - fedora-rawhide + # COPR builds on PR (Fedora) - job: copr_build trigger: pull_request packages: [anaconda-fedora] @@ -60,14 +68,48 @@ jobs: - fedora-rawhide - fedora-eln + # COPR builds on commit (Fedora): single job with multiple targets (add ELN on main) - job: copr_build trigger: commit packages: [anaconda-fedora] targets: - fedora-rawhide - fedora-eln - branch: master + branch: main owner: "@rhinstaller" project: Anaconda preserve_project: True + - job: koji_build + trigger: commit + packages: [anaconda-fedora] + sidetag_group: anaconda-releases + dist_git_branches: + - fedora-development + allowed_committers: + - m4rtink + - kkoukiou + - rvykydal + - jkonecny + - packit + allowed_pr_authors: + - m4rtink + - kkoukiou + - rvykydal + - jkonecny + - packit + + - job: bodhi_update + trigger: koji_build + packages: [anaconda-fedora] + sidetag_group: anaconda-releases + dependencies: + - anaconda-webui + dist_git_branches: + - fedora-development + allowed_builders: + - m4rtink + - kkoukiou + - rvykydal + - jkonecny + - packit diff --git a/0001-Don-t-pass-no-x11-to-gnome-kiosk.patch b/0001-Don-t-pass-no-x11-to-gnome-kiosk.patch new file mode 100644 index 0000000..1513e46 --- /dev/null +++ b/0001-Don-t-pass-no-x11-to-gnome-kiosk.patch @@ -0,0 +1,31 @@ +From b4b09f54b39b288f326b4734c13d27aa710e69d3 Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Mon, 2 Jun 2025 12:28:49 -0700 +Subject: [PATCH] Don't pass --no-x11 to gnome-kiosk + +This is also gone when mutter is built without X11 support, as +is now the case in Rawhide and ELN, and probably soon in EL 10. +Don't backport this to earlier branches. + +Signed-off-by: Adam Williamson +--- + pyanaconda/display.py | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/pyanaconda/display.py b/pyanaconda/display.py +index 25a0e15142..20adcf58ff 100644 +--- a/pyanaconda/display.py ++++ b/pyanaconda/display.py +@@ -226,8 +226,7 @@ def do_startup_wl_actions(timeout, headless=False, headless_resolution=None): + argv.extend(["--vt", "6"]) + + # add the generic GNOME Kiosk invocation +- argv.extend(["gnome-kiosk", "--wayland", "--no-x11", +- "--wayland-display", constants.WAYLAND_SOCKET_NAME]) ++ argv.extend(["gnome-kiosk", "--wayland", "--wayland-display", constants.WAYLAND_SOCKET_NAME]) + + # remote access needs gnome-kiosk to start in headless mode + if headless: +-- +2.49.0 + diff --git a/0001-RebootData-don-t-allow-action-to-be-None.patch b/0001-RebootData-don-t-allow-action-to-be-None.patch new file mode 100644 index 0000000..233d91a --- /dev/null +++ b/0001-RebootData-don-t-allow-action-to-be-None.patch @@ -0,0 +1,66 @@ +From c7dce0445423e7386fdc6998a6a8de50a7a39bca Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Thu, 9 Oct 2025 10:07:01 -0700 +Subject: [PATCH] RebootData: don't allow action to be None + +Silverblue installs (and probably others where the kickstart data +does not explicitly specify a reboot action) crash, because +the `RebootData` instance's `action` winds up as `None`, since +this is the default value of `self.action` in +`pykickstart.commands.reboot.F23_Reboot`. Trying to translate +this to a DBus structure with `RebootData.to_structure` fails, +because DBus has no concept of `None`. + +To avoid this, let's have the setter convert `None` to `-1`, the +same value we use as a default when initializing the instance. + +Signed-off-by: Adam Williamson +--- + pyanaconda/modules/common/structures/reboot.py | 5 ++++- + .../modules/runtime/test_module_runtime.py | 10 ++++++++++ + 2 files changed, 14 insertions(+), 1 deletion(-) + +diff --git a/pyanaconda/modules/common/structures/reboot.py b/pyanaconda/modules/common/structures/reboot.py +index fd2673b169..cadbfbd01f 100644 +--- a/pyanaconda/modules/common/structures/reboot.py ++++ b/pyanaconda/modules/common/structures/reboot.py +@@ -46,7 +46,10 @@ class RebootData(DBusData): + return self._action + + @action.setter +- def action(self, value: Int): ++ def action(self, value: Int | None): ++ if value is None: ++ # dbus cannot handle None ++ value = -1 + self._action = value + + @property +diff --git a/tests/unit_tests/pyanaconda_tests/modules/runtime/test_module_runtime.py b/tests/unit_tests/pyanaconda_tests/modules/runtime/test_module_runtime.py +index 22286e59c1..83d3a123ef 100644 +--- a/tests/unit_tests/pyanaconda_tests/modules/runtime/test_module_runtime.py ++++ b/tests/unit_tests/pyanaconda_tests/modules/runtime/test_module_runtime.py +@@ -18,6 +18,7 @@ + import unittest + from textwrap import dedent + ++from pyanaconda.modules.common.structures.reboot import RebootData + from pyanaconda.modules.runtime.runtime import RuntimeService + from pyanaconda.modules.runtime.runtime_interface import RuntimeInterface + from tests.unit_tests.pyanaconda_tests import check_kickstart_interface +@@ -166,3 +167,12 @@ class RuntimeInterfaceTestCase(unittest.TestCase): + ks_in = "halt --eject\n" + ks_out = "# Halt after installation\nhalt --eject\n" + self._test_kickstart(ks_in, ks_out) ++ ++ def test_process_kickstart_with_no_payload(self): ++ """Test all values are ints when reading empty kickstart.""" ++ self.interface.ReadKickstart("") ++ assert isinstance(self.module.reboot.action, int) ++ assert isinstance(self.module.reboot.eject, int) ++ assert isinstance(self.module.reboot.kexec, int) ++ # and check we can to_structure it ++ RebootData.to_structure(self.module.reboot) +-- +2.51.0 + diff --git a/0001-pyanaconda-localization-Indicate-ASCII-support-in-ge.patch b/0001-pyanaconda-localization-Indicate-ASCII-support-in-ge.patch new file mode 100644 index 0000000..28344bb --- /dev/null +++ b/0001-pyanaconda-localization-Indicate-ASCII-support-in-ge.patch @@ -0,0 +1,139 @@ +From c6118f65fe3583e1c15c383a8a9c6f5c1989fb22 Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Thu, 9 Oct 2025 16:51:15 -0700 +Subject: [PATCH] pyanaconda: localization: Indicate ASCII support in + get_keyboard_layouts + +It is useful to know whether a given keyboard layout supports +ASCII input or not. Immediately, we want to use this in the +webUI keyboard logic, but it may be useful elsewhere too in +future, e.g. to warn the user if they use the Keyboard spoke +to create a configuration with no layout capable of ASCII input. + +Signed-off-by: Adam Williamson +--- + pyanaconda/localization.py | 11 +++++++++ + .../common/structures/keyboard_layout.py | 10 ++++++++ + .../modules/localization/localization.py | 2 ++ + .../localization/test_module_localization.py | 23 +++++++++++-------- + 4 files changed, 36 insertions(+), 10 deletions(-) + +diff --git a/pyanaconda/localization.py b/pyanaconda/localization.py +index 73415b2511..08a9343463 100644 +--- a/pyanaconda/localization.py ++++ b/pyanaconda/localization.py +@@ -489,6 +489,17 @@ def get_common_keyboard_layouts(): + return langtable.list_common_keyboards() + + ++def layout_supports_ascii(layout): ++ """Return a boolean indicating whether the xkb layout (given as ++ e.g. 'en(us)' or 'fr(oss)' or 'ru') can input ASCII characters. ++ ++ :return: True for ASCII capable, False for not ++ :rtype: bool ++ :param str layout: layout descriptor string ++ """ ++ return langtable.supports_ascii(layout) ++ ++ + def get_locale_timezones(locale): + """Function returning preferred timezones for the given locale. + +diff --git a/pyanaconda/modules/common/structures/keyboard_layout.py b/pyanaconda/modules/common/structures/keyboard_layout.py +index b5aacc764b..007e975965 100644 +--- a/pyanaconda/modules/common/structures/keyboard_layout.py ++++ b/pyanaconda/modules/common/structures/keyboard_layout.py +@@ -29,6 +29,7 @@ class KeyboardLayout(DBusData): + def __init__(self): + self._layout_id = "" + self._description = "" ++ self._supports_ascii = False + self._is_common = False + self._langs = [] + +@@ -59,6 +60,15 @@ class KeyboardLayout(DBusData): + def is_common(self, value: bool): + self._is_common = value + ++ @property ++ def supports_ascii(self) -> bool: ++ """Return whether the layout is capable of typing ASCII characters.""" ++ return self._supports_ascii ++ ++ @supports_ascii.setter ++ def supports_ascii(self, value: bool): ++ self._supports_ascii = value ++ + @property + def langs(self) -> List[Str]: + """Return the list of associated languages.""" +diff --git a/pyanaconda/modules/localization/localization.py b/pyanaconda/modules/localization/localization.py +index 346a55a1c0..4fb7333ed7 100644 +--- a/pyanaconda/modules/localization/localization.py ++++ b/pyanaconda/modules/localization/localization.py +@@ -33,6 +33,7 @@ from pyanaconda.localization import ( + get_language_id, + get_language_locales, + get_native_name, ++ layout_supports_ascii, + ) + from pyanaconda.modules.common.base import KickstartService + from pyanaconda.modules.common.constants.services import LOCALIZATION +@@ -218,6 +219,7 @@ class LocalizationService(KickstartService): + layout.description = self.get_layout_variant_description(name, with_lang=True, xlated=True) + layout.is_common = name.replace(" ", "") in common_langtable_keyboards and is_common_lang + layout.langs = info.langs ++ layout.supports_ascii = layout_supports_ascii(name.replace(" ", "")) + layouts.append(layout) + + return layouts +diff --git a/tests/unit_tests/pyanaconda_tests/modules/localization/test_module_localization.py b/tests/unit_tests/pyanaconda_tests/modules/localization/test_module_localization.py +index 7f6449d3ea..7582df2401 100644 +--- a/tests/unit_tests/pyanaconda_tests/modules/localization/test_module_localization.py ++++ b/tests/unit_tests/pyanaconda_tests/modules/localization/test_module_localization.py +@@ -228,28 +228,31 @@ class LocalizationInterfaceTestCase(unittest.TestCase): + normalized_layouts = KeyboardLayout.from_structure_list(layouts) + + layouts_expectation = [ +- ("ara (olpc)", "Arabic (OLPC)", "Arabic", False), +- ("cz", "Czech", "Czech", False), +- ("de (nodeadkeys)", "German (no dead keys)", "German", True), +- ("es", "Spanish", "Spanish; Castilian", True), +- ("fr (oss)", "French (alt.)", "French", True), +- ("gr", "Greek", "Greek, Modern (1453-); Greek", False), +- ("it", "Italian", "Italian", False), +- ("jp", "Japanese", "Japanese", True), +- ("us", "English (US)", "English", True), ++ ("ara (olpc)", "Arabic (OLPC)", "Arabic", False, True), ++ ("cz", "Czech", "Czech", False, True), ++ ("de (nodeadkeys)", "German (no dead keys)", "German", True, True), ++ ("es", "Spanish", "Spanish; Castilian", True, True), ++ ("fr (oss)", "French (alt.)", "French", True, True), ++ ("gr", "Greek", "Greek, Modern (1453-); Greek", False, False), ++ ("it", "Italian", "Italian", False, True), ++ ("jp", "Japanese", "Japanese", True, True), ++ ("us", "English (US)", "English", True, True), ++ ("ru (dos)", "Russian (DOS)", "Russian", False, False), + ] + +- for layout_id, description, lang, is_common in layouts_expectation: ++ for layout_id, description, lang, is_common, supports_ascii in layouts_expectation: + layout = KeyboardLayout() + layout.layout_id = layout_id + layout.description = description + layout.is_common = is_common ++ layout.supports_ascii = supports_ascii + layout.langs = [lang] + + gen = (normalized_layout for normalized_layout in normalized_layouts if layout.layout_id == normalized_layout.layout_id) + for normalized_layout in gen: + assert layout.description == normalized_layout.description + assert layout.is_common == normalized_layout.is_common ++ assert layout.supports_ascii == normalized_layout.supports_ascii + assert layout.langs == normalized_layout.langs + break + else: +-- +2.51.0 + diff --git a/6447.patch b/6447.patch new file mode 100644 index 0000000..065227d --- /dev/null +++ b/6447.patch @@ -0,0 +1,42 @@ +From d75de3da3648dee474ddea6639e09c071f027232 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= +Date: Sat, 7 Jun 2025 13:44:25 +0200 +Subject: [PATCH] Avoid buffer overflow with TIOCGWINSZ + +It has 4 bytes, not 2. + +On Python 3.14+, the previous version raised SystemError: + + >>> from pyanaconda.argument_parsing import get_help_width + ... + >>> get_help_width() + Traceback (most recent call last): + File "", line 1, in + get_help_width() + ~~~~~~~~~~~~~~^^ + File "/usr/lib64/python3.14/site-packages/pyanaconda/argument_parsing.py", line 68, in get_help_width + data = fcntl.ioctl(sys.stdout, termios.TIOCGWINSZ, '1234') + SystemError: buffer overflow + +See https://github.com/python/cpython/commit/c2eaeee3dc3306ca486b0377b07b1a957584b691 + +Fixes https://bugzilla.redhat.com/2370944 +--- + pyanaconda/argument_parsing.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/pyanaconda/argument_parsing.py b/pyanaconda/argument_parsing.py +index e24f0f1b999..55cf7993625 100644 +--- a/pyanaconda/argument_parsing.py ++++ b/pyanaconda/argument_parsing.py +@@ -65,8 +65,8 @@ def get_help_width(): + return DEFAULT_HELP_WIDTH + + try: +- data = fcntl.ioctl(sys.stdout, termios.TIOCGWINSZ, '1234') +- columns = int(struct.unpack('hh', data)[1]) ++ data = fcntl.ioctl(sys.stdout, termios.TIOCGWINSZ, '12345678') ++ columns = int(struct.unpack('hhhh', data)[1]) + except (OSError, ValueError) as e: + log.info("Unable to determine terminal width: %s", e) + print("terminal size detection failed, using default width") diff --git a/6449.patch b/6449.patch new file mode 100644 index 0000000..c8ddc52 --- /dev/null +++ b/6449.patch @@ -0,0 +1,70 @@ +From 11b7e782d8de7da49f0b4e650e8fc0c60f69304f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= +Date: Sun, 8 Jun 2025 17:46:29 +0200 +Subject: [PATCH] Avoid the multiprocessing forkserver method with dnf + +Fixes: + + Traceback (most recent call last): + File "/usr/lib64/python3.14/site-packages/pyanaconda/core/threads.py", line 281, in run + threading.Thread.run(self) + ~~~~~~~~~~~~~~~~~~~~^^^^^^ + File "/usr/lib64/python3.14/threading.py", line 1023, in run + self._target(*self._args, **self._kwargs) + ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib64/python3.14/site-packages/pyanaconda/modules/common/task/task.py", line 97, in _thread_run_callback + self._task_run_callback() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "/usr/lib64/python3.14/site-packages/pyanaconda/modules/common/task/task.py", line 110, in _task_run_callback + self._set_result(self.run()) + ~~~~~~~~^^ + File "/usr/lib64/python3.14/site-packages/pyanaconda/modules/payloads/payload/dnf/installation.py", line 281, in run + self._dnf_manager.install_packages(self.report_progress) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib64/python3.14/site-packages/pyanaconda/modules/payloads/payload/dnf/dnf_manager.py", line 664, in install_packages + process.start() + ~~~~~~~~~~~~~^^ + File "/usr/lib64/python3.14/multiprocessing/process.py", line 121, in start + self._popen = self._Popen(self) + ~~~~~~~~~~~^^^^^^ + File "/usr/lib64/python3.14/multiprocessing/context.py", line 224, in _Popen + return _default_context.get_context().Process._Popen(process_obj) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ + File "/usr/lib64/python3.14/multiprocessing/context.py", line 300, in _Popen + return Popen(process_obj) + File "/usr/lib64/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ + super().__init__(process_obj) + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ + File "/usr/lib64/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ + self._launch(process_obj) + ~~~~~~~~~~~~^^^^^^^^^^^^^ + File "/usr/lib64/python3.14/multiprocessing/popen_forkserver.py", line 47, in _launch + reduction.dump(process_obj, buf) + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ + File "/usr/lib64/python3.14/multiprocessing/reduction.py", line 60, in dump + ForkingPickler(file, protocol).dump(obj) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^ + TypeError: cannot pickle 'SwigPyObject' object +--- + pyanaconda/modules/payloads/payload/dnf/dnf_manager.py | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/pyanaconda/modules/payloads/payload/dnf/dnf_manager.py b/pyanaconda/modules/payloads/payload/dnf/dnf_manager.py +index 925ed73790a..e7c25369912 100644 +--- a/pyanaconda/modules/payloads/payload/dnf/dnf_manager.py ++++ b/pyanaconda/modules/payloads/payload/dnf/dnf_manager.py +@@ -652,9 +652,12 @@ def install_packages(self, callback, timeout=20): + :param timeout: a time out of a failed process in seconds + :raise PayloadInstallationError: if the installation fails + """ +- queue = multiprocessing.Queue() ++ # SwigPyObjects are not picklable, so force the fork method ++ # On Python 3.14+, forkserver is the default (and it pickles) ++ context = multiprocessing.get_context(method="fork") ++ queue = context.Queue() + display = TransactionProgress(queue) +- process = multiprocessing.Process( ++ process = context.Process( + target=self._run_transaction, + args=(self._base, display) + ) diff --git a/README.packit b/README.packit index 3f22dbc..9bb65f0 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.102.0.post1.dev4+g7e44ad87. +The file was generated using packit 1.13.0.post1.dev2+g84134016c. diff --git a/anaconda.spec b/anaconda.spec index d3a0ec3..cc4a2f2 100644 --- a/anaconda.spec +++ b/anaconda.spec @@ -1,7 +1,7 @@ Summary: Graphical system installer Name: anaconda -Version: 42.6 -Release: 1%{?dist} +Version: 44.11 +Release: 2%{?dist} ExcludeArch: %{ix86} License: GPL-2.0-or-later URL: http://fedoraproject.org/wiki/Anaconda @@ -16,18 +16,15 @@ Source0: https://github.com/rhinstaller/%{name}/releases/download/%{name}-%{vers # Versions of required components (done so we make sure the buildrequires # match the requires versions of things). +%bcond glade %[%{undefined rhel} && %{undefined eln}] +%bcond live %[%{defined fedora} || %{defined eln}] %if ! 0%{?rhel} -%bcond_without glade -%bcond_without live %define blivetguiver 2.4.2-3 -%else -%bcond_with glade -%bcond_with live %endif %define dasbusver 1.3 %define dbusver 1.2.3 -%define dnfver 3.6.0 -%define dracutver 034-7 +%define dnfver 5.2.15.0-1 +%define dracutver 102-3 %define fcoeutilsver 1.0.12-3.20100323git %define gettextver 0.19.8 %define gtk3ver 3.22.17 @@ -36,17 +33,17 @@ Source0: https://github.com/rhinstaller/%{name}/releases/download/%{name}-%{vers %define libarchivever 3.0.4 %define libblockdevver 2.1 %define libreportanacondaver 2.0.21-1 -%define libxklavierver 5.4 %define mehver 0.23-1 %define nmver 1.0 -%define pykickstartver 3.58-1 +%define pykickstartver 3.65-1 %define pypartedver 2.5-2 -%define pythonblivetver 1:3.9.0-1 +%define pythonblivetver 1:3.13.0-1 %define rpmver 4.15.0 %define simplelinever 1.9.0-1 -%define subscriptionmanagerver 1.26 +%define subscriptionmanagerver 1.29.31 %define utillinuxver 2.15.1 %define rpmostreever 2023.2 +%define s390utilscorever 2.31.0 BuildRequires: libtool BuildRequires: gettext-devel >= %{gettextver} @@ -58,7 +55,6 @@ BuildRequires: gobject-introspection-devel %if %{with glade} BuildRequires: glade-devel %endif -BuildRequires: libxklavier-devel >= %{libxklavierver} BuildRequires: make BuildRequires: pango-devel BuildRequires: python3-devel @@ -81,9 +77,6 @@ Requires: anaconda-tui = %{version}-%{release} The anaconda package is a metapackage for the Anaconda installer. %package core -# Since the binaries in anaconda-core are shell or Python scripts, -# there's no need to generate a debuginfo package -%define debug_package %{nil} Summary: Core of the Anaconda installer # core/signal.py is under MIT License: GPL-2.0-or-later AND MIT @@ -91,13 +84,14 @@ Requires: python3-libs %if 0%{?rhel} > 10 || 0%{?fedora} > 40 Requires: python3-crypt-r %endif -Requires: python3-dnf >= %{dnfver} +Requires: python3-libdnf5 >= %{dnfver} Requires: python3-blivet >= %{pythonblivetver} Requires: python3-blockdev >= %{libblockdevver} Requires: python3-meh >= %{mehver} %if 0%{?rhel} < 10 || 0%{?fedora} Requires: libreport-anaconda >= %{libreportanacondaver} %endif +Requires: python3-iso639 Requires: python3-libselinux Requires: python3-rpm >= %{rpmver} Requires: python3-pyparted >= %{pypartedver} @@ -112,6 +106,8 @@ Requires: python3-pwquality Requires: python3-systemd Requires: python3-productmd Requires: python3-dasbus >= %{dasbusver} +Requires: python3-xkbregistry +Requires: flatpak Requires: flatpak-libs %if %{defined rhel} && %{undefined centos} Requires: subscription-manager >= %{subscriptionmanagerver} @@ -127,13 +123,15 @@ Requires: NetworkManager-team %endif %ifarch s390 s390x Requires: openssh +Requires: s390utils-core >= %{s390utilscorever} +Requires: dracut-network >= %{dracutver} %endif Requires: NetworkManager >= %{nmver} Requires: NetworkManager-libnm >= %{nmver} Requires: kbd Requires: chrony Requires: systemd -%if 0%{?rhel} > 10 || 0%{?fedora} +%if ! 0%{?rhel} Requires: systemd-resolved %endif Requires: python3-pid @@ -142,7 +140,11 @@ Requires: python3-pid Requires: crypto-policies Requires: crypto-policies-scripts -# required because of the rescue mode and VNC question +%ifnarch s390 s390x +Requires: grub2-common >= 2.12-37 +%endif + +# required because of the rescue mode and RDP question Requires: anaconda-tui = %{version}-%{release} # Make sure we get the en locale one way or another @@ -173,13 +175,17 @@ system. %package live Summary: Live installation specific files and dependencies -BuildArchitectures: noarch +BuildArch: noarch BuildRequires: desktop-file-utils -# live installation currently implies a graphical installation -Requires: anaconda-gui = %{version}-%{release} +# live installation currently implies a graphical installation with Web UI +Requires: anaconda-webui Requires: zenity -Requires: xisxwayland Recommends: xhost +# FIXME: This is currently needed by the locale1-x11-sync script. +# It makes little sense for Anaconda to pull in two Python DBus libraries, +# so we should either split the script to a separate or change it to also +# use dasbus like the rest of Anaconda. +Requires: python3-dbus-next %description live The anaconda-live package contains scripts, data and dependencies required @@ -191,6 +197,7 @@ for live installations. Summary: Installation environment specific dependencies Requires: udisks2-iscsi Requires: libblockdev-plugins-all >= %{libblockdevver} +Requires: libblockdev-tools %if ! 0%{?rhel} Requires: libblockdev-lvm-dbus %endif @@ -221,7 +228,6 @@ Recommends: kdump-anaconda-addon # basic filesystem tools %if ! 0%{?rhel} Requires: btrfs-progs -Requires: ntfs-3g Requires: ntfsprogs Requires: f2fs-tools %endif @@ -258,16 +264,19 @@ Requires: zram-generator # needed for proper driver disk support - if RPMs must be installed, a repo is needed Requires: createrepo_c # Display stuff moved from lorax templates -Requires: xorg-x11-drivers -Requires: xorg-x11-server-Xorg -Requires: xrandr -Requires: xrdb -Requires: dbus-x11 Requires: gsettings-desktop-schemas Requires: nm-connection-editor Requires: librsvg2 Requires: gnome-kiosk +Requires: gnome-remote-desktop +# needed to generate RDP certs at runtime +Requires: openssl +# needed by GNOME kiosk but not declared a as explicit dep, +# instead expected to be declared like this according to the +# maintainers +Requires: mesa-dri-drivers Requires: brltty +Requires: python3-pam # dependencies for rpm-ostree payload module Requires: rpm-ostree >= %{rpmostreever} Requires: ostree @@ -277,6 +286,15 @@ Requires: skopeo Requires: nvme-cli # Needed for bootc Requires: podman +Requires: bootc +Requires: bootupd +# needed for encrypted DNS +Requires: dnsconfd +Requires: dnsconfd-dracut +Requires: selinux-policy +Requires: libselinux-utils +Requires: selinux-policy-targeted +Requires: policycoreutils-python-utils %description install-img-deps The anaconda-install-img-deps metapackage lists all boot.iso installation @@ -287,13 +305,9 @@ ensure all Anaconda capabilities are supported in the resulting image. Summary: Graphical user interface for the Anaconda installer Requires: anaconda-core = %{version}-%{release} Requires: anaconda-widgets = %{version}-%{release} -Requires: python3-iso639 Requires: python3-meh-gui >= %{mehver} -Requires: python3-xkbregistry Requires: adwaita-icon-theme Requires: tecla -Requires: tigervnc-server-minimal -Requires: libxklavier >= %{libxklavierver} Requires: nm-connection-editor %ifnarch s390 s390x Requires: NetworkManager-wifi @@ -305,6 +319,8 @@ Requires: system-logos # Needed to compile the gsettings files BuildRequires: gsettings-desktop-schemas +# Needed for gdbus-codegen +BuildRequires: glib2-devel %description gui This package contains graphical user interface for the Anaconda installer. @@ -345,6 +361,9 @@ Requires: dracut-live Requires: xz Requires: python3-kickstart Requires: iputils +# Required for encrypted DNS +Requires: dnsconfd-dracut +Requires: dnsconfd %description dracut The 'anaconda' dracut module handles installer-specific boot tasks and @@ -355,6 +374,14 @@ runtime on NFS/HTTP/FTP servers or local disks. %autosetup -p 1 %build + +# Work around an issue where a version mismatch between the automake version on +# the build system and what was used when the tarball was created will cause +# a failure. +# The glade configuration is passed to m4 via environment variable. +%{!?with_glade:export ANACONDA_DISABLE_GLADE=yes} +autoreconf -vfi + # use actual build-time release number, not tarball creation time release number %configure ANACONDA_RELEASE=%{release} %{!?with_glade:--disable-glade} %{__make} %{?_smp_mflags} @@ -378,6 +405,8 @@ rm -rf \ %{buildroot}/%{_sysconfdir}/xdg/autostart/liveinst-setup.desktop \ %{buildroot}/%{_bindir}/liveinst \ %{buildroot}/%{_libexecdir}/liveinst-setup.sh \ + %{buildroot}/%{_libexecdir}/locale1-x11-sync \ + %{buildroot}/%{_userunitdir}/locale1-x11-sync.service \ %{buildroot}/%{_datadir}/anaconda/gnome \ %{buildroot}/%{_datadir}/anaconda/gnome/fedora-welcome \ %{buildroot}/%{_datadir}/anaconda/gnome/org.fedoraproject.welcome-screen.desktop \ @@ -411,6 +440,7 @@ rm -rf \ %{_sbindir}/anaconda %{_sbindir}/handle-sshpw %{_datadir}/anaconda +%config(noreplace) %{_sysconfdir}/pam.d/anaconda %{_prefix}/libexec/anaconda %exclude %{_datadir}/anaconda/gnome %exclude %{_datadir}/anaconda/pixmaps @@ -425,23 +455,28 @@ rm -rf \ %exclude %{python3_sitearch}/pyanaconda/ui/gui/* %exclude %{python3_sitearch}/pyanaconda/ui/tui/* %{_bindir}/anaconda-cleanup +# Installer configuration files aren’t updated post-installation, +# so the noreplace flag doesn't offer a practical benefit in this context. +# It is added to silence the rpmlint conffile-without-noreplace-flag warning. %dir %{_sysconfdir}/%{name} -%config %{_sysconfdir}/%{name}/* +%config(noreplace) %{_sysconfdir}/%{name}/* %dir %{_sysconfdir}/%{name}/conf.d -%config %{_sysconfdir}/%{name}/conf.d/* +%config(noreplace) %{_sysconfdir}/%{name}/conf.d/* %dir %{_sysconfdir}/%{name}/profile.d -%config %{_sysconfdir}/%{name}/profile.d/* +%config(noreplace) %{_sysconfdir}/%{name}/profile.d/* %if %{with live} # do not provide the live subpackage on RHEL %files live +%{_userunitdir}/locale1-x11-sync.service %{_bindir}/liveinst %{_datadir}/polkit-1/actions/* %{_libexecdir}/liveinst-setup.sh +%{_libexecdir}/locale1-x11-sync %{_datadir}/applications/*.desktop %{_datadir}/anaconda/gnome -%{_sysconfdir}/xdg/autostart/*.desktop +%config(noreplace) %{_sysconfdir}/xdg/autostart/*.desktop %endif @@ -483,6 +518,661 @@ rm -rf \ %{_prefix}/libexec/anaconda/dd_* %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 44.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Tue Dec 30 2025 Packit - 44.11-1 +- Update to version 44.11 + +* Tue Dec 23 2025 Packit - 44.10-1 +- rhsm: add --flatpak-registry-url support (bciconel) +- flatpak: handle self-signed certificate errors in registry sources (bciconel) +- flatpak: add utility to check for self-signed certificate errors (bciconel) +- docs: Add bootc kickstart command support release note (k.koukiou) + +* Tue Dec 16 2025 Packit - 44.9-1 +- data/profile.d: Add trivial Fedora KDE Plasma Mobile spin profile (neal) +- data/profile.d/fedora-kde: Disable stages redundant with Plasma Setup (neal) +- data/profile.d/fedora-kde: Update comment to indicate Edition status (neal) +- docs: Add Fedora 43 release notes (k.koukiou) +- bootloader: update GRUB2.check() threshold to match GRUB manual + recommendation (k.koukiou) +- Add x-initrd.attach to /etc/crypttab device for / volumes (mkolman) +- Handle RuntimeError in vtActivate() during interpreter shutdown (k.koukiou) + +* Wed Dec 10 2025 Packit - 44.8-1 +- ui: gui: fix IndexError when editing NTP servers with empty list (k.koukiou) + +* Tue Dec 09 2025 Packit - 44.7-1 +- storage: add logging in set_default_class (jbock-java) +- storage: in get_class_by_name, check for X86EFI (jbock-java) +- Apply RHEL autoconections policy on Fedora ELN. (rvykydal) +- docs: ci-status: remove non-existing rhel-8 kickstart test (k.koukiou) +- docs: ci-status: remove container-eln-autoupdate badge (k.koukiou) +- docs: ci-status: use substitutions for WebUI workflows mentions (k.koukiou) +- pyanaconda: webui: enable DNF payload support (k.koukiou) +- docs: ci-status: show webui compose testing (k.koukiou) + +* Thu Dec 04 2025 Packit - 44.6-1 +- Remove --root-mount-spec to enable bootc's btrfs subvolume auto-detection + (k.koukiou) +- Extend ssh config testing (ppolawsk) +- Fix permissions of the ssh config created by Anaconda (ppolawsk) + +* Tue Dec 02 2025 Packit - 44.5-1 +- storage: add minimum recommended size for /boot/efi partition (k.koukiou) +- storage: update minimum recommended /boot partition size to 1 GB (k.koukiou) +- Fix parsing of du output when errors are present (k.koukiou) + +* Tue Nov 25 2025 Packit - 44.4-1 +- bootc: Collect kernel arguments before installation to pass to bootc + (k.koukiou) +- bootc: Bind mount /boot into sysroot for %%post scripts (k.koukiou) +- pyanaconda: bootc: specify the bootloader to grub for bootc (k.koukiou) +- storage: stop creating /etc/mtab symlink during installation (k.koukiou) + +* Tue Nov 11 2025 Packit - 44.2-1 +- fix: remove the unused file 'a' (lonicerae) + +* Wed Nov 05 2025 Packit - 44.1-1 +- Update to version 44.1 + +* Thu Oct 16 2025 Packit - 43.46-1 +- Introduce SetXKeyboardDefaults D-Bus method for setting sensible keyboard + defaults (k.koukiou) + +* Tue Oct 14 2025 Adam Williamson - 43.44-3 +- Backport PR #6692 to provide keyboard layout ASCII info to anaconda-webui + +* Sun Oct 12 2025 Adam Williamson - 43.44-2 +- Backport PR #6691 to fix silverblue install crash + +* Thu Oct 09 2025 Packit - 43.44-1 +- flatpak: enable installation with CDROM source type (bciconel) +- storage: Improve NotEnoughFreeSpaceError message with specific request + details (k.koukiou) +- pyanaconda: storage: platform: Raise /boot to 2 GiB (neal) + +* Tue Sep 23 2025 Packit - 43.41-1 +- data: profiles: enable geolocation on Fedora Workstation live image + (matiwari) +- storage: fix mount point assignment of non-formatted swap partitions + (rvykydal) +- storage: include only fstab devices in fsset swap devices property (rvykydal) +- ui: tui: installation_source: show error message in the TUI screen + (k.koukiou) +- pyanaconda: dnf: clarify is_ready boolean return (k.koukiou) +- tui: make SoftwareSpoke ready once installation source succeeds or fails + (k.koukiou) +- spec: enable live in ELN (yselkowi) +- Mark unused variables with a leading underscore (a.badger) + +* Fri Sep 19 2025 Python Maint - 43.40-2 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Tue Sep 16 2025 Packit - 43.40-1 +- Do not catch blivet.safe_dbus exceptions in iSCSI module (vtrefny) +- Fixing unittests (a.badger) +- ostree needs to have /boot be bindmounted into sysroot. (a.badger) +- gui: Fix GTK warnings when removing non-existent accelerators (k.koukiou) + +* Tue Sep 09 2025 Packit - 43.39-1 +- Fix setting of kernel console logging level for anaconda (rvykydal) +- Use new more suitable API for Gtk UI required space check (rvykydal) +- Add GetFreeSpaceForSystem API (rvykydal) +- docs: update CONTRIBUTING.rst with new branching approach (k.koukiou) + +* Tue Sep 02 2025 Packit - 43.38-1 +- Use slots (and a dataclass) to enforce Flag names (a.badger) +- Reset comps queries when resetting the dnf base (pkratoch) +- i18n: fix embedded URLs in SMT warning messages (k.koukiou) +- docs: remove submodule link added by mistake (k.koukiou) +- docs: tests: we use 'latest' tag - not 'main' for containers (k.koukiou) +- build: makefile: remove noope CI_TAG self assignment (k.koukiou) + +* Mon Aug 25 2025 Packit - 43.37-1 +- Log correct boot option for iSCSI boot without iBFT (jstodola) +- Get full nevra string from dnf instead of composing it (pkratoch) +- Add release notes for RDP kickstart support (adamkankovsky) +- test: Enable kickstart RDP command in Anaconda (adamkankovsky) +- Enable kickstart RDP command in Anaconda (adamkankovsky) +- storage: devicetree: read VERSION or VERSION_CODENAME for identifying OS from + os-release (k.koukiou) + +* Tue Aug 19 2025 Packit - 43.36-1 +- packit: drive jobs from supported_releases per branch; dedupe and group + targets (k.koukiou) +- Fix pylint warnings caused by dynamic kickstart command imports (k.koukiou) +- core: kickstart: implement OS-release based version detection (k.koukiou) +- build: decouple BASE_CONTAINER from branch configuration (k.koukiou) +- workflows: remove hardcoded CONTAINER_TAG="lorax" usage (k.koukiou) +- dracut module requires generic initramfs (jstodola) + +* Fri Aug 15 2025 Python Maint - 43.35-2 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Tue Aug 12 2025 Packit - 43.35-1 +- storage: Fix AttributeError and protect installation media in bootloader + partition removal (k.koukiou) + +* Tue Aug 05 2025 Packit - 43.34-1 +- Document Lorax template patching (mkolman) + +* Thu Jul 31 2025 Packit - 43.33-1 +- Revert "Default to GTK UI when available, fallback to Web UI otherwise" + (k.koukiou) +- Rename DNF strings to Flatpak in installation.py (jkonecny) +- Remove unused Flatpak manager code (jkonecny) + +* Tue Jul 29 2025 Packit - 43.32-1 +- Make sure the pre_install queue is run (#2378660) (mkolman) +- Default to GTK UI when available, fallback to Web UI otherwise (k.koukiou) +- build: switch live installation dependency from anaconda-gui to anaconda- + webui (k.koukiou) +- users: fix guess_username to return empty string for invalid usernames + (k.koukiou) +- users: expose guess_username as GuessUsernameFromFullName API (k.koukiou) +- data: profile: hide date time screen from workstation (k.koukiou) +- Create new D-Bus API for NTP server checking (k.koukiou) +- Test for ntp servers from config (adamkankovsky) +- Create new DBUS API for ntp servers from config (adamkankovsky) + +* Wed Jul 23 2025 Fedora Release Engineering - 43.31-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Jul 22 2025 Packit - 43.31-1 +- Fix unit tests for code running rsync by mocking it. (rvykydal) + +* Tue Jul 15 2025 Packit - 43.30-1 +- Bump the required version of dnf (pkratoch) +- storage: Prevent accidental erasure of Live installation media (k.koukiou) +- bootloader: efi: utilize grub2-common script for handling config file + generation (k.koukiou) +- Remove leftover commented-out call to close base (pkratoch) +- Update DNFManager.get_flatpak_refs to dnf5 (pkratoch) +- Comment how getting the packages to download works (pkratoch) +- Add a test for resolving selection with errors (pkratoch) +- Rename the DNFManager tests back to test_module_payload_dnf_manager + (pkratoch) +- Adapt the remaining DNFManager tests (pkratoch) +- Fix checking if PackageQuery is empty (pkratoch) +- Implement verifying repomd hashes (pkratoch) +- Catch libdnf5 exceptions instead of previously thrown RuntimeError (pkratoch) +- Adapt test_module_payload_dnf_manager comps tests for DNF5 (pkratoch) +- Require the correct package for dnf5 plugins (pkratoch) +- Handle group package types that can be specified by options in kickstart + (pkratoch) +- Use pkg_gpgcheck config option instead of deprecated gpgcheck (pkratoch) +- Sort groups and environments by display_order (pkratoch) +- Set excludes for environments and groups (pkratoch) +- Reduce installation progress log verbosity (pkratoch) +- Add a second goal for second resolving in case of unavailable packages + (pkratoch) +- Print number of packages when reporting installation progress (pkratoch) +- Set package excludes (pkratoch) +- Remove the dnf_manager exceptions related to selection resolving (pkratoch) +- Remove unused imports (pkratoch) +- Report downloading progress (pkratoch) +- Respect the missing_ignored and broken_ignored configuration (pkratoch) +- Implement replacing repositories (pkratoch) +- Reset the dnf base when clearing cache (pkratoch) +- Remember if repositories were loaded (pkratoch) +- Set the destdir option (pkratoch) +- Always call progress.quit in mocked installing packages in tests (pkratoch) +- Don't close the multiprocessing queue too soon (pkratoch) +- Log messages from dnf into /tmp/dnf.log (pkratoch) +- Report error when the dnf transaction fails (pkratoch) +- Log also the message of the dnf transaction result (pkratoch) +- Enable some tests in test_module_payload_dnf5_manager (pkratoch) +- Remove the test_dnf_tear_down (pkratoch) +- Report warnings in DNFManager.resolve_selection (pkratoch) +- Fix transaction callbacks (pkratoch) +- Adapt tests of DNFManager.install_packages for dnf5 (pkratoch) +- Fix setting up and running transaction (pkratoch) +- Adapt test_module_payload_dnf_installation for dnf5 (pkratoch) +- Adapt checking transaction errors to DNF5 (pkratoch) +- Enable comps tests (pkratoch) +- Fix setting of libdnf5.repo.PackageDownloader (pkratoch) +- TEMPORARY: Store comps queries (pkratoch) +- Remove unused _create_group method from DNFRequirementsTestCase (pkratoch) +- Update TransactionItemState_ERROR import to libdnf5 (pkratoch) +- Adapt dnf validation tests for dnf5 (pkratoch) +- Fix use of group and environment iterators (pkratoch) +- Replace `base.load_config_from_file` with `base.load_config` method + (pkratoch) +- Remove variable loading, since it's done in base.setup() (pkratoch) +- Remove test for reset_substitution method (pkratoch) +- Adapt test_module_payload_dnf_manager download tests for dnf5 (pkratoch) +- Adapt test_dnf_initialization.py tests for dnf5 (pkratoch) +- Load all repositories at once (pkratoch) +- Call dnf5 base setup at a proper place (pkratoch) +- Fix setting releasever in dnf5 base (pkratoch) +- Call get_download_size instead of get_package_size because of rename + (pkratoch) +- Remove the DNFConfigWrapper and access the configuration options directly + (pkratoch) +- Use repo.get() (vponcova) +- Use the DNF5 API (vponcova) +- Update to the approved version of the blivet change (a.badger) +- pyanaconda: storage: enforce GPT partition table for ESP on EFI x86 platforms + (k.koukiou) +- Do not duplicate the DEVICE_TYPES enum in storage_constraints (a.badger) +- Retrieve DEVICE_TYPES from blivet. (a.badger) + +* Wed Jul 09 2025 Packit - 43.29-1 +- data: profile.d: use slitherer as default web engine everywhere but for + workstation (k.koukiou) + +* Mon Jul 07 2025 Packit - 43.28-1 +- Fix an issue with automake versions when building the rpm (a.badger) +- anaconda.py: remove duplicate import (k.koukiou) +- anaconda.py: remove obsolete comment (k.koukiou) + +* Tue Jun 24 2025 Packit - 43.25-1 +- Change formatting on some error messages (a.badger) +- Enable all steps of the installation queue (adamkankovsky) +- Fix a pair of error messages (a.badger) +- Remove tmpfs on /var/tmp for ISO builds (jkonecny) +- ruff: enable and autofix SIM300 (k.koukiou) +- ruff: enable and fix SIM222 rule (k.koukiou) +- ruff: enable and autofix SIM201 (k.koukiou) +- pylint: suppress false positives related to GI and GTK introspection + (k.koukiou) +- ruff: enable and autofix SIM118 rule (k.koukiou) +- tests/network: reorder filterwarnings to fix warning handling in + test_sync_call_glib_in_thread (k.koukiou) +- bootloader: drop write_config_console, just preserve console= (awilliam) + +* Tue Jun 17 2025 Packit - 43.24-1 +- makeupdates: Bump Python version in site packages path to 3.14 (k.koukiou) +- Add documentation for the unified feature (jkonecny) +- Use os.get_terminal_size rather than ioctl magic (miro) +- Avoid the multiprocessing forkserver method with dnf (miro) +- anaconda: Remove manual start of `systemd --user` (k.koukiou) + +* Sun Jun 08 2025 Miro Hrončok - 43.22-5 +- Fix "TypeError: cannot pickle 'SwigPyObject' object" on Python 3.14+ + +* Sat Jun 07 2025 Miro Hrončok - 43.22-4 +- Fix buffer overflow on Python 3.14 +- Fixes: hrbz#2370944 + +* Tue Jun 03 2025 Python Maint - 43.22-3 +- Rebuilt for Python 3.14 + +* Mon Jun 02 2025 Adam Williamson - 43.22-2 +- Backport PR #6437 to fix for mutter with X11 disabled + +* Mon Jun 02 2025 Packit - 43.22-1 +- flatpak: Add constants for Flatpak (jkonecny) +- flatpak: Change log level for source processing (jkonecny) +- flatpak: Improve log for setting refs for install (jkonecny) +- flatpak: Improve documentation (jkonecny) +- flatpak: `NoSourceError` to `SourceSetupError` (jkonecny) +- Update FSF address for new Flatpak module sources (jkonecny) +- Add release notes for Flatpak preinstall.d support (jkonecny) +- Fix imports in flatpak payload (jkonecny) +- When installing Flatpaks from a local repository, disable download (otaylor) +- Add additional logging to Flatpak code (jkonecny) +- Fix directory where flatpak blobs are stored (jkonecny) +- Add FlatpakManager tests (jkonecny) +- Improve FlatpakManager testing (jkonecny) +- Add tests for Flatpak source.py (jkonecny) +- Add tests for Flatpak payload utils (jkonecny) +- payload/rpm-ostree: Include program output in exception (walters) +- Don't pass --sm-disable to gnome-kiosk (awilliam) +- Revert "Allow to use an existing unlocked LUKS in one special case + (#1772902)" (k.koukiou) +- Extract flatpak.source utils to a separate module (jkonecny) +- Add Flatpak tests for the Flatpak module (jkonecny) +- Do not allow any sources for Flatpak payload (jkonecny) +- Support payload with no default source (jkonecny) +- Add new API for Flatpak to CalculateSizeWithTask (jkonecny) +- Add side_payload to PayloadBase object (jkonecny) +- Add more logs for easier Flatpak module debugging (jkonecny) +- Call calculate_size of the Flatpak manager (jkonecny) +- Improve logging of the Flatpak module (jkonecny) +- Support Flatpak preinstallation as part of a DNF install (otaylor) +- anaconda.spec: Add Flatpak client to Requires (otaylor) +- Extract pick_download_location(), calculate_required_space() utilities + (otaylor) +- Extract get_downloader_for_repo_configuration() utility function (otaylor) +- Add release note for home reuse on MBR partitionied disks (rvykydal) + +* Tue May 27 2025 Packit - 43.21-1 +- Revert "s390x - enable raid1 as a stage2 device" (jkonecny) +- docs: update release documentation (k.koukiou) + +* Tue May 20 2025 Packit - 43.20-1 +- Support home reuse on MBR partitioned disks (rvykydal) +- pyanaconda: localization: adjust existing keyboard API to fetch all available + keyboards (k.koukiou) +- print newline after waiting (jbock-java) +- storage: improve the guard for biosboot partition mount point constraint + (rvykydal) + +* Tue May 06 2025 Packit - 43.18-1 +- liveinst: Propagate the AT-SPI bus address to Anaconda for Wayland (neal) +- Include bootc command in expected pykickstart commands (ppolawsk) +- docs: Collect release notes for F42 (k.koukiou) +- Revert "Do not copy resolv.conf to target system at the end of installation" + (mkolman) +- README-testing-changes.rst: add "newc:" syntax (butirsky) +- fix initrd syntax in README-testing-changes.rst (butirsky) + +* Tue Apr 29 2025 Packit - 43.17-1 +- pyanaconda: storage: efi: never try to decode utf8 when calling efibootmgr + (k.koukiou) +- Add additional config_get Dracut function tests (jkonecny) +- Run restorecon after copying logs (champetier.etienne) +- rpm_ostree/installation.py: fix image deployment on s390x (nikita) + +* Tue Apr 22 2025 Packit - 43.16-1 +- Bump required version of blivet to 3.12.1 (vtrefny) +- Fstab handling moves to blivet (japokorn) +- s390x - enable raid1 as a stage2 device (dan) + +* Tue Apr 15 2025 Packit - 43.15-1 +- edns: restart dnsconfd only after the first kickstart parsing (rvykydal) +- edns: allow dnsconfd name resolution for kickstart fetching (rvykydal) +- spec: Properly strip objects and fix generation of debuginfo packages + (decathorpe) +- Change localed layouts_variants to method (jkonecny) +- Remove temporary isFinal getter and DBUS API (adamkankovsky) +- Add test for product DBUS API (adamkankovsky) +- New getter for product in Runtime module (adamkankovsky) +- security: transfer certificates from intiramfs to root in dracut (rvykydal) +- security: handle exception on early anaconda certificate import (rvykydal) +- Fix race condition when reading localed layouts (jkonecny) +- storage: Fix EFI partition detection for other OSes (Windows, MacOS) + (rvykydal) + +* Tue Apr 08 2025 Packit - 43.14-1 +- Update to version 43.14 + +* Tue Apr 01 2025 Packit - 43.13-1 +- Add release notes for TERM passthrough (jkonecny) +- pyanaconda: storage: when checking the md device validity check also parent + (k.koukiou) +- anaconda-tmux (butirsky) + +* Fri Mar 28 2025 Packit - 43.12-1 +- storage: remove EFI and BIOS boot partition requirements for MBR disks + (k.koukiou) +- Limit support for only RAID1 on /boot (jkonecny) + +* Wed Mar 26 2025 Packit - 43.11-1 +- pyanaconda: add support for Mac OS detection (k.koukiou) + +* Tue Mar 25 2025 Packit - 43.10-1 +- Fix condition to run locale1-sync script (jkonecny) +- Update doc after disabling keyboard shortcuts (jkonecny) +- Add release note for disabling keyboard shortcuts (jkonecny) +- Disable keyboard shortcuts for layouts switching (jkonecny) +- Stop parsing PLATFORM_ID from os-release (mkolman) + +* Mon Mar 24 2025 Packit - 43.9-1 +- Start/stop locale-sync systemd unit in liveinst (jkonecny) +- Fix WantedBy in locale1-x11-sync service (jkonecny) +- platform: set PLATFORM_RAID_METADATA and PLATFORM_RAID_LEVEL for x86 + (k.koukiou) +- pyanaconda: storage: when checking the md device validity check also parent + (k.koukiou) +- Use tmpfs for /var/tmp in CI containers (jkonecny) +- Support redirects in apply-updates (jkonecny) + +* Tue Mar 18 2025 Packit - 43.8-1 +- network: do not use lo device to fetch kickstart (rvykydal) + +* Fri Mar 14 2025 Packit - 43.7-1 +- pyanaconda: storage: fix getting of usable devices (k.koukiou) +- gui: replace emblem icons removed from adwaita package (rvykydal) +- Update FSF address (adamkankovsky) +- Fix tui error after rd question (adamkankovsky) +- network: update NM autoconnections configuration for centos (rvykydal) + +* Tue Mar 11 2025 Packit - 43.6-1 +- network: add dnsconfd to installer environment (rvykydal) +- network: add dnsconfd to selected packages if used in installer (rvykydal) +- Disable systemd-resolved when enabling dnsconfd (rvykydal) +- Revert "pyanaconda: storage: workaround for Virtio Block Device being + displayed as 0x1af4" (k.koukiou) +- network: start dnsconfd in initramfs (rvykydal) +- Disable support of kernel 'nokill' option in anaconda (ppolawsk) +- Create autogenerated dbus docs (adamkankovsky) + +* Wed Mar 05 2025 Packit - 43.5-1 +- Fix bad formatting for `format` function (jkonecny) +- network: pass 16-dns-backend.conf to target system (rvykydal) +- network: enable dnsconfd service in installer environment (rvykydal) +- network: enable dnsconfd service on installed system if required (rvykydal) + +* Tue Feb 18 2025 Packit - 43.1-1 +- Update to version 43.1 + +* Thu Feb 06 2025 Packit - 42.26-1 +- Add systemd override to make /usr RW in Dracut (mkolman) +- Update the boot options passed to initrd for dns confgiuration (rvykydal) +- Fix calls to IsConnecting() (champetier.etienne) +- Revert "dracut: Remove 'linear' from modules to load" (vtrefny) +- Revert "Remove 'linear' from list of expected MD RAID levels" (vtrefny) +- security: add a development note for certificates import in initramfs + (rvykydal) +- security: do not issue warning on existing certificate file during dump + (rvykydal) + +* Tue Jan 28 2025 Packit - 42.24-1 +- network: pass NM global dns configuration to the installed system (rvykydal) +- Improve sections structure in tests/README (jkonecny) +- Fix the `Note` section in tests/README (jkonecny) +- Move shell testing to a separated directory (jkonecny) +- Make minor improvements in test/README (jkonecny) +- Improve security considerations in tests/README (jkonecny) +- Remove outdated information from tests/README (jkonecny) +- data: profiles: enable language screen for Web UI on Workstation (k.koukiou) +- network: pass global dns initrd option to the installed system (rvykydal) +- Enable dynamic bash commands disable for tests (jkonecny) +- Add test for config_get dracut function (jkonecny) +- Fix trailing `/` when downloading stage2 image (jkonecny) +- Fix whitespace chars broke Dracut config parsing (jkonecny) +- Disable keyboard shortcut switching on gnome-kiosk (jkonecny) +- Improve name of compositor layout selection method (jkonecny) +- Split LocaledWrapper code for compositor (jkonecny) +- security: do not crash initramfs ks parsing on failing certificate (rvykydal) +- docs: update release note for certificates import (rvykydal) +- rpmostree: Use `--merge` for kargs (walters) + +* Thu Jan 16 2025 Packit - 42.23-1 +- Add release notes for certificates import (rvykydal) +- docs: add release note for the `hidden-webui-pages` configuration option + (k.koukiou) +- data: profile: extend workstation profile to hide pages for Web UI + (k.koukiou) +- security: add a service to transfer certificates from initramfs (rvykydal) +- Revert "build: Install systemd-resolved in ELN aka RHEL-11" (rvykydal) +- Handle invalid UTF-8 characters in efibootmgr output (k.koukiou) +- Don't log a bogus warning when kickstart specifies a disk label (awilliam) +- Fix displaying attributes on advanced storage spoke (#2332568) (vtrefny) +- Reapply "fix missing WWID values for multipath devices in advanced storage + UI" (vtrefny) +- security: import certificates in initramfs (rvykydal) +- security: install certificates in pre-install phase only for dnf payload + (rvykydal) +- security: raise exception if certificate destination is unknown (rvykydal) +- security: log a warning when dumping certificate over an existing file + (rvykydal) +- security: pre-install certificates before payload installation (rvykydal) +- security: add API to install certificates early before payload (rvykydal) +- security: install certificates on target system (rvykydal) +- security: Add API for installation on target system (rvykydal) +- security: import certificates early after Anaconda start (rvykydal) +- security: add API to import certificates to Anaconda environment (rvykydal) +- security: add API: Certificate getter (rvykydal) +- kickstart: extend section specification for list of section data (rvykydal) +- security: implement the support to install certificates to Anaconda + (k.koukiou) +- Add documentation for keyboard layout control (jkonecny) + +* Thu Jan 16 2025 Fedora Release Engineering - 42.21-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Dec 20 2024 Packit - 42.21-1 +- translations: bump dependency to l10n repo because of branch switch + (k.koukiou) +- pyanaconda: module_manager: fix ciclic import (k.koukiou) +- pyanaconda: bootloader: fix ImportError (k.koukiou) +- ruff: enable isort rules and autofix all isort warnings (k.koukiou) +- Fix useless-return pylint rule (k.koukiou) +- Fix use-dict-literal pylint rule (k.koukiou) +- Fix use-list-literal pylint rule (k.koukiou) +- Fix useless-object-inheritance pylint rule (k.koukiou) +- Fix stop-iteration-return pylint rule (k.koukiou) +- Fix consider-using-in pylint rule (k.koukiou) +- Fix consider-using-from-import pylint rule (k.koukiou) +- Fix comparison-with-itself pylint rule (k.koukiou) +- Fix super-with-arguments pylint rule (k.koukiou) +- Fix use-a-generator pylint rule (k.koukiou) +- Fix simplifiable-if-expression and simplifiable-if-statement pylint rules + (k.koukiou) + +* Tue Dec 17 2024 Packit - 42.20-1 +- Subscription code updates - adjust unit tests (mkolman) +- Subscription code updates - GTK GUI (mkolman) +- Subscription code updates - backend (mkolman) +- Bump minimal subscription manager versions (mkolman) +- network: improve logging of writing configuration (rvykydal) + +* Tue Dec 03 2024 Packit - 42.18-1 +- efi: Update __all__ dictionary (abologna) +- docs: fix test container update doc (rvykydal) + +* Fri Nov 29 2024 Adam Williamson - 42.16-3 +- Replace #6029 with #6030 (better fix) (#2329379) + +* Thu Nov 28 2024 Adam Williamson - 42.16-2 +- Backport PR #6029 to revert rsync check that breaks KDE install (#2329379) + +* Tue Nov 26 2024 Packit - 42.16-1 +- util: correct errors and suppress stderr for common cases (riehecky) +- payload: utilize `du` command for finding the required disk size in live OS + (k.koukiou) +- Fix typo in anaconda hints (jstodola) +- doc: Fix bullet list in Wayland migration rel note (jkonecny) +- doc: Add dropped kernel options to Wayland relnote (jkonecny) +- payload: raise exception on non zero exit code from rsync (k.koukiou) + +* Tue Nov 19 2024 Packit - 42.15-1 +- doc: RDP boot option is not supported in live (jkonecny) +- Fix RDP var contains string instead of bool (jkonecny) +- Remove stray comma from widgets/configure.ac (vtrefny) +- Explicitly place biosboot partition only on stage1 disk (vtrefny) +- network: add warning for kickstart network configuration when running from + nfs (rvykydal) +- liveinst: Allow running as a Wayland-native application (neal) + +* Tue Nov 12 2024 Packit - 42.14-1 +- Update to version 42.14 + +* Fri Nov 08 2024 Packit - 42.13-1 +- Test for kickstart scripts (akankovs) +- Migrate the %%pre-install, %%post, %%onerror and %%traceback scripts + (akankovs) +- Suppress warning from systemd user session (jkonecny) +- Use log levels when getting logs from GLib (jkonecny) +- Remove GLib logging condition for HW logging (jkonecny) +- Move GLib imports to pyanaconda.core.glib (jkonecny) +- Redirect only GLib loggers to Journal (mkolman) +- docs: Collect release notes for F41 (k.koukiou) +- pyanaconda: storage: workaround for Virtio Block Device being displayed as + 0x1af4 (k.koukiou) + +* Fri Oct 25 2024 Packit - 42.12-1 +- Revert "Update lorax build for pkexec command" (k.koukiou) +- Update lorax build for pkexec command (adamkankovsky) +- webui: Handle XAUTHORITY and XDG_RUNTIME_DIR (rstrode) +- unit_test: extend existing device tree checks with isleaf attribute + (adamkankovsky) +- Introduce isleaf to deviceData (adamkankovsky) +- network: handle autoconnections policy for rhel upstream (rvykydal) + +* Wed Oct 23 2024 Packit - 42.11-1 +- Fix permission errors from liveinst exit (jkonecny) +- Remove redundant line in DNF payload (mkolman) +- Fix vconsole layout doesn't work for ostree (jkonecny) +- Fix checking whether a disk can be cleared during autopart (vtrefny) +- Update spec config files list (ppolawsk) +- Update makefile clean file list with RPMs (ppolawsk) + +* Tue Oct 22 2024 Packit - 42.10-1 +- Fix crash on continue after a missing package non-critical error (mkolman) + +* Wed Oct 16 2024 Packit - 42.9-1 +- Log stderr to journal only on supported platforms (jkonecny) +- logging: fix the length limit of packages info dbg message (rvykydal) + +* Tue Oct 15 2024 Gwyn Ciesla - 42.8-2 +- brltty rebuild + +* Tue Oct 15 2024 Packit - 42.8-1 +- Fix journal redirect on systems without journal (jkonecny) +- unit_tests: drop DASDDevice.opts like in related blivet change (maier) +- network: use consolidated s390 device configuration (#1802482,#1937049) + (maier) +- write persistent config of any (dasd,zfcp,znet) s390 devices to sysroot + (#1802482,#1937049) (maier) +- DASDDiscoverTask: use consolidated device configuration with zdev + (#1802482,#1937049) (maier) + +* Thu Oct 10 2024 Packit - 42.7-1 +- Add GRD test coverage (jkonecny) +- Improve docs in gnome_remote_desktop source (jkonecny) +- Check return values from GRD calls (jkonecny) +- Create a shortcut method for GRD failure (jkonecny) +- Obtain hostname for RDP asynchronously (jkonecny) +- Print connect info after starting GRD server (jkonecny) +- Fix starting anaconda on z/VM and LPAR s390x (jstodola) +- Create GRDServer class only when required (jkonecny) +- Disable fedora-cisco repository in our containers (jkonecny) +- Fix typo in the GRD source file name (jkonecny) +- Do not change compositor options when not defined (jkonecny) +- Add release-notes for Wayland migration (jkonecny) +- Set --rdp in liveinst unsupported (jkonecny) +- Remove Wayland detection logic from code (jkonecny) +- Do not create GRDServer on Live ISO (jkonecny) +- Remove dead spice_vd_agent code (jkonecny) +- Switch keyboard management to Localed (jkonecny) +- Add localed signal support to LocaledWrapper (jkonecny) +- Add missing support to localed for compositor (jkonecny) +- Redirect output of various GNOME related tools to Journal (mkolman) +- Remove leftover debugging message (mkolman) +- Redirect Anaconda main process stderr to Journal (mkolman) +- Cleanup remaining Xorg and VNC references and dead code (mkolman) +- Handle inst.rdp in Dracut (mkolman) +- Adjust to freerdp and GNOME package changes (mkolman) +- Replace VNC support with GNOME remote desktop (mkolman) +- Add RDP boot options & deprecate VNC boot options (mkolman) +- Introduce GNOME remote desktop support (mkolman) +- Rename usevnc flag & similar variables (mkolman) +- Drop xrdb (jexposit) +- Drop xrandr (jexposit) +- Add unit tests for GkKeyboardManager and its API in localization module + (rvykydal) +- Drop the X.Org server dependency (jexposit) +- Drop libxklavier (jexposit) +- Use GNOME Kiosk's API in LayoutIndicator (jexposit) +- Setup gdbus-codegen (jexposit) +- Use GNOME Kiosk's API in XklWrapper (jexposit) +- Add GNOME Kiosk keyboard manager class (jexposit) +- home reuse: add unit tests (rvykydal) +- home reuse: define static and class methods (rvykydal) +- home reuse: reuse mount options of reused mountpoins (rvykydal) +- home reuse: check autopartitioning scheme against reused mountpoints + (rvykydal) +- home reuse: require removing of bootloader partition explicitly (rvykydal) +- home reuse: remove bootloader partitions implicitly (rvykydal) +- home reuse: update existing OSs when applying partitioning (rvykydal) +- home reuse: add support for /home reuse to automatic partitioning (rvykydal) + * Tue Oct 08 2024 Packit - 42.6-1 - Update to version 42.6 diff --git a/rpmlint.toml b/rpmlint.toml index f66d79f..e05accb 100644 --- a/rpmlint.toml +++ b/rpmlint.toml @@ -1,7 +1,27 @@ # The purpose of this file is to overwrite some default config # of rpmlint, which may not fit our project needs / specification Filters = [ + # Discard no-binary error for anaconda packages which cant be a noarch type + 'anaconda.x86_64: E: no-binary', + 'anaconda-core-debuginfo.x86_64: E: no-binary', + 'anaconda-install-env-deps.x86_64: E: no-binary', + 'anaconda-install-img-deps.x86_64: E: no-binary', + # Discard explicite library dependencies + 'explicit-lib-dependency flatpak-libs', + 'explicit-lib-dependency libblockdev-lvm-dbus', + 'explicit-lib-dependency libblockdev-tools', + 'explicit-lib-dependency librsvg2', + # Discard warning about binary debug symbols. Those are our helper + # binaries and it is not important for them to be stripped + 'unstripped-binary-or-object /usr/libexec/anaconda/dd_extract', + 'unstripped-binary-or-object /usr/libexec/anaconda/dd_list', + 'unstripped-binary-or-object /usr/lib64/libAnacondaWidgets*', + 'unstripped-binary-or-object /usr/lib64/glade/modules/libAnacondaWidgets*', + # Discard symbolic link warnings. + 'dangling-symlink /usr/share/anaconda/window-manager/glib-2.0/schemas/org.gnome.*', + 'dangling-relative-symlink /usr/lib/.build-id/*', # Discard missing manual pages error + 'no-manual-page-for-binary liveinst', 'no-manual-page-for-binary anaconda-cleanup', 'no-manual-page-for-binary anaconda-disable-nm-ibft-plugin', 'no-manual-page-for-binary anaconda-nm-disable-autocons', diff --git a/sources b/sources index de0b357..5807bb3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (anaconda-42.6.tar.bz2) = b348cd05ebe3870880f4f721efd872fb1a7445aa83f1d20bcafeacf9c432d42e06eb4d4964a9d8e81a84d991aaa23cc51fbfdc50e9b261868c55ad1d855574f5 +SHA512 (anaconda-44.11.tar.bz2) = 30e8c3bde05afefe7cb18ba17d84fc31007e9086932f47136e74e432563786cd577123f7c904bc3ddd5e5c5f6f722dae3cedbc131d5871c06f7829ba632ffaf7