diff --git a/.gitignore b/.gitignore index 94987e8..eccaf67 100644 --- a/.gitignore +++ b/.gitignore @@ -468,8 +468,22 @@ /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 b3f40ff..ef65b39 100644 --- a/.packit.yml +++ b/.packit.yml @@ -52,7 +52,6 @@ jobs: packages: [anaconda-fedora] dist_git_branches: - main - - f43 # Tests on PR (Fedora) - job: tests @@ -60,7 +59,6 @@ jobs: packages: [anaconda-fedora] targets: - fedora-rawhide - - fedora-43 # COPR builds on PR (Fedora) - job: copr_build @@ -68,7 +66,6 @@ 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) @@ -77,7 +74,6 @@ jobs: packages: [anaconda-fedora] targets: - fedora-rawhide - - fedora-43 - fedora-eln branch: main owner: "@rhinstaller" diff --git a/6597.patch b/6597.patch deleted file mode 100644 index 04879c2..0000000 --- a/6597.patch +++ /dev/null @@ -1,213 +0,0 @@ -From db5bd04346372049f2b4f41484ca014e792e8939 Mon Sep 17 00:00:00 2001 -From: Radek Vykydal -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 -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.""" diff --git a/README.packit b/README.packit index fb341a1..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 1.11.0.post1.dev7+gfdcdf3a32. +The file was generated using packit 1.13.0.post1.dev2+g84134016c. diff --git a/anaconda.spec b/anaconda.spec index 8ef9745..cc4a2f2 100644 --- a/anaconda.spec +++ b/anaconda.spec @@ -1,7 +1,7 @@ Summary: Graphical system installer Name: anaconda -Version: 43.44 -Release: 3%{?dist} +Version: 44.11 +Release: 2%{?dist} ExcludeArch: %{ix86} License: GPL-2.0-or-later URL: http://fedoraproject.org/wiki/Anaconda @@ -13,21 +13,10 @@ 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} +%bcond glade %[%{undefined rhel} && %{undefined eln}] %bcond live %[%{defined fedora} || %{defined eln}] %if ! 0%{?rhel} %define blivetguiver 2.4.2-3 @@ -48,7 +37,7 @@ Patch: 0001-pyanaconda-localization-Indicate-ASCII-support-in-ge.patch %define nmver 1.0 %define pykickstartver 3.65-1 %define pypartedver 2.5-2 -%define pythonblivetver 1:3.12.1-1 +%define pythonblivetver 1:3.13.0-1 %define rpmver 4.15.0 %define simplelinever 1.9.0-1 %define subscriptionmanagerver 1.29.31 @@ -297,9 +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 @@ -383,6 +378,8 @@ 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 @@ -521,6 +518,69 @@ 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 @@ -547,14 +607,28 @@ rm -rf \ - 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) -* Fri Sep 05 2025 Katerina Koukiou - 43.37-2 -- Add GetFreeSpaceForSystem API (kkoukiou) +* 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) @@ -574,6 +648,13 @@ rm -rf \ - 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) diff --git a/sources b/sources index 944fc66..5807bb3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (anaconda-43.44.tar.bz2) = ea021b88ebd476f4263f3a2121fb93d374bdafaddba6134e141aad2c1c3287ce35e57e4172eb3a6ede79af9a34b28e4cd9e81be8520f4227ada5f3dbc30a2f17 +SHA512 (anaconda-44.11.tar.bz2) = 30e8c3bde05afefe7cb18ba17d84fc31007e9086932f47136e74e432563786cd577123f7c904bc3ddd5e5c5f6f722dae3cedbc131d5871c06f7829ba632ffaf7