Compare commits

..

13 commits

Author SHA1 Message Date
Martin Kolman
34dc7575c8 New version 34.24.9-1
- Allow to exclude the kernel-lpae package (vponcova)
2021-04-12 14:51:25 +02:00
Martin Kolman
77a3c478b6 New version 34.24.8-1
- ostree: ignore exit code 65 for systemd-tmpfiles (vponcova)
- Turn off wrapping of the scale values (vponcova)
- Make the scale visible by default (#1943370) (vponcova)
2021-03-31 18:08:04 +02:00
Martin Kolman
dddb80de12 New version 34.24.7-1
- network: match also connections named by MAC created by NM in initramfs
  (rvykydal)
- Create /tmp with the right permissions (#1937626) (vponcova)
- Don't recommend zram-generator-defaults (#1938132) (vponcova)
- Don't automatically execute the default partitioning (vponcova)
- Fix the warning about working NTP servers (#1889180) (vponcova)
- Remove implicit dependencies (vponcova)
- Don't install anaconda-install-env-deps by default (vponcova)
2021-03-30 20:09:06 +02:00
Martin Kolman
0d97b8208d New version 34.24.6-1
- Check if the mount point exists before calling statvfs (#1824357) (vponcova)
- Do not follow symlinks when copying /etc/resolv.conf (#1933454) (rvykydal)
- Use the volume UUID to search for the GRUB config in btrfs partitions
  (javierm)
- Drop python3-syspurpose dependency (mkolman)
- Fix copypaste typo in github owner tests (vslavik)
- Modify owner tests for this f34-release branch (vslavik)
- Fix running tests for the f34-devel branch (vslavik)
- Wrap text in spoke title labels, if needed (vslavik)
- Wrap welcome spoke title if needed (vslavik)
- Choose the best locale more carefully (#1933384) (vponcova)
- Make the user interface context safe for the initial setup (vponcova)
- The network spoke should be visible in live spins (#1932961) (vponcova)
- Ignore Pylint errors on DNF API (vslavik)
- Ignore Pylint errors for PropertiesChanged.connect (vslavik)
- Silence false Pylint warning (vslavik)
- Ignore false Pylint errors for Enum subclasses (vslavik)
- Determine GRUB directory relative path to use in config file (javierm)
2021-03-22 18:39:24 +01:00
Martin Kolman
6ec5acaa05 New version 34.24.5-5
- Use the volume UUID to search for the GRUB config in btrfs partitions (#1930567) (vponcova)
2021-03-10 18:58:26 +01:00
Adam Williamson
5e5e4bc180 Backport #3230 to try and fix #1933454 2021-03-09 18:11:08 -08:00
Martin Kolman
2a73162012 New version 34.24.5-3
- Choose the best locale more carefully (#1933384) (vponcova)
2021-03-02 18:55:21 +01:00
Martin Kolman
3c5ba04f65 New version 34.24.5-2
- Determine GRUB directory relative path to use in config file (#1928588) (javierm)
- The network spoke should be visible in live spins (#1932961) (vponcova)
2021-02-25 19:04:43 +01:00
Martin Kolman
6f9ad3844c New version 34.24.5-1
- Add the "Encrypt my data" checkbox to the custom partitioning spoke
  (vponcova)
- Don't translate prompt keys (#1892830) (vponcova)
- Fix RHEL zram conditional in spec file (mkolman)
- Remove interactive parameter from container-rpm-test (jkonecny)
- Add container push for rpm containers (jkonecny)
- Enable our and blivet COPR repositories for rpm tests (jkonecny)
- vconsole font selection to cover more langs (suanand)
2021-02-22 19:09:34 +01:00
Martin Kolman
16fd7bf758 New version 34.24.4-1
- [Storage] add btrfs_compression option (#1928857) (michel)
- Correct branch config after merge (vslavik)
- Enable Makefiles and Dockerfiles for branched Fedora (vslavik)
- packit: make tests ⊂ builds for the chroot set (ttomecek)
- packit: run all actions in a single action (ttomecek)
- configure.ac: make the Copyright up to date (ttomecek)
- ovirt: rebase on CentOS Stream (sbonazzo)
- Use a custom stylesheet to define RHEL-specific stylesheet data (vponcova)
- Remove unused variables from Makefile (vslavik)
- Drop astroid hotfix patch (jkonecny)
- Don't block the start of the Network module by the hostname service
  (vponcova)
- Remove unused variables related to mock (vslavik)
- Save lorax-packages.log to installed system (rvykydal)
2021-02-18 16:16:20 +01:00
Martin Kolman
ce17ff4e5f New version 34.24.3-1
- Do not hard-require zram-generator-default on RHEL just yet (mkolman)
- Improve Packit configuration to use fedora-development (jkonecny)
- Add a kickstart specification for the main process (vponcova)
- Adapt Packit configuration to a newly branched Fedora (jkonecny)
- Create swap by default in RHEL-based installations (#1915297) (vponcova)
- Add missing space to a message (vslavik)
- Use Linux HOST_NAME_MAX hostname length limit (xiaqirong1)
2021-02-15 18:57:45 +01:00
Martin Kolman
46010b50ba New version 34.24.2-1
- Rename pyanaconda.modules.common.typing (vponcova)
2021-02-12 15:40:41 +01:00
Martin Kolman
7cff7707dd New version 34.24.1-1
- Adjust configuration options for Fedora 34 (mkolman)
- Add dependabot support for GitHub actions (jkonecny)
- Set volume id for iso built for kickstart test (rvykydal)
- Guess the default product name from the os-release files (vponcova)
- Apply overrides for the anaconda widgets only in the test environment
  (vponcova)
- Create real updates images (vponcova)
- Remove deprecated support for add-ons (vponcova)
- Don't run installation tasks of add-ons in a meta task (vponcova)
- network: wrap IP addresses showed in GUI for wireless devices (#1925781)
  (rvykydal)
- Install support for non-ascii keyboard layouts (#1919483) (vponcova)
2021-02-11 18:52:22 +01:00
21 changed files with 474 additions and 4529 deletions

View file

@ -1 +0,0 @@
1

223
.gitignore vendored
View file

@ -273,217 +273,12 @@
/anaconda-34.22.tar.bz2
/anaconda-34.23.tar.bz2
/anaconda-34.24.tar.bz2
/anaconda-35.1.tar.bz2
/anaconda-35.2.tar.bz2
/anaconda-35.3.tar.bz2
/anaconda-35.4.tar.bz2
/anaconda-35.5.tar.bz2
/anaconda-35.6.tar.bz2
/anaconda-35.7.tar.bz2
/anaconda-35.8.tar.bz2
/anaconda-35.9.tar.bz2
/anaconda-35.10.tar.bz2
/anaconda-35.11.tar.bz2
/anaconda-35.12.tar.bz2
/anaconda-35.13.tar.bz2
/anaconda-35.14.tar.bz2
/anaconda-35.15.tar.bz2
/anaconda-35.16.tar.bz2
/anaconda-35.17.tar.bz2
/anaconda-35.18.tar.bz2
/anaconda-35.19.tar.bz2
/anaconda-35.20.tar.bz2
/anaconda-35.21.tar.bz2
/anaconda-35.22.tar.bz2
/anaconda-36.1.tar.bz2
/anaconda-36.2.tar.bz2
/anaconda-36.3.tar.bz2
/anaconda-36.4.tar.bz2
/anaconda-36.5.tar.bz2
/anaconda-36.6.tar.bz2
/anaconda-36.7.tar.bz2
/anaconda-36.8.tar.bz2
/anaconda-36.9.tar.bz2
/anaconda-36.10.tar.bz2
/anaconda-36.11.tar.bz2
/anaconda-36.12.tar.bz2
/anaconda-36.13.tar.bz2
/anaconda-36.14.tar.bz2
/anaconda-36.15.tar.bz2
/anaconda-36.16.tar.bz2
/anaconda-37.1.tar.bz2
/anaconda-37.2.tar.bz2
/anaconda-37.3.tar.bz2
/anaconda-37.4.tar.bz2
/anaconda-37.5.tar.bz2
/anaconda-37.6.tar.bz2
/anaconda-37.7.tar.bz2
/anaconda-37.8.tar.bz2
/anaconda-37.9.tar.bz2
/anaconda-37.10.tar.bz2
/anaconda-37.11.tar.bz2
/anaconda-37.12.tar.bz2
/anaconda-38.1.tar.bz2
/anaconda-38.2.tar.bz2
/anaconda-38.3.tar.bz2
/anaconda-38.4.tar.bz2
/anaconda-38.5.tar.bz2
/anaconda-38.6.tar.bz2
/anaconda-38.7.tar.bz2
/anaconda-38.8.tar.bz2
/anaconda-38.9.tar.bz2
/anaconda-38.10.tar.bz2
/anaconda-38.11.tar.bz2
/anaconda-38.12.tar.bz2
/anaconda-38.13.tar.bz2
/anaconda-38.14.tar.bz2
/anaconda-38.15.tar.bz2
/anaconda-38.17.tar.bz2
/anaconda-38.18.tar.bz2
/anaconda-38.19.tar.bz2
/anaconda-38.20.tar.bz2
/anaconda-38.21.tar.bz2
/anaconda-38.22.tar.bz2
/anaconda-38.23.tar.bz2
/anaconda-39.1.tar.bz2
/anaconda-39.2.tar.bz2
/anaconda-39.3.tar.bz2
/anaconda-39.4.tar.bz2
/anaconda-39.5.tar.bz2
/anaconda-39.6.tar.bz2
/anaconda-39.7.tar.bz2
/anaconda-39.8.tar.bz2
/anaconda-39.9.tar.bz2
/anaconda-39.10.tar.bz2
/anaconda-39.11.tar.bz2
/anaconda-39.12.tar.bz2
/anaconda-39.13.tar.bz2
/anaconda-39.14.tar.bz2
/anaconda-39.15.tar.bz2
/anaconda-39.16.tar.bz2
/anaconda-39.17.tar.bz2
/anaconda-39.18.tar.bz2
/anaconda-39.19.tar.bz2
/anaconda-39.20.tar.bz2
/anaconda-39.21.tar.bz2
/anaconda-39.22.tar.bz2
/anaconda-39.23.tar.bz2
/anaconda-39.24.tar.bz2
/anaconda-39.25.tar.bz2
/anaconda-39.26.tar.bz2
/anaconda-39.27.tar.bz2
/anaconda-39.28.tar.bz2
/anaconda-39.29.tar.bz2
/anaconda-39.30.tar.bz2
/anaconda-39.31.tar.bz2
/anaconda-39.32.tar.bz2
/anaconda-39.33.tar.bz2
/anaconda-40.1.tar.bz2
/anaconda-40.2.tar.bz2
/anaconda-40.3.tar.bz2
/anaconda-40.4.tar.bz2
/anaconda-40.5.tar.bz2
/anaconda-40.6.tar.bz2
/anaconda-40.7.tar.bz2
/anaconda-40.8.tar.bz2
/anaconda-40.9.tar.bz2
/anaconda-40.10.tar.bz2
/anaconda-40.11.tar.bz2
/anaconda-40.12.tar.bz2
/anaconda-40.13.tar.bz2
/anaconda-40.15.tar.bz2
/anaconda-40.17.tar.bz2
/anaconda-40.18.tar.bz2
/anaconda-40.20.tar.bz2
/anaconda-40.21.tar.bz2
/anaconda-41.1.tar.bz2
/anaconda-41.2.tar.bz2
/anaconda-41.6.tar.bz2
/anaconda-41.7.tar.bz2
/anaconda-41.9.tar.bz2
/anaconda-41.13.tar.bz2
/anaconda-41.14.tar.bz2
/anaconda-41.15.tar.bz2
/anaconda-41.17.tar.bz2
/anaconda-41.18.tar.bz2
/anaconda-41.19.tar.bz2
/anaconda-41.20.tar.bz2
/anaconda-41.22.tar.bz2
/anaconda-41.23.tar.bz2
/anaconda-41.24.tar.bz2
/anaconda-41.25.tar.bz2
/anaconda-41.26.tar.bz2
/anaconda-41.27.tar.bz2
/anaconda-41.28.tar.bz2
/anaconda-41.29.tar.bz2
/anaconda-41.30.tar.bz2
/anaconda-41.31.tar.bz2
/anaconda-41.32.tar.bz2
/anaconda-42.1.tar.bz2
/anaconda-42.2.tar.bz2
/anaconda-42.3.tar.bz2
/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
/anaconda-34.24.1.tar.bz2
/anaconda-34.24.2.tar.bz2
/anaconda-34.24.3.tar.bz2
/anaconda-34.24.4.tar.bz2
/anaconda-34.24.5.tar.bz2
/anaconda-34.24.6.tar.bz2
/anaconda-34.24.7.tar.bz2
/anaconda-34.24.8.tar.bz2
/anaconda-34.24.9.tar.bz2

View file

@ -1,115 +0,0 @@
# ======================================
# WARNING!
# THIS FILE IS GENERATED FROM A TEMPLATE
# DO NOT EDIT THIS FILE MANUALLY!
# ======================================
# The template is located in: .packit.yml.j2
specfile_path: anaconda.spec
upstream_package_name: anaconda
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
- autogen
- glib2-devel
- gettext-devel
- python3-polib
- gobject-introspection-devel
- glade-devel
- libxklavier-devel
- libarchive-devel
- rpm-devel
- nss_wrapper
- nodejs-npm
packages:
anaconda-fedora:
specfile_path: anaconda.spec
anaconda-centos:
specfile_path: anaconda.spec
pkg_tool: centpkg
actions:
post-upstream-clone:
- ./autogen.sh
- ./configure
create-archive:
- "make release"
- 'bash -c "ls -1 anaconda-*.tar.bz2"'
jobs:
# Propose downstream (Fedora)
- job: propose_downstream
trigger: release
packages: [anaconda-fedora]
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]
targets:
- 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: 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

View file

@ -1,31 +0,0 @@
From b4b09f54b39b288f326b4734c13d27aa710e69d3 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
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 <awilliam@redhat.com>
---
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

View file

@ -1,66 +0,0 @@
From c7dce0445423e7386fdc6998a6a8de50a7a39bca Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
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 <awilliam@redhat.com>
---
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

View file

@ -0,0 +1,243 @@
From a9d2581448ddb4c9cb1904dca06512aa79145f80 Mon Sep 17 00:00:00 2001
From: Jiri Konecny <jkonecny@redhat.com>
Date: Mon, 8 Feb 2021 11:26:06 +0100
Subject: [PATCH 1/3] Revert "Remove support for boot arguments without 'inst.'
prefix from Dracut (#1912502)" (#1907566)
Allow to use Anaconda kernel args in Dracut without inst. prefix to not break
beaker. Beaker needs more time for adaptation so avoid to break it for RHEL-9.
This reverts commit a45405de99a42e5af047f04b78d168b6d41fa513.
Related: rhbz#1907566
---
dracut/anaconda-diskroot | 2 +-
dracut/anaconda-ks-sendheaders.sh | 4 +--
dracut/fetch-kickstart-disk | 2 +-
dracut/kickstart-genrules.sh | 2 +-
dracut/parse-anaconda-dd.sh | 2 +-
dracut/parse-anaconda-kickstart.sh | 6 ++---
dracut/parse-anaconda-net.sh | 3 ---
dracut/parse-anaconda-options.sh | 39 ++++++++++++++----------------
dracut/parse-anaconda-repo.sh | 6 ++---
9 files changed, 30 insertions(+), 36 deletions(-)
diff --git a/dracut/anaconda-diskroot b/dracut/anaconda-diskroot
index 274849fdb3..2797e67625 100755
--- a/dracut/anaconda-diskroot
+++ b/dracut/anaconda-diskroot
@@ -39,7 +39,7 @@ run_checkisomd5() {
dev="$1"
path="$2" # optional, could be empty
-kickstart="$(getarg inst.ks=)"
+kickstart="$(getarg ks= inst.ks=)"
# Log the device that triggered this job.
debug_msg "Trying to find a root image on the device $dev."
diff --git a/dracut/anaconda-ks-sendheaders.sh b/dracut/anaconda-ks-sendheaders.sh
index a479a50667..7bc97393b8 100755
--- a/dracut/anaconda-ks-sendheaders.sh
+++ b/dracut/anaconda-ks-sendheaders.sh
@@ -5,7 +5,7 @@
command -v set_http_header >/dev/null || . /lib/url-lib.sh
# inst.ks.sendmac: send MAC addresses in HTTP headers
-if getargbool 0 inst.ks.sendmac; then
+if getargbool 0 kssendmac inst.ks.sendmac; then
ifnum=0
for ifname in /sys/class/net/*; do
[ -e "$ifname/address" ] || continue
@@ -21,7 +21,7 @@ if getargbool 0 inst.ks.sendmac; then
fi
# inst.ks.sendsn: send system serial number in HTTP headers
-if getargbool 0 inst.ks.sendsn; then
+if getargbool 0 kssendsn inst.ks.sendsn; then
system_serial=$(cat /sys/class/dmi/id/product_serial 2>/dev/null)
if [ -z "$system_serial" ]; then
warn "inst.ks.sendsn: can't find system serial number"
diff --git a/dracut/fetch-kickstart-disk b/dracut/fetch-kickstart-disk
index b1ee9f826c..7eb769ea5c 100755
--- a/dracut/fetch-kickstart-disk
+++ b/dracut/fetch-kickstart-disk
@@ -6,7 +6,7 @@ command -v getarg >/dev/null || . /lib/dracut-lib.sh
dev="$1"
path="${2:-/ks.cfg}"
-kickstart="$(getarg inst.ks=)"
+kickstart="$(getarg ks= inst.ks=)"
[ -e /tmp/ks.cfg.done ] && exit 1
[ -b "$dev" ] || exit 1
diff --git a/dracut/kickstart-genrules.sh b/dracut/kickstart-genrules.sh
index 84277890dd..8e1ba22643 100755
--- a/dracut/kickstart-genrules.sh
+++ b/dracut/kickstart-genrules.sh
@@ -28,7 +28,7 @@ case "${kickstart%%:*}" in
wait_for_kickstart
;;
"")
- if [ -z "$kickstart" -a -z "$(getarg inst.ks=)" ]; then
+ if [ -z "$kickstart" -a -z "$(getarg ks= inst.ks=)" ]; then
when_diskdev_appears $(disk_to_dev_path LABEL=OEMDRV) \
fetch-kickstart-disk \$env{DEVNAME} "/ks.cfg"
fi
diff --git a/dracut/parse-anaconda-dd.sh b/dracut/parse-anaconda-dd.sh
index 8eeceb9a49..3633d29282 100755
--- a/dracut/parse-anaconda-dd.sh
+++ b/dracut/parse-anaconda-dd.sh
@@ -11,7 +11,7 @@
rm -f /tmp/dd_interactive /tmp/dd_net /tmp/dd_disk /tmp/dd_todo
# parse any dd/inst.dd args found
-for dd in $(getargs inst.dd=); do
+for dd in $(getargs dd= inst.dd=); do
case "$dd" in
# plain 'dd'/'inst.dd': Engage interactive mode!
dd|inst.dd) echo menu > /tmp/dd_interactive ;;
diff --git a/dracut/parse-anaconda-kickstart.sh b/dracut/parse-anaconda-kickstart.sh
index 83b319dc7d..1f4f190db9 100755
--- a/dracut/parse-anaconda-kickstart.sh
+++ b/dracut/parse-anaconda-kickstart.sh
@@ -5,9 +5,9 @@
[ -f /tmp/ks.cfg.done ] && return
# inst.ks: provide a "URI" for the kickstart file
-kickstart="$(getarg inst.ks=)"
+kickstart="$(getarg ks= inst.ks=)"
if [ -z "$kickstart" ]; then
- getargbool 0 inst.ks && kickstart='nfs:auto'
+ getargbool 0 ks inst.ks && kickstart='nfs:auto'
fi
# no root? the kickstart will probably tell us what our root device is.
[ "$kickstart" ] && [ -z "$root" ] && root="anaconda-kickstart"
@@ -23,7 +23,7 @@ case "${kickstart%%:*}" in
set_neednet
;;
urls) # multiple network kickstarts?
- locations="$(getargs inst.ks=)"
+ locations="$(getargs ks= inst.ks=)"
get_urls "$locations" >/tmp/ks_urls
set_neednet
;;
diff --git a/dracut/parse-anaconda-net.sh b/dracut/parse-anaconda-net.sh
index f09ec8d098..5518546e5b 100755
--- a/dracut/parse-anaconda-net.sh
+++ b/dracut/parse-anaconda-net.sh
@@ -16,9 +16,6 @@ mac_to_bootif() {
# handle ksdevice (tell us which device to use for ip= stuff later)
export ksdevice=""
-# TODO: Remove support for ksdevice. It's deprecated a long time already
-# this should be inst.ksdevice however, this is deprecated a long time so we don't have
-# any inst.ksdevice. Let's just ignore this for now.
ksdev_val=$(getarg ksdevice=)
if [ -n "$ksdev_val" ]; then
case "$ksdev_val" in
diff --git a/dracut/parse-anaconda-options.sh b/dracut/parse-anaconda-options.sh
index debe8ac0cb..c2735b0e19 100755
--- a/dracut/parse-anaconda-options.sh
+++ b/dracut/parse-anaconda-options.sh
@@ -58,12 +58,6 @@ check_removed_arg() {
fi
}
-check_removed_no_inst_arg() {
- local removed_arg="$1" new_arg="$2"
- check_removed_arg "$removed_arg" "All usage of Anaconda boot arguments without 'inst.' prefix \
-was removed. Please use $new_arg instead."
-}
-
check_depr_args "blacklist=" "inst.blacklist=%s"
check_depr_arg "nofirewire" "inst.blacklist=firewire_ohci"
@@ -83,32 +77,35 @@ check_removed_arg askmethod "Use an appropriate 'inst.repo=' argument instead."
check_removed_arg asknetwork "Use an appropriate 'ip=' argument instead."
# lang & keymap
-check_removed_no_inst_arg "lang" "inst.lang"
-check_removed_no_inst_arg "keymap" "inst.keymap"
+warn_renamed_arg "lang" "inst.lang"
+warn_renamed_arg "keymap" "inst.keymap"
+
+# debug
+warn_renamed_arg "debug" "inst.debug"
# repo
check_depr_arg "method=" "repo=%s"
-check_removed_no_inst_arg "repo" "inst.repo"
+warn_renamed_arg "repo" "inst.repo"
# stage2
-check_removed_no_inst_arg "stage2" "inst.stage2"
+warn_renamed_arg "stage2" "inst.stage2"
# kickstart
-check_removed_no_inst_arg "ks" "inst.ks"
-check_removed_no_inst_arg "ksdevice" "inst.ks.device"
-check_removed_no_inst_arg "kssendmac" "inst.ks.sendmac"
-check_removed_no_inst_arg "kssendsn" "inst.ks.sendsn"
+warn_renamed_arg "ks" "inst.ks"
+warn_renamed_arg "ksdevice" "inst.ks.device"
+warn_renamed_arg "kssendmac" "inst.ks.sendmac"
+warn_renamed_arg "kssendsn" "inst.ks.sendsn"
# Ignore self-signed SSL certs
-check_removed_no_inst_arg "noverifyssl" "inst.noverifyssl"
-if getargbool 0 inst.noverifyssl; then
+warn_renamed_arg "noverifyssl" "inst.noverifyssl"
+if getargbool 0 noverifyssl inst.noverifyssl; then
# Tell dracut to use curl --insecure
echo "rd.noverifyssl" >> /etc/cmdline.d/75-anaconda-options.conf
fi
# updates
-check_removed_no_inst_arg "updates" "inst.updates"
-if updates=$(getarg inst.updates); then
+warn_renamed_arg "updates=" "inst.updates"
+if updates=$(getarg updates inst.updates); then
if [ -n "$updates" ]; then
export anac_updates=$updates
case $updates in
@@ -122,11 +119,11 @@ if updates=$(getarg inst.updates); then
fi
# for vnc bring network up in initramfs so that cmdline configuration is used
-check_removed_no_inst_arg "vnc" "inst.vnc"
-getargbool 0 inst.vnc && warn "anaconda requiring network for vnc" && set_neednet
+warn_renamed_arg "vnc" "inst.vnc"
+getargbool 0 vnc inst.vnc && warn "anaconda requiring network for vnc" && set_neednet
# Driver Update Disk
-check_removed_no_inst_arg "dd" "inst.dd"
+warn_renamed_arg "dd" "inst.dd"
# re-read the commandline args
unset CMDLINE
diff --git a/dracut/parse-anaconda-repo.sh b/dracut/parse-anaconda-repo.sh
index fdc937a95a..a1f96b3d98 100755
--- a/dracut/parse-anaconda-repo.sh
+++ b/dracut/parse-anaconda-repo.sh
@@ -4,8 +4,8 @@
# If there's a root= arg, we'll just use that
getarg root= >/dev/null && return
-repo="$(getarg inst.repo=)"
-stage2="$(getarg inst.stage2=)"
+repo="$(getarg repo= inst.repo=)"
+stage2="$(getarg stage2= inst.stage2=)"
arg="repo"
# default to using repo, but if we have stage2=, use that
@@ -26,7 +26,7 @@ if [ -n "$repo" ]; then
;;
urls)
root="anaconda-net:urls"
- locations="$(getargs inst.stage2=)"
+ locations="$(getargs stage2= inst.stage2=)"
get_urls "$locations" >/tmp/stage2_urls
set_neednet
;;
--
2.29.2

View file

@ -1,139 +0,0 @@
From c6118f65fe3583e1c15c383a8a9c6f5c1989fb22 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
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 <awilliam@redhat.com>
---
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

View file

@ -0,0 +1,59 @@
From 5f066c4125d7a648958b31b909934e02cf397db8 Mon Sep 17 00:00:00 2001
From: Jiri Konecny <jkonecny@redhat.com>
Date: Mon, 8 Feb 2021 11:27:26 +0100
Subject: [PATCH 2/3] Revert "Do not support no inst. Anaconda boot args in
systemd services (#1912502)" (#1907566)
Allow to use Anaconda kernel boot arguments systemd units to not break beaker.
Beaker needs more time to adaptation so avoid to break it for RHEL-9.
This reverts commit 322e6a847d73ea17fe99aaae4129e14409488b6b.
Related: rhbz#1907566
---
data/systemd/anaconda-noshell.service | 1 +
data/systemd/anaconda-shell@.service | 1 +
data/systemd/anaconda-sshd.service | 2 ++
3 files changed, 4 insertions(+)
diff --git a/data/systemd/anaconda-noshell.service b/data/systemd/anaconda-noshell.service
index ca4dbd328d..f378c67b0c 100644
--- a/data/systemd/anaconda-noshell.service
+++ b/data/systemd/anaconda-noshell.service
@@ -3,6 +3,7 @@ Description=Restrict Anaconda Text Console
After=anaconda.service
Before=anaconda-tmux@.service
ConditionKernelCommandLine=|inst.noshell
+ConditionKernelCommandLine=|noshell
[Service]
Type=oneshot
diff --git a/data/systemd/anaconda-shell@.service b/data/systemd/anaconda-shell@.service
index b0dd4b7c66..bc69fd1208 100644
--- a/data/systemd/anaconda-shell@.service
+++ b/data/systemd/anaconda-shell@.service
@@ -3,6 +3,7 @@
[Unit]
Description=Shell on %I
After=systemd-user-sessions.service plymouth-quit-wait.service
+ConditionKernelCommandLine=!noshell
ConditionKernelCommandLine=!inst.noshell
[Service]
diff --git a/data/systemd/anaconda-sshd.service b/data/systemd/anaconda-sshd.service
index 8b5b16fbbe..8cba2c4bb0 100644
--- a/data/systemd/anaconda-sshd.service
+++ b/data/systemd/anaconda-sshd.service
@@ -3,8 +3,10 @@ Description=OpenSSH server daemon
Before=anaconda.target
After=syslog.target network.target sshd-keygen.target
Wants=sshd-keygen.target
+ConditionKernelCommandLine=|sshd
ConditionKernelCommandLine=|inst.sshd
ConditionKernelCommandLine=!inst.sshd=0
+ConditionKernelCommandLine=!sshd=0
# TODO: use ConditionArchitecture in systemd v210 or later
ConditionPathIsDirectory=|/sys/hypervisor/s390
--
2.29.2

View file

@ -0,0 +1,45 @@
From cf93029a69a5b7d21d9478fad0c5c619ea2008d1 Mon Sep 17 00:00:00 2001
From: Jiri Konecny <jkonecny@redhat.com>
Date: Mon, 8 Feb 2021 11:32:03 +0100
Subject: [PATCH 3/3] Do not require inst. prefixes for Anaconda boot arguments
(#1907566)
Beaker needs more time for adaptation. Create this change to not break beaker
for RHEL-9.
Related: rhbz#1907566
---
anaconda.py | 3 ---
pyanaconda/argument_parsing.py | 2 +-
2 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/anaconda.py b/anaconda.py
index edd518046a..3dc424188f 100755
--- a/anaconda.py
+++ b/anaconda.py
@@ -308,9 +308,6 @@ if __name__ == "__main__":
stdout_log.warning("Kernel boot argument '%s' detected. "
"Did you want to use 'inst.%s' for the installer instead?",
arg, arg)
- if removed_no_inst_args:
- stdout_log.warning("All Anaconda kernel boot arguments are now required to use "
- "'inst.' prefix!")
from pyanaconda import isys
diff --git a/pyanaconda/argument_parsing.py b/pyanaconda/argument_parsing.py
index 330a71ed64..096b1eba9e 100644
--- a/pyanaconda/argument_parsing.py
+++ b/pyanaconda/argument_parsing.py
@@ -388,7 +388,7 @@ def getArgumentParser(version_string, boot_cmdline=None):
# If require_prefix is False, it also accepts the option without the
# bootarg_prefix ('repo').
# See anaconda_optparse.py and KernelArguments (in flags.py) for details.
- ap = AnacondaArgumentParser(bootarg_prefix="inst.", require_prefix=True)
+ ap = AnacondaArgumentParser(bootarg_prefix="inst.", require_prefix=False)
help_parser = HelpTextParser(os.path.join(datadir, "anaconda_options.txt"))
# NOTE: store_false options will *not* get negated when the user does
--
2.29.2

View file

@ -1,42 +0,0 @@
From d75de3da3648dee474ddea6639e09c071f027232 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
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 "<python-input-1>", line 1, in <module>
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")

View file

@ -1,70 +0,0 @@
From 11b7e782d8de7da49f0b4e650e8fc0c60f69304f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
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)
)

View file

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

File diff suppressed because it is too large Load diff

View file

@ -1,12 +0,0 @@
summary: Integration tests for anaconda
discover:
how: fmf
filter: 'tag: integration'
execute:
how: tmt
finish:
how: shell
script: command -v journalctl && journalctl -a || true

View file

@ -1,36 +0,0 @@
# 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',
'no-manual-page-for-binary instperf',
'no-manual-page-for-binary instperf',
'no-manual-page-for-binary anaconda',
'no-manual-page-for-binary handle-sshpw',
# Discard missing README / documentation for package
'no-documentation',
# Discard spelling errors for project commonly used words
'spelling-error .* en_US (metapackage|kickstarts|iso|eg|lorax) ',
]

View file

@ -1 +1 @@
SHA512 (anaconda-44.11.tar.bz2) = 30e8c3bde05afefe7cb18ba17d84fc31007e9086932f47136e74e432563786cd577123f7c904bc3ddd5e5c5f6f722dae3cedbc131d5871c06f7829ba632ffaf7
SHA512 (anaconda-34.24.9.tar.bz2) = cf2e558339ca687dc1170e06e84e1709ff7a9ce4c6589d3cb2a2eb46f11ca4d7608b7ed5b82e9307d23271fcabf82955e87a494126449b4d25d2d78026fb55ed

View file

@ -1,22 +0,0 @@
summary: Dirinstall test on regular os
contact: Radek Vykydal <rvykydal@redhat.com>
path: /tests/dirinstall
test: ./dirinstall.sh
duration: 1h
tag: [integration]
/text:
summary: Dirinstall test on regular os - text UI
require:
- anaconda
environment:
ANACONDA_UI_MODE: text
/vnc:
summary: Dirinstall test on regular os - vnc UI
enabled: false
require:
- anaconda
- gnome-kiosk
environment:
ANACONDA_UI_MODE: vnc

View file

@ -1,47 +0,0 @@
#!/bin/sh -eux
# Remove webui because it does not support much anything yet
# Possible alternative: rpm -E --nodeps anaconda-webui
dnf remove -y anaconda-webui
# Prepare test work directory
WORK_DIR=$(mktemp -d /var/tmp/dirinstall.XXXXXX)
# Create kickstart
KICKSTART_PATH=${WORK_DIR}/ks.cfg
source ./repositories
TEST_KICKSTART=./ks.dirinstall.cfg
# Dump URLs of installation repositories found in local repositories whose names are configured in 'repositories' file
echo "url --metalink=$(dnf repoinfo $BASE_REPO | grep -e "^ *Metalink *:" | cut -d: -f2- | sed 's/^ *//')" > ${KICKSTART_PATH}
for repo in $REPOS; do
echo "repo --name=$repo --metalink=$(dnf repoinfo $repo | grep "^ *Metalink *:" | cut -d: -f2- | sed 's/^ *//')" >> ${KICKSTART_PATH}
done
cat ${TEST_KICKSTART} >> ${KICKSTART_PATH}
# Log the kickstart
cat ${KICKSTART_PATH}
# Run dirinstall
INSTALL_DIR=${WORK_DIR}/install_dir
mkdir ${INSTALL_DIR}
anaconda --dirinstall ${INSTALL_DIR} --kickstart ${KICKSTART_PATH} --${ANACONDA_UI_MODE} --noninteractive 2>&1
# Remove test work directory
rm -rf ${WORK_DIR}
# Show and remove the logs for this anaconda run
./show_logs.sh

View file

@ -1,12 +0,0 @@
# The repository configuration (url, repo) needs to be added here.
# It varies by the product and version we are running on / testing
lang en_US.UTF-8
keyboard --vckeymap=us --xlayouts='us'
rootpw --plaintext redhat
timezone --utc Europe/Prague
shutdown
%packages
%end

View file

@ -1,12 +0,0 @@
# Names of local repositories whose urls will be used for installation
# Repositories for "Fedora X" needs to be dynamically resolved based on host
if dnf repoinfo --enabled | grep -qe "Repo ID *: rawhide"; then
BASE_REPO="rawhide"
else
BASE_REPO="fedora"
fi
# Additional repositories
REPOS=""
#REPOS="fedora-modular"

View file

@ -1,21 +0,0 @@
#!/bin/sh -x
ls /tmp
LOG_DIR=/tmp
cd ${LOG_DIR}
KS_SCRIPT_LOGS=$(ls ks-script-*.log)
cd -
ANACONDA_LOGS="anaconda.log storage.log packaging.log program.log dbus.log dnf.librepo.log ${KS_SCRIPT_LOGS}"
for log in ${ANACONDA_LOGS} ; do
LOG_PATH=${LOG_DIR}/${log}
if [ -f ${LOG_PATH} ]; then
echo "----------------------- Dumping log file $LOG_PATH:"
cat $LOG_PATH
# clear for the following test
rm $LOG_PATH
fi
done