Add x86_64_v2 to _BASEARCH_MAP

Add link to AlmaLinux bugtracker
This commit is contained in:
Eduard Abdullin 2026-01-16 01:22:29 +00:00 committed by root
commit ff0e3e3423
2 changed files with 105 additions and 2 deletions

View File

@ -0,0 +1,98 @@
From a73cc59429846abe44b19f92dc1d05ebdcab4c7b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Thu, 19 Jun 2025 13:09:35 +0200
Subject: [PATCH] automatic: Expand email_to in command_email emitter to
individual arguments
Upstream commit: aa1ba2d1566198127518d0ccb38eaf5481b4649e
If /etc/dnf/automatic.conf has:
[emitters]
emit_via = command_email
[command_email]
email_to = root,test
a command incompatible with s-nail-14.9.25, a "mail" command
implementation, was executed:
execve("/usr/bin/mail", ["mail", "-Ssendwait", "-s", "Updates available on 'fedora-43'.", "-r", "root", "root test"], ...) = 0
The cause was that s-nail does not support multiple recipients in
a single argument.
This patch changes how "{email_to}" expands in command_format
formatting string. Now it expands into multiple, space separated arguments.
The new syntax is also accepted by mailx tool.
Implementation detail: A list of email_to recipients passed in
CommandEmitterMixIn does not inherit from "list" Python class or any
other iterator. It's libdnf.module.VectorString class generated by
Swig without. There the custom ShellQuotedLists formatting dictionary
needs to refer to libdnf.module.VectorString type and include "libdnf"
Python module explicitly.
A test will be added to ci-dnf-stack repository.
Resolve: #2241
Resolve: https://issues.redhat.com/browse/RHEL-94331
---
dnf/automatic/emitter.py | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/dnf/automatic/emitter.py b/dnf/automatic/emitter.py
index 1c8ff6bf8..ee1954296 100644
--- a/dnf/automatic/emitter.py
+++ b/dnf/automatic/emitter.py
@@ -22,6 +22,7 @@ from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals
from dnf.i18n import _
+import libdnf
import logging
import dnf.pycomp
import smtplib
@@ -132,6 +133,20 @@ class EmailEmitter(Emitter):
logger.error(msg)
+class ShellQuotedLists(dict):
+ """
+ Dictionary which returns values quoted with dnf.pycomp.shlex_quote().
+ If a looked-up value is a list or libdnf.module.VectorString, it will
+ quote the list members and then concatenate them with a space and return
+ the resulting string.
+ """
+ def __getitem__(self, key):
+ value = super(ShellQuotedLists, self).__getitem__(key)
+ if isinstance(value, (list, libdnf.module.VectorString)):
+ return ' '.join(dnf.pycomp.shlex_quote(item) for item in value)
+ else:
+ return dnf.pycomp.shlex_quote(value)
+
class CommandEmitterMixIn(object):
"""
Executes a desired command, and pushes data into its stdin.
@@ -147,9 +162,7 @@ class CommandEmitterMixIn(object):
msg = self._prepare_msg()
# all strings passed to shell should be quoted to avoid accidental code
# execution
- quoted_msg = dict((key, dnf.pycomp.shlex_quote(val))
- for key, val in msg.items())
- command = command_fmt.format(**quoted_msg)
+ command = command_fmt.format_map(ShellQuotedLists(msg))
stdin_feed = stdin_fmt.format(**msg).encode('utf-8')
# Execute the command
@@ -177,7 +190,7 @@ class CommandEmailEmitter(CommandEmitterMixIn, EmailEmitter):
return {'subject': subject,
'body': body,
'email_from': self._conf.email_from,
- 'email_to': ' '.join(self._conf.email_to)}
+ 'email_to': self._conf.email_to}
class StdIoEmitter(Emitter):
--
2.52.0

View File

@ -72,7 +72,7 @@ It supports RPMs, modules and comps groups & environments.
Name: dnf
Version: 4.20.0
Release: 18%{?dist}.alma.1
Release: 19%{?dist}.alma.1
Summary: %{pkg_summary}
# For a breakdown of the licensing, see PACKAGE-LICENSING
License: GPL-2.0-or-later AND GPL-1.0-only
@ -114,6 +114,7 @@ Patch33: 0033-Obsolete-RHEL-9-only-multisig-DNF-plugin.patch
Patch34: 0034-Add-deprecation-warning-for-module-commands.patch
Patch35: 0035-Add-modularity-deprecation-warning-to-doc-pages.patch
Patch36: 0036-automatic-Fix-detecting-releasever_minor.patch
Patch37: 0037-automatic-Expand-email_to-in-command_email-emitter-t.patch
# AlmaLinux Patch
Patch1001: 0001-Add-link-to-AlmaLinux-bugtracker.patch
@ -479,10 +480,14 @@ popd
# bootc subpackage does not include any files
%changelog
* Fri Aug 01 2025 Eduard Abdullin <eabdullin@almalinux.org> - 4.20.0-18.alma.1
* Fri Jan 16 2026 Eduard Abdullin <eabdullin@almalinux.org> - 4.20.0-19.alma.1
- Add x86_64_v2 to _BASEARCH_MAP
- Add link to AlmaLinux bugtracker
* Fri Jan 09 2026 Petr Pisar <ppisar@redhat.com> - 4.20.0-19
- automatic: Expand email_to in command_email emitter to individual arguments
(RHEL-94331)
* Tue Jul 29 2025 Petr Pisar <ppisar@redhat.com> - 4.20.0-18
- Fix detecting releasever_minor in dnf-automatic (RHEL-106141)