Compare commits
No commits in common. "c8" and "imports/c8s/dnf-4.7.0-13.el8" have entirely different histories.
c8
...
imports/c8
1
.dnf.metadata
Normal file
1
.dnf.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
f9c31cf46094c4bbf021e1872a9eb72d8a3f2136 SOURCES/dnf-4.7.0.tar.gz
|
@ -1,95 +0,0 @@
|
|||||||
From 97fe94c94f030f5596a3a3ac52748bdd7544ad52 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jan Kolarik <jkolarik@redhat.com>
|
|
||||||
Date: Tue, 1 Nov 2022 09:15:08 +0000
|
|
||||||
Subject: [PATCH] Document changes to offline-upgrade command (RhBug:1939975)
|
|
||||||
|
|
||||||
A support for security filters was added to the offline-upgrade command. This commit adds the documentation into the man pages.
|
|
||||||
|
|
||||||
= changelog =
|
|
||||||
type: bugfix
|
|
||||||
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1939975
|
|
||||||
---
|
|
||||||
doc/command_ref.rst | 28 ++++++++++++++--------------
|
|
||||||
1 file changed, 14 insertions(+), 14 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/doc/command_ref.rst b/doc/command_ref.rst
|
|
||||||
index bee6a109..7279b3a4 100644
|
|
||||||
--- a/doc/command_ref.rst
|
|
||||||
+++ b/doc/command_ref.rst
|
|
||||||
@@ -113,7 +113,7 @@ Options
|
|
||||||
|
|
||||||
``--advisory=<advisory>, --advisories=<advisory>``
|
|
||||||
Include packages corresponding to the advisory ID, Eg. FEDORA-2201-123.
|
|
||||||
- Applicable for the install, repoquery, updateinfo and upgrade commands.
|
|
||||||
+ Applicable for the ``install``, ``repoquery``, ``updateinfo``, ``upgrade`` and ``offline-upgrade`` (dnf-plugins-core) commands.
|
|
||||||
|
|
||||||
``--allowerasing``
|
|
||||||
Allow erasing of installed packages to resolve dependencies. This option could be used as an alternative to the ``yum swap`` command where packages to remove are not explicitly defined.
|
|
||||||
@@ -125,12 +125,12 @@ Options
|
|
||||||
Try the best available package versions in transactions. Specifically during :ref:`dnf upgrade <upgrade_command-label>`, which by default skips over updates that can not be installed for dependency reasons, the switch forces DNF to only consider the latest packages. When running into packages with broken dependencies, DNF will fail giving a reason why the latest version can not be installed.
|
|
||||||
|
|
||||||
``--bugfix``
|
|
||||||
- Include packages that fix a bugfix issue. Applicable for the install, repoquery, updateinfo and
|
|
||||||
- upgrade commands.
|
|
||||||
+ Include packages that fix a bugfix issue.
|
|
||||||
+ Applicable for the ``install``, ``repoquery``, ``updateinfo``, ``upgrade`` and ``offline-upgrade`` (dnf-plugins-core) commands.
|
|
||||||
|
|
||||||
``--bz=<bugzilla>, --bzs=<bugzilla>``
|
|
||||||
- Include packages that fix a Bugzilla ID, Eg. 123123. Applicable for the install, repoquery,
|
|
||||||
- updateinfo and upgrade commands.
|
|
||||||
+ Include packages that fix a Bugzilla ID, Eg. 123123.
|
|
||||||
+ Applicable for the ``install``, ``repoquery``, ``updateinfo``, ``upgrade`` and ``offline-upgrade`` (dnf-plugins-core) commands.
|
|
||||||
|
|
||||||
``-C, --cacheonly``
|
|
||||||
Run entirely from system cache, don't update the cache and use it even in case it is expired.
|
|
||||||
@@ -148,8 +148,8 @@ Options
|
|
||||||
|
|
||||||
``--cve=<cves>, --cves=<cves>``
|
|
||||||
Include packages that fix a CVE (Common Vulnerabilities and Exposures) ID
|
|
||||||
- (http://cve.mitre.org/about/), Eg. CVE-2201-0123. Applicable for the install, repoquery, updateinfo,
|
|
||||||
- and upgrade commands.
|
|
||||||
+ (http://cve.mitre.org/about/), Eg. CVE-2201-0123.
|
|
||||||
+ Applicable for the ``install``, ``repoquery``, ``updateinfo``, ``upgrade`` and ``offline-upgrade`` (dnf-plugins-core) commands.
|
|
||||||
|
|
||||||
``-d <debug level>, --debuglevel=<debug level>``
|
|
||||||
Debugging output level. This is an integer value between 0 (no additional information strings) and 10 (shows all debugging information, even that not understandable to the user), default is 2. Deprecated, use ``-v`` instead.
|
|
||||||
@@ -208,8 +208,8 @@ Options
|
|
||||||
Enable additional repositories by an id or a glob.
|
|
||||||
|
|
||||||
``--enhancement``
|
|
||||||
- Include enhancement relevant packages. Applicable for the install, repoquery, updateinfo and
|
|
||||||
- upgrade commands.
|
|
||||||
+ Include enhancement relevant packages.
|
|
||||||
+ Applicable for the ``install``, ``repoquery``, ``updateinfo``, ``upgrade`` and ``offline-upgrade`` (dnf-plugins-core) commands.
|
|
||||||
|
|
||||||
.. _exclude_option-label:
|
|
||||||
|
|
||||||
@@ -280,8 +280,8 @@ Options
|
|
||||||
``--setopt`` using configuration from ``/path/dnf.conf``.
|
|
||||||
|
|
||||||
``--newpackage``
|
|
||||||
- Include newpackage relevant packages. Applicable for the install, repoquery, updateinfo and
|
|
||||||
- upgrade commands.
|
|
||||||
+ Include newpackage relevant packages.
|
|
||||||
+ Applicable for the ``install``, ``repoquery``, ``updateinfo``, ``upgrade`` and ``offline-upgrade`` (dnf-plugins-core) commands.
|
|
||||||
|
|
||||||
``--noautoremove``
|
|
||||||
Disable removal of dependencies that are no longer used. It sets
|
|
||||||
@@ -353,11 +353,11 @@ Options
|
|
||||||
|
|
||||||
``--sec-severity=<severity>, --secseverity=<severity>``
|
|
||||||
Includes packages that provide a fix for an issue of the specified severity.
|
|
||||||
- Applicable for the install, repoquery, updateinfo and upgrade commands.
|
|
||||||
+ Applicable for the ``install``, ``repoquery``, ``updateinfo``, ``upgrade`` and ``offline-upgrade`` (dnf-plugins-core) commands.
|
|
||||||
|
|
||||||
``--security``
|
|
||||||
- Includes packages that provide a fix for a security issue. Applicable for the
|
|
||||||
- upgrade command.
|
|
||||||
+ Includes packages that provide a fix for a security issue.
|
|
||||||
+ Applicable for the ``install``, ``repoquery``, ``updateinfo``, ``upgrade`` and ``offline-upgrade`` (dnf-plugins-core) commands.
|
|
||||||
|
|
||||||
.. _setopt_option-label:
|
|
||||||
|
|
||||||
--
|
|
||||||
2.38.1
|
|
||||||
|
|
@ -1,114 +0,0 @@
|
|||||||
From f1fbef17862e033bf9518bd318339b405f2664dd Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nicola Sella <nsella@redhat.com>
|
|
||||||
Date: Mon, 22 Mar 2021 17:37:51 +0100
|
|
||||||
Subject: [PATCH 1/2] Better explain traceback of rpm.error with dnf
|
|
||||||
|
|
||||||
=changelog=
|
|
||||||
msg: Add dnf.error message to explain rpm.error traceback when package not found after resolving a transaction
|
|
||||||
type: bugfix
|
|
||||||
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1815327
|
|
||||||
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1887293
|
|
||||||
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1909845
|
|
||||||
---
|
|
||||||
dnf/db/group.py | 78 ++++++++++++++++++++++++++-----------------------
|
|
||||||
1 file changed, 41 insertions(+), 37 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/dnf/db/group.py b/dnf/db/group.py
|
|
||||||
index 312e3b98..3a17019a 100644
|
|
||||||
--- a/dnf/db/group.py
|
|
||||||
+++ b/dnf/db/group.py
|
|
||||||
@@ -26,6 +26,7 @@ import dnf.exceptions
|
|
||||||
from dnf.i18n import _
|
|
||||||
from dnf.util import logger
|
|
||||||
|
|
||||||
+import rpm
|
|
||||||
|
|
||||||
class PersistorBase(object):
|
|
||||||
def __init__(self, history):
|
|
||||||
@@ -316,43 +317,46 @@ class RPMTransaction(object):
|
|
||||||
modular_problems = 0
|
|
||||||
|
|
||||||
for tsi in self:
|
|
||||||
- if tsi.action == libdnf.transaction.TransactionItemAction_DOWNGRADE:
|
|
||||||
- hdr = tsi.pkg._header
|
|
||||||
- modular_problems += self._test_fail_safe(hdr, tsi.pkg)
|
|
||||||
- ts.addInstall(hdr, tsi, 'u')
|
|
||||||
- elif tsi.action == libdnf.transaction.TransactionItemAction_DOWNGRADED:
|
|
||||||
- ts.addErase(tsi.pkg.idx)
|
|
||||||
- elif tsi.action == libdnf.transaction.TransactionItemAction_INSTALL:
|
|
||||||
- hdr = tsi.pkg._header
|
|
||||||
- modular_problems += self._test_fail_safe(hdr, tsi.pkg)
|
|
||||||
- ts.addInstall(hdr, tsi, 'i')
|
|
||||||
- elif tsi.action == libdnf.transaction.TransactionItemAction_OBSOLETE:
|
|
||||||
- hdr = tsi.pkg._header
|
|
||||||
- modular_problems += self._test_fail_safe(hdr, tsi.pkg)
|
|
||||||
- ts.addInstall(hdr, tsi, 'u')
|
|
||||||
- elif tsi.action == libdnf.transaction.TransactionItemAction_OBSOLETED:
|
|
||||||
- ts.addErase(tsi.pkg.idx)
|
|
||||||
- elif tsi.action == libdnf.transaction.TransactionItemAction_REINSTALL:
|
|
||||||
- # note: in rpm 4.12 there should not be set
|
|
||||||
- # rpm.RPMPROB_FILTER_REPLACEPKG to work
|
|
||||||
- hdr = tsi.pkg._header
|
|
||||||
- modular_problems += self._test_fail_safe(hdr, tsi.pkg)
|
|
||||||
- ts.addReinstall(hdr, tsi)
|
|
||||||
- elif tsi.action == libdnf.transaction.TransactionItemAction_REINSTALLED:
|
|
||||||
- # Required when multiple packages with the same NEVRA marked as installed
|
|
||||||
- ts.addErase(tsi.pkg.idx)
|
|
||||||
- elif tsi.action == libdnf.transaction.TransactionItemAction_REMOVE:
|
|
||||||
- ts.addErase(tsi.pkg.idx)
|
|
||||||
- elif tsi.action == libdnf.transaction.TransactionItemAction_UPGRADE:
|
|
||||||
- hdr = tsi.pkg._header
|
|
||||||
- modular_problems += self._test_fail_safe(hdr, tsi.pkg)
|
|
||||||
- ts.addInstall(hdr, tsi, 'u')
|
|
||||||
- elif tsi.action == libdnf.transaction.TransactionItemAction_UPGRADED:
|
|
||||||
- ts.addErase(tsi.pkg.idx)
|
|
||||||
- elif tsi.action == libdnf.transaction.TransactionItemAction_REASON_CHANGE:
|
|
||||||
- pass
|
|
||||||
- else:
|
|
||||||
- raise RuntimeError("TransactionItemAction not handled: %s" % tsi.action)
|
|
||||||
+ try:
|
|
||||||
+ if tsi.action == libdnf.transaction.TransactionItemAction_DOWNGRADE:
|
|
||||||
+ hdr = tsi.pkg._header
|
|
||||||
+ modular_problems += self._test_fail_safe(hdr, tsi.pkg)
|
|
||||||
+ ts.addInstall(hdr, tsi, 'u')
|
|
||||||
+ elif tsi.action == libdnf.transaction.TransactionItemAction_DOWNGRADED:
|
|
||||||
+ ts.addErase(tsi.pkg.idx)
|
|
||||||
+ elif tsi.action == libdnf.transaction.TransactionItemAction_INSTALL:
|
|
||||||
+ hdr = tsi.pkg._header
|
|
||||||
+ modular_problems += self._test_fail_safe(hdr, tsi.pkg)
|
|
||||||
+ ts.addInstall(hdr, tsi, 'i')
|
|
||||||
+ elif tsi.action == libdnf.transaction.TransactionItemAction_OBSOLETE:
|
|
||||||
+ hdr = tsi.pkg._header
|
|
||||||
+ modular_problems += self._test_fail_safe(hdr, tsi.pkg)
|
|
||||||
+ ts.addInstall(hdr, tsi, 'u')
|
|
||||||
+ elif tsi.action == libdnf.transaction.TransactionItemAction_OBSOLETED:
|
|
||||||
+ ts.addErase(tsi.pkg.idx)
|
|
||||||
+ elif tsi.action == libdnf.transaction.TransactionItemAction_REINSTALL:
|
|
||||||
+ # note: in rpm 4.12 there should not be set
|
|
||||||
+ # rpm.RPMPROB_FILTER_REPLACEPKG to work
|
|
||||||
+ hdr = tsi.pkg._header
|
|
||||||
+ modular_problems += self._test_fail_safe(hdr, tsi.pkg)
|
|
||||||
+ ts.addReinstall(hdr, tsi)
|
|
||||||
+ elif tsi.action == libdnf.transaction.TransactionItemAction_REINSTALLED:
|
|
||||||
+ # Required when multiple packages with the same NEVRA marked as installed
|
|
||||||
+ ts.addErase(tsi.pkg.idx)
|
|
||||||
+ elif tsi.action == libdnf.transaction.TransactionItemAction_REMOVE:
|
|
||||||
+ ts.addErase(tsi.pkg.idx)
|
|
||||||
+ elif tsi.action == libdnf.transaction.TransactionItemAction_UPGRADE:
|
|
||||||
+ hdr = tsi.pkg._header
|
|
||||||
+ modular_problems += self._test_fail_safe(hdr, tsi.pkg)
|
|
||||||
+ ts.addInstall(hdr, tsi, 'u')
|
|
||||||
+ elif tsi.action == libdnf.transaction.TransactionItemAction_UPGRADED:
|
|
||||||
+ ts.addErase(tsi.pkg.idx)
|
|
||||||
+ elif tsi.action == libdnf.transaction.TransactionItemAction_REASON_CHANGE:
|
|
||||||
+ pass
|
|
||||||
+ else:
|
|
||||||
+ raise RuntimeError("TransactionItemAction not handled: %s" % tsi.action)
|
|
||||||
+ except rpm.error as e:
|
|
||||||
+ raise dnf.exceptions.Error(_("An rpm exception occurred: %s" % e))
|
|
||||||
if modular_problems:
|
|
||||||
raise dnf.exceptions.Error(_("No available modular metadata for modular package"))
|
|
||||||
|
|
||||||
--
|
|
||||||
2.39.0
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
|||||||
From 23742561dcb168604d9668815a8c1ebbdf516d39 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jan Kolarik <jkolarik@redhat.com>
|
|
||||||
Date: Wed, 23 Nov 2022 08:44:41 +0000
|
|
||||||
Subject: [PATCH 2/2] Ignore processing variable files with unsupported
|
|
||||||
encoding (RhBug:2141215)
|
|
||||||
|
|
||||||
This issue could be seen for example when there are some temporary files stored by text editors in the `/etc/dnf/vars` folder. These files could be in the binary format and causes `UnicodeDecodeError` exception to be thrown during processing of the var files.
|
|
||||||
|
|
||||||
= changelog =
|
|
||||||
type: bugfix
|
|
||||||
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2141215
|
|
||||||
---
|
|
||||||
dnf/conf/substitutions.py | 9 ++++++---
|
|
||||||
1 file changed, 6 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/dnf/conf/substitutions.py b/dnf/conf/substitutions.py
|
|
||||||
index 1281bdf0..4d0f0d55 100644
|
|
||||||
--- a/dnf/conf/substitutions.py
|
|
||||||
+++ b/dnf/conf/substitutions.py
|
|
||||||
@@ -18,13 +18,15 @@
|
|
||||||
# Red Hat, Inc.
|
|
||||||
#
|
|
||||||
|
|
||||||
+import logging
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
|
|
||||||
-import dnf
|
|
||||||
-import dnf.exceptions
|
|
||||||
+from dnf.i18n import _
|
|
||||||
|
|
||||||
ENVIRONMENT_VARS_RE = re.compile(r'^DNF_VAR_[A-Za-z0-9_]+$')
|
|
||||||
+logger = logging.getLogger('dnf')
|
|
||||||
+
|
|
||||||
|
|
||||||
class Substitutions(dict):
|
|
||||||
# :api
|
|
||||||
@@ -60,7 +62,8 @@ class Substitutions(dict):
|
|
||||||
val = fp.readline()
|
|
||||||
if val and val[-1] == '\n':
|
|
||||||
val = val[:-1]
|
|
||||||
- except (OSError, IOError):
|
|
||||||
+ except (OSError, IOError, UnicodeDecodeError) as e:
|
|
||||||
+ logger.warning(_("Error when parsing a variable from file '{0}': {1}").format(filepath, e))
|
|
||||||
continue
|
|
||||||
if val is not None:
|
|
||||||
self[fsvar] = val
|
|
||||||
--
|
|
||||||
2.39.0
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -1,45 +0,0 @@
|
|||||||
From 33c354ed52be8f8fa2d43aff8ba1fe1540e1744c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Kyle Walker <kwalker@redhat.com>
|
|
||||||
Date: Tue, 20 Dec 2022 08:42:03 -0500
|
|
||||||
Subject: [PATCH] Omit src RPMs from check-update (RhBug: 2151910)
|
|
||||||
|
|
||||||
The current check-update operation relies on src RPMs not being included
|
|
||||||
in the available repos. When those repos are enabled, *.src RPMs can be
|
|
||||||
emitted as updates that are available. Those RPMs are not updated in the
|
|
||||||
traditional fashion and can cause confusion to end users.
|
|
||||||
|
|
||||||
This change unconditionally filters out src packages in the
|
|
||||||
_list_patterns() callpath.
|
|
||||||
|
|
||||||
= changelog =
|
|
||||||
type: bugfix
|
|
||||||
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2151910
|
|
||||||
---
|
|
||||||
dnf/base.py | 4 ++++
|
|
||||||
1 file changed, 4 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/dnf/base.py b/dnf/base.py
|
|
||||||
index aba411e..8c19276 100644
|
|
||||||
--- a/dnf/base.py
|
|
||||||
+++ b/dnf/base.py
|
|
||||||
@@ -1519,6 +1519,8 @@ class Base(object):
|
|
||||||
updates = query_for_repo(q).filterm(upgrades_by_priority=True)
|
|
||||||
# reduce a query to security upgrades if they are specified
|
|
||||||
updates = self._merge_update_filters(updates, upgrade=True)
|
|
||||||
+ # reduce a query to remove src RPMs
|
|
||||||
+ updates.filterm(arch__neq=['src', 'nosrc'])
|
|
||||||
# reduce a query to latest packages
|
|
||||||
updates = updates.latest().run()
|
|
||||||
|
|
||||||
@@ -1571,6 +1573,8 @@ class Base(object):
|
|
||||||
self.sack.query()).filter(obsoletes_by_priority=inst)
|
|
||||||
# reduce a query to security upgrades if they are specified
|
|
||||||
obsoletes = self._merge_update_filters(obsoletes, warning=False, upgrade=True)
|
|
||||||
+ # reduce a query to remove src RPMs
|
|
||||||
+ obsoletes.filterm(arch__neq=['src', 'nosrc'])
|
|
||||||
obsoletesTuples = []
|
|
||||||
for new in obsoletes:
|
|
||||||
obsoleted_reldeps = new.obsoletes
|
|
||||||
--
|
|
||||||
libgit2 1.3.2
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
|||||||
From 2658062d4c176201d0decf03929a89b44761c072 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Marek Blaha <mblaha@redhat.com>
|
|
||||||
Date: Mon, 3 Apr 2023 12:19:40 +0200
|
|
||||||
Subject: [PATCH] Backport: automatic: Fix online detection with proxy (RhBz:2022440)
|
|
||||||
|
|
||||||
In case the proxy is configured (either for a repo of globally) it is
|
|
||||||
used also for detecting whether the system is online.
|
|
||||||
|
|
||||||
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2022440
|
|
||||||
---
|
|
||||||
dnf/automatic/main.py | 20 ++++++++++++++------
|
|
||||||
1 file changed, 14 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/dnf/automatic/main.py b/dnf/automatic/main.py
|
|
||||||
index b53d9c0..93ce13c 100644
|
|
||||||
--- a/dnf/automatic/main.py
|
|
||||||
+++ b/dnf/automatic/main.py
|
|
||||||
@@ -251,21 +251,29 @@ def wait_for_network(repos, timeout):
|
|
||||||
'http': 80,
|
|
||||||
'https': 443,
|
|
||||||
'ftp': 21,
|
|
||||||
+ 'socks': 1080,
|
|
||||||
+ 'socks5': 1080,
|
|
||||||
}
|
|
||||||
|
|
||||||
def remote_address(url_list):
|
|
||||||
for url in url_list:
|
|
||||||
parsed_url = dnf.pycomp.urlparse.urlparse(url)
|
|
||||||
- if parsed_url.hostname and parsed_url.scheme in remote_schemes:
|
|
||||||
- yield (parsed_url.hostname,
|
|
||||||
- parsed_url.port or remote_schemes[parsed_url.scheme])
|
|
||||||
+ if (not parsed_url.hostname) \
|
|
||||||
+ or (not parsed_url.port and parsed_url.scheme not in remote_schemes):
|
|
||||||
+ # skip urls without hostname or without recognized port
|
|
||||||
+ continue
|
|
||||||
+ yield (parsed_url.hostname,
|
|
||||||
+ parsed_url.port or remote_schemes[parsed_url.scheme])
|
|
||||||
|
|
||||||
# collect possible remote repositories urls
|
|
||||||
addresses = set()
|
|
||||||
for repo in repos.iter_enabled():
|
|
||||||
- addresses.update(remote_address(repo.baseurl))
|
|
||||||
- addresses.update(remote_address([repo.mirrorlist]))
|
|
||||||
- addresses.update(remote_address([repo.metalink]))
|
|
||||||
+ if repo.proxy:
|
|
||||||
+ addresses.update(remote_address([repo.proxy]))
|
|
||||||
+ else:
|
|
||||||
+ addresses.update(remote_address(repo.baseurl))
|
|
||||||
+ addresses.update(remote_address([repo.mirrorlist]))
|
|
||||||
+ addresses.update(remote_address([repo.metalink]))
|
|
||||||
|
|
||||||
if not addresses:
|
|
||||||
# there is no remote repository enabled so network connection should not be needed
|
|
||||||
--
|
|
||||||
libgit2 1.3.2
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
|||||||
From 46aeabda1980621ca0f87528e0a81b4f59d886f0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jan Kolarik <jkolarik@redhat.com>
|
|
||||||
Date: Thu, 20 Apr 2023 10:10:14 +0000
|
|
||||||
Subject: [PATCH] automatic: Return an error when transaction fails
|
|
||||||
(RhBug:2170093)
|
|
||||||
|
|
||||||
In case of no global error occurred within the transaction, we still need to check state of individual transaction items for any failure.
|
|
||||||
|
|
||||||
This is matching the logic in `BaseCli.do_transaction` method, where the error is emitted after printing the transaction summary.
|
|
||||||
|
|
||||||
= changelog =
|
|
||||||
msg: automatic: Return an error when transaction fails
|
|
||||||
type: bugfix
|
|
||||||
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2170093
|
|
||||||
---
|
|
||||||
dnf/automatic/main.py | 7 +++++++
|
|
||||||
1 file changed, 7 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/dnf/automatic/main.py b/dnf/automatic/main.py
|
|
||||||
index 93ce13cc..ccd9ab64 100644
|
|
||||||
--- a/dnf/automatic/main.py
|
|
||||||
+++ b/dnf/automatic/main.py
|
|
||||||
@@ -346,6 +346,13 @@ def main(args):
|
|
||||||
|
|
||||||
gpgsigcheck(base, trans.install_set)
|
|
||||||
base.do_transaction()
|
|
||||||
+
|
|
||||||
+ # In case of no global error occurred within the transaction,
|
|
||||||
+ # we need to check state of individual transaction items.
|
|
||||||
+ for tsi in trans:
|
|
||||||
+ if tsi.state == libdnf.transaction.TransactionItemState_ERROR:
|
|
||||||
+ raise dnf.exceptions.Error(_('Transaction failed'))
|
|
||||||
+
|
|
||||||
emitters.notify_applied()
|
|
||||||
emitters.commit()
|
|
||||||
except dnf.exceptions.Error as exc:
|
|
||||||
--
|
|
||||||
2.40.1
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
|||||||
From a74209ff53c9a51293b45434196dff49002c5691 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Evan Goode <mail@evangoo.de>
|
|
||||||
Date: Tue, 30 May 2023 20:48:54 +0000
|
|
||||||
Subject: [PATCH] Document symbols in `dnf history list` output
|
|
||||||
|
|
||||||
This patch adds documentation for the symbols shown in the "Action(s)"
|
|
||||||
and "Altered" columns of `dnf history list`
|
|
||||||
|
|
||||||
The "Action(s)" column abbreviates the names of transaction actions when
|
|
||||||
there was more than one action, e.g. a transaction that both installs
|
|
||||||
and upgrades packages would be displayed as "I, U".
|
|
||||||
|
|
||||||
The "Altered" column prints some extra symbols when something unusual
|
|
||||||
happened with the transaction, like if any warnings were printed or if
|
|
||||||
it completed with a non-zero status.
|
|
||||||
|
|
||||||
Some language was taken from the yum man pages:
|
|
||||||
https://github.com/rpm-software-management/yum/blob/master/docs/yum.8.
|
|
||||||
It appears we no longer use the "P" or "s" symbols.
|
|
||||||
|
|
||||||
Resolves https://bugzilla.redhat.com/show_bug.cgi?id=2172067
|
|
||||||
(RhBug:2172067)
|
|
||||||
|
|
||||||
= changelog =
|
|
||||||
msg: Document the symbols in the output of `dnf history list`
|
|
||||||
type: bugfix
|
|
||||||
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2172067
|
|
||||||
---
|
|
||||||
doc/command_ref.rst | 18 ++++++++++++++++++
|
|
||||||
1 file changed, 18 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/doc/command_ref.rst b/doc/command_ref.rst
|
|
||||||
index 7279b3a4..f8149e86 100644
|
|
||||||
--- a/doc/command_ref.rst
|
|
||||||
+++ b/doc/command_ref.rst
|
|
||||||
@@ -701,6 +701,24 @@ transactions and act according to this information (assuming the
|
|
||||||
which specifies a transaction by a package which it manipulated. When no
|
|
||||||
transaction is specified, list all known transactions.
|
|
||||||
|
|
||||||
+ The "Action(s)" column lists each type of action taken in the transaction. The possible values are:
|
|
||||||
+
|
|
||||||
+ * Install (I): a new package was installed on the system
|
|
||||||
+ * Downgrade (D): an older version of a package replaced the previously-installed version
|
|
||||||
+ * Obsolete (O): an obsolete package was replaced by a new package
|
|
||||||
+ * Upgrade (U): a newer version of the package replaced the previously-installed version
|
|
||||||
+ * Remove (E): a package was removed from the system
|
|
||||||
+ * Reinstall (R): a package was reinstalled with the same version
|
|
||||||
+ * Reason change (C): a package was kept in the system but its reason for being installed changed
|
|
||||||
+
|
|
||||||
+ The "Altered" column lists the number of actions taken in each transaction, possibly followed by one or two the following symbols:
|
|
||||||
+
|
|
||||||
+ * ``>``: The RPM database was changed, outside DNF, after the transaction
|
|
||||||
+ * ``<``: The RPM database was changed, outside DNF, before the transaction
|
|
||||||
+ * ``*``: The transaction aborted before completion
|
|
||||||
+ * ``#``: The transaction completed, but with a non-zero status
|
|
||||||
+ * ``E``: The transaction completed successfully, but had warning/error output
|
|
||||||
+
|
|
||||||
``--reverse``
|
|
||||||
The order of ``history list`` output is printed in reverse order.
|
|
||||||
|
|
||||||
--
|
|
||||||
2.40.1
|
|
||||||
|
|
@ -1,85 +0,0 @@
|
|||||||
From 29f4df4bf7bf7cb9099dbc7c834441ce4e75b623 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Miro Hrončok <miro@hroncok.cz>
|
|
||||||
Date: Wed, 23 Feb 2022 13:25:12 +0100
|
|
||||||
Subject: [PATCH] RHEL-1245: Remove /usr/bin from sys.path to avoid accidentally importing garbage
|
|
||||||
|
|
||||||
See https://bugzilla.redhat.com/show_bug.cgi?id=2057340
|
|
||||||
and https://github.com/benjaminp/six/issues/359
|
|
||||||
|
|
||||||
dnf should never import Python modules from /usr/bin but users can
|
|
||||||
have files in there that look like Python modules and Python will
|
|
||||||
try to import them and fail.
|
|
||||||
|
|
||||||
Consider a tool that is *not* written in Python and is called "copy.pyc".
|
|
||||||
Naturally, it resides in /usr/bin/copy.pyc and dnf fails:
|
|
||||||
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/bin/dnf", line 57, in <module>
|
|
||||||
from dnf.cli import main
|
|
||||||
File "/usr/lib/python3.10/site-packages/dnf/__init__.py", line 30, in <module>
|
|
||||||
import dnf.base
|
|
||||||
File "/usr/lib/python3.10/site-packages/dnf/base.py", line 31, in <module>
|
|
||||||
from copy import deepcopy
|
|
||||||
ImportError: bad magic number in 'copy': b'...'
|
|
||||||
|
|
||||||
Similarly, a tool actually written in Python, called "copy.py"
|
|
||||||
might as well own /usr/bin/copy.py and dnf fails as well:
|
|
||||||
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/bin/dnf", line 57, in <module>
|
|
||||||
from dnf.cli import main
|
|
||||||
File "/usr/lib/python3.10/site-packages/dnf/__init__.py", line 30, in <module>
|
|
||||||
import dnf.base
|
|
||||||
File "/usr/lib/python3.10/site-packages/dnf/base.py", line 31, in <module>
|
|
||||||
from copy import deepcopy
|
|
||||||
ImportError: cannot import name 'deepcopy' from 'copy' (/usr/bin/copy.py)
|
|
||||||
|
|
||||||
Either problem can happen for a variety of names.
|
|
||||||
We better not let that happen.
|
|
||||||
|
|
||||||
A more general solution that would prevent Python doing this entirely
|
|
||||||
does not exists yet, see https://discuss.python.org/t/4235
|
|
||||||
|
|
||||||
Hence, proposing this to dnf, which is a critical piece of the system.
|
|
||||||
---
|
|
||||||
bin/dnf-automatic.in | 6 +++++-
|
|
||||||
bin/dnf.in | 6 +++++-
|
|
||||||
2 files changed, 10 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/bin/dnf-automatic.in b/bin/dnf-automatic.in
|
|
||||||
index 5b06aa2..17e35a0 100755
|
|
||||||
--- a/bin/dnf-automatic.in
|
|
||||||
+++ b/bin/dnf-automatic.in
|
|
||||||
@@ -23,7 +23,11 @@ import os
|
|
||||||
import sys
|
|
||||||
|
|
||||||
here = sys.path[0]
|
|
||||||
-if here != '/usr/bin':
|
|
||||||
+if here == '/usr/bin':
|
|
||||||
+ # we never import Python modules from /usr/bin
|
|
||||||
+ # removing this lowers the risk of accidental imports of weird files
|
|
||||||
+ del sys.path[0]
|
|
||||||
+else:
|
|
||||||
# git checkout
|
|
||||||
dnf_toplevel = os.path.dirname(here)
|
|
||||||
sys.path[0] = dnf_toplevel
|
|
||||||
diff --git a/bin/dnf.in b/bin/dnf.in
|
|
||||||
index 645d0f0..55ceb3f 100755
|
|
||||||
--- a/bin/dnf.in
|
|
||||||
+++ b/bin/dnf.in
|
|
||||||
@@ -48,7 +48,11 @@ if __name__ != "__main__":
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
here = sys.path[0]
|
|
||||||
-if here != '/usr/bin':
|
|
||||||
+if here == '/usr/bin':
|
|
||||||
+ # we never import Python modules from /usr/bin
|
|
||||||
+ # removing this lowers the risk of accidental imports of weird files
|
|
||||||
+ del sys.path[0]
|
|
||||||
+else:
|
|
||||||
# git checkout
|
|
||||||
import os
|
|
||||||
dnf_toplevel = os.path.dirname(here)
|
|
||||||
--
|
|
||||||
libgit2 1.6.4
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -1,53 +0,0 @@
|
|||||||
From 8bc3b7a217de41c0a9bc52cd9cac50cde9e9ee65 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Anish Bhatt <anish.bhatt@salesforce.com>
|
|
||||||
Date: Mon, 10 Jul 2023 10:09:17 -0700
|
|
||||||
Subject: [PATCH] When parsing over a KVP list, do not return till the whole
|
|
||||||
list is parsed
|
|
||||||
|
|
||||||
---
|
|
||||||
dnf/repodict.py | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/dnf/repodict.py b/dnf/repodict.py
|
|
||||||
index ffa0f8ed..82c05ac0 100644
|
|
||||||
--- a/dnf/repodict.py
|
|
||||||
+++ b/dnf/repodict.py
|
|
||||||
@@ -79,8 +79,8 @@ class RepoDict(dict):
|
|
||||||
if isinstance(value, str):
|
|
||||||
substituted.append(
|
|
||||||
libdnf.conf.ConfigParser.substitute(value, conf.substitutions))
|
|
||||||
- if substituted:
|
|
||||||
- return substituted
|
|
||||||
+ if substituted:
|
|
||||||
+ return substituted
|
|
||||||
return values
|
|
||||||
|
|
||||||
repo = dnf.repo.Repo(repoid, conf)
|
|
||||||
--
|
|
||||||
2.41.0
|
|
||||||
|
|
||||||
|
|
||||||
From 89c6f3633f55acd31d44a487ce76dd89c12d795c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Anish Bhatt <anish.bhatt@salesforce.com>
|
|
||||||
Date: Mon, 10 Jul 2023 10:10:30 -0700
|
|
||||||
Subject: [PATCH] Add to authors
|
|
||||||
|
|
||||||
---
|
|
||||||
AUTHORS | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/AUTHORS b/AUTHORS
|
|
||||||
index 0077c7ea..eb1e0121 100644
|
|
||||||
--- a/AUTHORS
|
|
||||||
+++ b/AUTHORS
|
|
||||||
@@ -63,6 +63,7 @@ DNF CONTRIBUTORS
|
|
||||||
Adam Williamson <awilliam@redhat.com>
|
|
||||||
Albert Uchytil <auchytil@redhat.com>
|
|
||||||
Alberto Ruiz <aruiz@redhat.com>
|
|
||||||
+ Anish Bhatt <anish.bhatt@salesforce.com>
|
|
||||||
Baurzhan Muftakhidinov <baurthefirst@gmail.com>
|
|
||||||
Christopher Meng <cickumqt@gmail.com>
|
|
||||||
Daniel Mach <dmach@redhat.com>
|
|
||||||
--
|
|
||||||
2.41.0
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
|||||||
diff -aruN dnf-4.7.0/dnf/const.py.in dnf-4.7.0_alma/dnf/const.py.in
|
|
||||||
--- dnf-4.7.0/dnf/const.py.in 2021-04-12 18:26:33.000000000 +0300
|
|
||||||
+++ dnf-4.7.0_alma/dnf/const.py.in 2021-12-30 10:30:33.806575400 +0300
|
|
||||||
@@ -55,4 +55,4 @@
|
|
||||||
USER_AGENT = "dnf/%s" % VERSION
|
|
||||||
|
|
||||||
BUGTRACKER_COMPONENT=NAME.lower()
|
|
||||||
-BUGTRACKER='https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%s' % BUGTRACKER_COMPONENT
|
|
||||||
+BUGTRACKER='https://bugs.almalinux.org/'
|
|
||||||
diff -aruN dnf-4.7.0/doc/conf.py.in dnf-4.7.0_alma/doc/conf.py.in
|
|
||||||
--- dnf-4.7.0/doc/conf.py.in 2021-04-12 18:26:33.000000000 +0300
|
|
||||||
+++ dnf-4.7.0_alma/doc/conf.py.in 2021-12-30 10:34:07.810855800 +0300
|
|
||||||
@@ -267,5 +267,5 @@
|
|
||||||
.. _DNF: https://github.com/rpm-software-management/dnf/
|
|
||||||
.. _hawkey: http://rpm-software-management.github.io/hawkey/
|
|
||||||
.. _YUM: http://yum.baseurl.org/
|
|
||||||
-.. _bugzilla: https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=dnf
|
|
||||||
+.. _bugzilla: https://bugs.almalinux.org/
|
|
||||||
"""
|
|
||||||
diff -aruN dnf-4.7.0/tests/test_config.py dnf-4.7.0_alma/tests/test_config.py
|
|
||||||
--- dnf-4.7.0/tests/test_config.py 2021-04-12 18:26:33.000000000 +0300
|
|
||||||
+++ dnf-4.7.0_alma/tests/test_config.py 2021-12-30 10:33:24.147815500 +0300
|
|
||||||
@@ -55,8 +55,7 @@
|
|
||||||
def test_bugtracker(self):
|
|
||||||
conf = Conf()
|
|
||||||
self.assertEqual(conf.bugtracker_url,
|
|
||||||
- "https://bugzilla.redhat.com/enter_bug.cgi" +
|
|
||||||
- "?product=Fedora&component=dnf")
|
|
||||||
+ "https://bugs.almalinux.org/")
|
|
||||||
|
|
||||||
def test_conf_from_file(self):
|
|
||||||
conf = Conf()
|
|
@ -66,7 +66,7 @@ It supports RPMs, modules and comps groups & environments.
|
|||||||
|
|
||||||
Name: dnf
|
Name: dnf
|
||||||
Version: 4.7.0
|
Version: 4.7.0
|
||||||
Release: 20%{?dist}.alma
|
Release: 13%{?dist}
|
||||||
Summary: %{pkg_summary}
|
Summary: %{pkg_summary}
|
||||||
# For a breakdown of the licensing, see PACKAGE-LICENSING
|
# For a breakdown of the licensing, see PACKAGE-LICENSING
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -112,22 +112,8 @@ Patch0033: 0033-Allow-passing-plugin-parameters-with-dashes-in-names.patch
|
|||||||
Patch0034: 0034-Fix-plugins-unit-tests-unload-plugins-upon-their-del.patch
|
Patch0034: 0034-Fix-plugins-unit-tests-unload-plugins-upon-their-del.patch
|
||||||
Patch0035: 0035-Move-system-upgrade-plugin-to-core-RhBug-2054235.patch
|
Patch0035: 0035-Move-system-upgrade-plugin-to-core-RhBug-2054235.patch
|
||||||
Patch0036: 0036-Add-support-for-rollback-of-group-upgrade-rollback-R.patch
|
Patch0036: 0036-Add-support-for-rollback-of-group-upgrade-rollback-R.patch
|
||||||
Patch0037: 0037-Document-changes-to-offline-upgrade-command.patch
|
|
||||||
Patch0038: 0038-Better-explain-traceback-of-rpm.error-with-dnf.patch
|
|
||||||
Patch0039: 0039-Ignore-processing-variable-files-with-unsupported-en.patch
|
|
||||||
Patch0040: 0040-Update-translations.patch
|
|
||||||
Patch0041: 0041-Omit-src-RPMs-from-check-update-RhBug-2151910.patch
|
|
||||||
Patch0042: 0042-Backport-automatic-Fix-onl-detect-proxy-RhBz2022440.patch
|
|
||||||
Patch0043: 0043-automatic-Return-an-error-when-transaction-fails-RhB.patch
|
|
||||||
Patch0044: 0044-Document-symbols-in-dnf-history-list-output.patch
|
|
||||||
Patch0045: 0045-RHEL-1245-Remove-usrbin-from-syspath-noimpor-garbage.patch
|
|
||||||
Patch0046: 0046-RHEL-6393-Fix-japanese-translations.patch
|
|
||||||
Patch0047: 0047-RHEL-11786-Fix-substitution-in-kvp-in-add_new_repo.patch
|
|
||||||
|
|
||||||
|
|
||||||
#Almalinux patches
|
|
||||||
Patch10000: almalinux_bugtracker.patch
|
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: gettext
|
BuildRequires: gettext
|
||||||
@ -426,32 +412,7 @@ popd
|
|||||||
%{python3_sitelib}/%{name}/automatic/
|
%{python3_sitelib}/%{name}/automatic/
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Wed Mar 27 2024 Eduard Abdullin <eabdullin@almalinux.org> - 4.7.0-20.alma
|
* Wed Oct 26 2022 Nicola Sella <nsella@redhat.com> - 4.7.0.13
|
||||||
- AlmaLinux changes
|
|
||||||
|
|
||||||
* Mon Oct 16 2023 Jaroslav Rohel <jrohel@redhat.com> - 4.7.0-20
|
|
||||||
- Remove /usr/bin from sys.path to avoid accidentally importing garbage (RHEL-1245)
|
|
||||||
- Fix japanese translations (RHEL-6393)
|
|
||||||
- Fix substitution in kay-value-pair list in add_new_repo (RHEL-11786)
|
|
||||||
* Wed Jun 28 2023 Jaroslav Rohel <jrohel@redhat.com> - 4.7.0-19
|
|
||||||
- Document symbols in `dnf history list` output (RhBug:2172067)
|
|
||||||
* Wed May 31 2023 Nicola Sella <nsella@redhat.com> - 4.7.0-18
|
|
||||||
- Return an error when transaction fails (RhBug:2170093)
|
|
||||||
|
|
||||||
* Wed May 17 2023 Jaroslav Rohel <jrohel@redhat.com> - 4.7.0-17
|
|
||||||
- Omit src RPMs from check-update (RhBug:2151910,2203069)
|
|
||||||
- automatic: Fix online detection with proxy (RhBug:2022440,2189851)
|
|
||||||
|
|
||||||
* Wed Mar 08 2023 Marek Blaha <mblaha@redhat.com> - 4.7.0-16
|
|
||||||
- Update translations
|
|
||||||
|
|
||||||
* Thu Jan 05 2023 Nicola Sella <nsella@redhat.com> - 4.7.0-15
|
|
||||||
- Ignore processing variable files with unsupported encoding (RhBug:2141215)
|
|
||||||
- Better explain traceback of rpm.error with dnf
|
|
||||||
* Wed Nov 30 2022 Nicola Sella <nsella@redhat.com> - 4.7.0-14
|
|
||||||
- Document changes to offline-upgrade command (RhBug:1939975,2139324)
|
|
||||||
|
|
||||||
* Wed Oct 26 2022 Nicola Sella <nsella@redhat.com> - 4.7.0-13
|
|
||||||
- Add support for rollback of group upgrade rollback (RhBug:2016070)
|
- Add support for rollback of group upgrade rollback (RhBug:2016070)
|
||||||
- Move system-upgrade plugin to core (RhBug:2054235)
|
- Move system-upgrade plugin to core (RhBug:2054235)
|
||||||
- Fix plugins unit tests + unload plugins upon their deletion (RhBug:2134309)
|
- Fix plugins unit tests + unload plugins upon their deletion (RhBug:2134309)
|
||||||
|
Loading…
Reference in New Issue
Block a user