Compare commits

..

8 commits

Author SHA1 Message Date
Adam Williamson
61136adc41 Backport PR #6692 to provide keyboard layout ASCII info to anaconda-webui 2025-10-14 17:18:18 -07:00
Adam Williamson
769f5dd0d5 Backport PR #6691 to fix silverblue install crash 2025-10-14 17:18:12 -07:00
Packit
1d592a7ec5 Update to 43.44 upstream release
Upstream tag: anaconda-43.44
Upstream commit: 1696da9e

Commit authored by Packit automation (https://packit.dev/)
2025-10-09 10:06:00 +00:00
Packit
66cdaba0f4 Update to 43.41 upstream release
Upstream tag: anaconda-43.41
Upstream commit: 0591a5f2

Commit authored by Packit automation (https://packit.dev/)
2025-09-23 04:59:42 +00:00
Packit
a7e07d4759 Update to 43.39 upstream release
Upstream tag: anaconda-43.39
Upstream commit: 18f71f90

Commit authored by Packit automation (https://packit.dev/)
2025-09-09 04:59:06 +00:00
Katerina Koukiou
0fa5796159 Add necessary backend for fixing rhbz#2351824
Relevant: rhbz#2351824
2025-09-05 14:48:51 +02:00
Packit
90982f7282 Update to 43.37 upstream release
Upstream tag: anaconda-43.37
Upstream commit: 33047d14

Commit authored by Packit automation (https://packit.dev/)
2025-08-25 12:53:23 +00:00
Packit
d404a7ffea Update to 43.36 upstream release
Upstream tag: anaconda-43.36
Upstream commit: 7da0ca11

Commit authored by Packit automation (https://packit.dev/)
2025-08-19 04:58:54 +00:00
6 changed files with 236 additions and 114 deletions

14
.gitignore vendored
View file

@ -468,22 +468,8 @@
/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

View file

@ -52,6 +52,7 @@ jobs:
packages: [anaconda-fedora]
dist_git_branches:
- main
- f43
# Tests on PR (Fedora)
- job: tests
@ -59,6 +60,7 @@ jobs:
packages: [anaconda-fedora]
targets:
- fedora-rawhide
- fedora-43
# COPR builds on PR (Fedora)
- job: copr_build
@ -66,6 +68,7 @@ jobs:
packages: [anaconda-fedora]
targets:
- fedora-rawhide
- fedora-43
- fedora-eln
# COPR builds on commit (Fedora): single job with multiple targets (add ELN on main)
@ -74,6 +77,7 @@ jobs:
packages: [anaconda-fedora]
targets:
- fedora-rawhide
- fedora-43
- fedora-eln
branch: main
owner: "@rhinstaller"

213
6597.patch Normal file
View file

@ -0,0 +1,213 @@
From db5bd04346372049f2b4f41484ca014e792e8939 Mon Sep 17 00:00:00 2001
From: Radek Vykydal <rvykydal@redhat.com>
Date: Thu, 28 Aug 2025 12:21:26 +0200
Subject: [PATCH 1/2] Add GetFreeSpaceForSystem API
For Gtk the GetFileSystemFreeSpace API was used to get free space on
mount points that will be used for system installaion. The API is not
usable for cockpit storage scenario which creates and formats the
devices before using in MANUAL partitioning (partitions assignment with
reformat=False) so they are handled as having existing formats for which
DeviceFormat.free function is used. DeviceFormat.free blivet API is
targeted specifically for file system shrinking, and for unshrinkable
file systems (for example XFS) returns 0.
The GetFileSysetemFreeSpace API is used also for decisions about space
required for downloading and installation of DNF payload and devices
used for payload downloading so potentially handling some existing
partitions / formats.
The patch is adding new API specifically used for obtaining free space
available for system installation. It explicitly assumes the file
systems are empty (freshly formatted) and therefore suitable
DeviceFormat.free_space_estimate blivet API is used to calculate the
value. Which goes in line with installer requirement for partitions used
for system installation (typically '/') to be formatted (either by
Cockpit Storage or Anaconda).
Related: INSTALLER-4160
---
.../modules/storage/devicetree/model.py | 47 ++++++++++++++-----
.../modules/storage/devicetree/viewer.py | 10 ++++
.../storage/devicetree/viewer_interface.py | 10 ++++
.../storage/test_module_device_tree.py | 33 +++++++++++++
4 files changed, 89 insertions(+), 11 deletions(-)
diff --git a/pyanaconda/modules/storage/devicetree/model.py b/pyanaconda/modules/storage/devicetree/model.py
index ade8072f981..aebe6a2117b 100644
--- a/pyanaconda/modules/storage/devicetree/model.py
+++ b/pyanaconda/modules/storage/devicetree/model.py
@@ -150,14 +150,7 @@ def mountpoints(self):
def root_device(self):
return self.fsset.root_device
- def get_file_system_free_space(self, mount_points=("/", "/usr")):
- """Get total file system free space on the given mount points.
-
- Calculates total free space in / and /usr, by default.
-
- :param mount_points: a list of mount points
- :return: a total size
- """
+ def _get_mount_points_free_space(self, mount_points, calculate):
free = Size(0)
btrfs_volumes = []
@@ -174,12 +167,44 @@ def get_file_system_free_space(self, mount_points=("/", "/usr")):
else:
btrfs_volumes.append(device.volume)
+ mp_size = calculate(device)
+ log.debug("Free size of mount point %s: %s", mount_point, mp_size.get_bytes())
+ free += mp_size
+
+ return free
+
+ def get_file_system_free_space(self, mount_points):
+ """Get total file system free space on the given mount points.
+
+ WARNING: For existing mount points the size available for resizing is
+ obtained. It means that for non resizeable format types it returns the
+ value 0.
+
+ :param mount_points: a list of mount points
+ :return: a total size
+ """
+ def calculate(device):
if device.format.exists:
- free += device.format.free
+ return device.format.free
else:
- free += device.format.free_space_estimate(device.size)
+ return device.format.free_space_estimate(device.size)
- return free
+ return self._get_mount_points_free_space(mount_points, calculate)
+
+ def get_free_space_for_system(self, mount_points):
+ """Get total space available for system on the given mount points.
+
+ Counts the free space available on empty formatted devices.
+
+ :param mount_points: a list of mount points
+ :return: a total size
+ """
+ def calculate(device):
+ if device.format.exists:
+ log.debug("Free size calculation: %s considered as formatted", device)
+ return device.format.free_space_estimate(device.size)
+
+ return self._get_mount_points_free_space(mount_points, calculate)
def get_disk_free_space(self, disks=None):
"""Get total free space on the given disks.
diff --git a/pyanaconda/modules/storage/devicetree/viewer.py b/pyanaconda/modules/storage/devicetree/viewer.py
index 49e9bf23028..6a11e4428b3 100644
--- a/pyanaconda/modules/storage/devicetree/viewer.py
+++ b/pyanaconda/modules/storage/devicetree/viewer.py
@@ -458,6 +458,16 @@ def get_file_system_free_space(self, mount_points):
"""
return self.storage.get_file_system_free_space(mount_points).get_bytes()
+ def get_free_space_for_system(self, mount_points):
+ """Get total space available for system on the given mount points.
+
+ Counts the free space available on empty formatted devices.
+
+ :param mount_points: a list of mount points
+ :return: a total size
+ """
+ return self.storage.get_free_space_for_system(mount_points).get_bytes()
+
def get_disk_free_space(self, disk_ids):
"""Get total free space on the given disks.
diff --git a/pyanaconda/modules/storage/devicetree/viewer_interface.py b/pyanaconda/modules/storage/devicetree/viewer_interface.py
index 84b6f701f21..06b94452a67 100644
--- a/pyanaconda/modules/storage/devicetree/viewer_interface.py
+++ b/pyanaconda/modules/storage/devicetree/viewer_interface.py
@@ -155,6 +155,16 @@ def GetFileSystemFreeSpace(self, mount_points: List[Str]) -> UInt64:
"""
return self.implementation.get_file_system_free_space(mount_points)
+ def GetFreeSpaceForSystem(self, mount_points: List[Str]) -> UInt64:
+ """Get total space available for system on the given mount points.
+
+ Counts the free space available on empty formatted devices.
+
+ :param mount_points: a list of mount points
+ :return: a total size
+ """
+ return self.implementation.get_free_space_for_system(mount_points)
+
def GetDiskFreeSpace(self, disk_ids: List[Str]) -> UInt64:
"""Get total free space on the given disks.
diff --git a/tests/unit_tests/pyanaconda_tests/modules/storage/test_module_device_tree.py b/tests/unit_tests/pyanaconda_tests/modules/storage/test_module_device_tree.py
index 6d4267e9ca6..8a612144884 100644
--- a/tests/unit_tests/pyanaconda_tests/modules/storage/test_module_device_tree.py
+++ b/tests/unit_tests/pyanaconda_tests/modules/storage/test_module_device_tree.py
@@ -621,6 +621,39 @@ def test_get_file_system_free_space(self):
assert total_size < Size("10 GiB").get_bytes()
assert total_size > Size("8 GiB").get_bytes()
+ def test_get_free_space_for_system(self):
+ """Test GetFreeSpaceForSystem."""
+ self._add_device(StorageDevice(
+ "dev1",
+ fmt=get_format("ext4", mountpoint="/"),
+ size=Size("5 GiB"))
+ )
+
+ self._add_device(StorageDevice(
+ "dev2",
+ fmt=get_format("ext4", mountpoint="/usr"),
+ size=Size("5 GiB"))
+ )
+
+ # /home should not be counted in
+ self._add_device(StorageDevice(
+ "dev3",
+ fmt=get_format("ext4", mountpoint="/home"),
+ size=Size("5 GiB"))
+ )
+
+ total_size = self.interface.GetFreeSpaceForSystem([])
+ assert total_size == 0
+
+ total_size = self.interface.GetFreeSpaceForSystem(["/", "/usr"])
+ assert total_size < Size("10 GiB").get_bytes()
+ assert total_size > Size("8 GiB").get_bytes()
+
+ # /var does not exist
+ total_size = self.interface.GetFreeSpaceForSystem(["/", "/var"])
+ assert total_size < Size("6 GiB").get_bytes()
+ assert total_size > Size("4 GiB").get_bytes()
+
@patch("blivet.formats.disklabel.DiskLabel.free", new_callable=PropertyMock)
@patch("blivet.formats.disklabel.DiskLabel.get_platform_label_types")
def test_get_disk_free_space(self, label_types, free):
From a4480c8acbc3bd15cc8d9630751a400136ac55da Mon Sep 17 00:00:00 2001
From: Radek Vykydal <rvykydal@redhat.com>
Date: Thu, 28 Aug 2025 12:42:42 +0200
Subject: [PATCH 2/2] Use new more suitable API for Gtk UI required space check
Related: INSTALLER-4160
---
pyanaconda/ui/lib/space.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pyanaconda/ui/lib/space.py b/pyanaconda/ui/lib/space.py
index b81adcb0125..c3078908c75 100644
--- a/pyanaconda/ui/lib/space.py
+++ b/pyanaconda/ui/lib/space.py
@@ -52,7 +52,7 @@ def __init__(self, payload):
def _calculate_free_space(self):
"""Calculate the available space."""
- return Size(self.device_tree.GetFileSystemFreeSpace(("/", "/usr")))
+ return Size(self.device_tree.GetFreeSpaceForSystem(("/", "/usr")))
def _calculate_needed_space(self):
"""Calculate the needed space."""

View file

@ -1,3 +1,3 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 1.13.0.post1.dev2+g84134016c.
The file was generated using packit 1.11.0.post1.dev7+gfdcdf3a32.

View file

@ -1,7 +1,7 @@
Summary: Graphical system installer
Name: anaconda
Version: 44.11
Release: 2%{?dist}
Version: 43.44
Release: 3%{?dist}
ExcludeArch: %{ix86}
License: GPL-2.0-or-later
URL: http://fedoraproject.org/wiki/Anaconda
@ -13,10 +13,21 @@ URL: http://fedoraproject.org/wiki/Anaconda
# make dist
Source0: https://github.com/rhinstaller/%{name}/releases/download/%{name}-%{version}/%{name}-%{version}.tar.bz2
# Fix crash on start in Silverblue (and probably other cases)
# https://github.com/rhinstaller/anaconda/pull/6691
Patch: 0001-RebootData-don-t-allow-action-to-be-None.patch
# https://github.com/rhinstaller/anaconda/pull/6692
# Indicate ASCII support in get_keyboard_layouts
# This is needed for anaconda-webui to be able to make good
# choices, see:
# https://bugzilla.redhat.com/show_bug.cgi?id=2402430
Patch: 0001-pyanaconda-localization-Indicate-ASCII-support-in-ge.patch
# Versions of required components (done so we make sure the buildrequires
# match the requires versions of things).
%bcond glade %[%{undefined rhel} && %{undefined eln}]
%bcond glade %{undefined rhel}
%bcond live %[%{defined fedora} || %{defined eln}]
%if ! 0%{?rhel}
%define blivetguiver 2.4.2-3
@ -37,7 +48,7 @@ Source0: https://github.com/rhinstaller/%{name}/releases/download/%{name}-%{vers
%define nmver 1.0
%define pykickstartver 3.65-1
%define pypartedver 2.5-2
%define pythonblivetver 1:3.13.0-1
%define pythonblivetver 1:3.12.1-1
%define rpmver 4.15.0
%define simplelinever 1.9.0-1
%define subscriptionmanagerver 1.29.31
@ -286,15 +297,9 @@ 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
@ -378,8 +383,6 @@ runtime on NFS/HTTP/FTP servers or local disks.
# 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
@ -518,69 +521,6 @@ rm -rf \
%{_prefix}/libexec/anaconda/dd_*
%changelog
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 44.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Tue Dec 30 2025 Packit <hello@packit.dev> - 44.11-1
- Update to version 44.11
* Tue Dec 23 2025 Packit <hello@packit.dev> - 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 <hello@packit.dev> - 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 <hello@packit.dev> - 44.8-1
- ui: gui: fix IndexError when editing NTP servers with empty list (k.koukiou)
* Tue Dec 09 2025 Packit <hello@packit.dev> - 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 <hello@packit.dev> - 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 <hello@packit.dev> - 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 <hello@packit.dev> - 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 <hello@packit.dev> - 44.2-1
- fix: remove the unused file 'a' (lonicerae)
* Wed Nov 05 2025 Packit <hello@packit.dev> - 44.1-1
- Update to version 44.1
* Thu Oct 16 2025 Packit <hello@packit.dev> - 43.46-1
- Introduce SetXKeyboardDefaults D-Bus method for setting sensible keyboard
defaults (k.koukiou)
* Tue Oct 14 2025 Adam Williamson <awilliam@redhat.com> - 43.44-3
- Backport PR #6692 to provide keyboard layout ASCII info to anaconda-webui
@ -607,28 +547,14 @@ rm -rf \
- spec: enable live in ELN (yselkowi)
- Mark unused variables with a leading underscore (a.badger)
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 43.40-2
- Rebuilt for Python 3.14.0rc3 bytecode
* Tue Sep 16 2025 Packit <hello@packit.dev> - 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 <hello@packit.dev> - 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 <hello@packit.dev> - 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)
* Fri Sep 05 2025 Katerina Koukiou <kkoukiou@redhat.com> - 43.37-2
- Add GetFreeSpaceForSystem API (kkoukiou)
* Mon Aug 25 2025 Packit <hello@packit.dev> - 43.37-1
- Log correct boot option for iSCSI boot without iBFT (jstodola)
@ -648,13 +574,6 @@ rm -rf \
- workflows: remove hardcoded CONTAINER_TAG="lorax" usage (k.koukiou)
- dracut module requires generic initramfs (jstodola)
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 43.35-2
- Rebuilt for Python 3.14.0rc2 bytecode
* Tue Aug 12 2025 Packit <hello@packit.dev> - 43.35-1
- storage: Fix AttributeError and protect installation media in bootloader
partition removal (k.koukiou)
* Tue Aug 05 2025 Packit <hello@packit.dev> - 43.34-1
- Document Lorax template patching (mkolman)

View file

@ -1 +1 @@
SHA512 (anaconda-44.11.tar.bz2) = 30e8c3bde05afefe7cb18ba17d84fc31007e9086932f47136e74e432563786cd577123f7c904bc3ddd5e5c5f6f722dae3cedbc131d5871c06f7829ba632ffaf7
SHA512 (anaconda-43.44.tar.bz2) = ea021b88ebd476f4263f3a2121fb93d374bdafaddba6134e141aad2c1c3287ce35e57e4172eb3a6ede79af9a34b28e4cd9e81be8520f4227ada5f3dbc30a2f17