import dnf-plugins-core-4.1.0-2.el9

This commit is contained in:
CentOS Sources 2022-09-27 10:37:51 -04:00 committed by Stepan Oksanichenko
parent 212333a1ae
commit e8dcde3da3
9 changed files with 71 additions and 3633 deletions

View File

@ -1 +1 @@
2f6868d968f9c1613c5ede8ceeae30641e74d545 SOURCES/dnf-plugins-core-4.0.24.tar.gz 22fcfa23b92ea8052ba2eb14ef9264e61c4b7d8b SOURCES/dnf-plugins-core-4.1.0.tar.gz

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/dnf-plugins-core-4.0.24.tar.gz SOURCES/dnf-plugins-core-4.1.0.tar.gz

View File

@ -0,0 +1,37 @@
From 579ef1bb577807090a114378219a812ec26b724a Mon Sep 17 00:00:00 2001
From: Carl George <carl@george.computer>
Date: Mon, 27 Jun 2022 23:12:05 -0500
Subject: [PATCH] copr: Guess EPEL chroots for CentOS Stream (RhBug:2058471)
Packages built in epel-9 chroots are almost always compatible with
CentOS Stream 9. Not having the copr plugin guess this chroot is
causing user friction. Users are creating epel-9 chroots expecting them
to work for both CentOS Stream 9 and RHEL 9. When they get reports
about `dnf copr enable` not working, they try to add a centos-stream-9
chroot, only to discover the dependencies they need from EPEL are not
available.
Instead of making the majority of CentOS Stream users include an
explicit chroot argument, let's reserve that workaround only for the
people that don't want their CentOS Stream systems picking the EPEL
chroot.
---
plugins/copr.py | 2 --
1 file changed, 2 deletions(-)
diff --git a/plugins/copr.py b/plugins/copr.py
index 297210b..16946b7 100644
--- a/plugins/copr.py
+++ b/plugins/copr.py
@@ -469,8 +469,6 @@ Bugzilla. In case of problems, contact the owner of this repository.
chroot = ("opensuse-tumbleweed-{}".format(distarch))
else:
chroot = ("opensuse-leap-{0}-{1}".format(dist[1], distarch))
- elif "CentOS Stream" in dist:
- chroot = ("centos-stream-{0}-{1}".format(dist[1], distarch))
else:
chroot = ("epel-%s-x86_64" % dist[1].split(".", 1)[0])
return chroot
--
2.36.1

View File

@ -1,31 +0,0 @@
From 24668777a7624a8ee3c6f53aff8f4d6675019d23 Mon Sep 17 00:00:00 2001
From: Marek Blaha <mblaha@redhat.com>
Date: Mon, 8 Nov 2021 16:51:56 +0100
Subject: [PATCH] groups-manager: More benevolent resolving of packages (RhBug:2013633)
= changelog =
msg: groups-manager uses for matching packages full NEVRA and not only name.
type: enhancement
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2013633
---
plugins/groups_manager.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/plugins/groups_manager.py b/plugins/groups_manager.py
index 382df37..12da183 100644
--- a/plugins/groups_manager.py
+++ b/plugins/groups_manager.py
@@ -254,7 +254,9 @@ class GroupsManagerCommand(dnf.cli.Command):
# find packages according to specifications from command line
packages = set()
for pkg_spec in self.opts.packages:
- q = self.base.sack.query().filterm(name__glob=pkg_spec).latest()
+ subj = dnf.subject.Subject(pkg_spec)
+ q = subj.get_best_query(self.base.sack, with_nevra=True,
+ with_provides=False, with_filenames=False).latest()
if not q:
logger.warning(_("No match for argument: {}").format(pkg_spec))
continue
--
libgit2 1.1.0

View File

@ -1,95 +0,0 @@
From e289904dcd9c93ad8e1c3b01878599e9d65fa2cc Mon Sep 17 00:00:00 2001
From: Nicola Sella <nsella@redhat.com>
Date: Mon, 1 Nov 2021 18:29:40 +0100
Subject: [PATCH] [versionlock] fix multi pkg lock (RhBug:2013324)
= changelog =
msg: [versionlock] Fix: Multiple package-name-spec arguments don't lock
correctly (RhBug:2001039)
type: bugfix
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2013324
---
plugins/versionlock.py | 57 +++++++++++++++++++++++++++++++++------------------------
1 file changed, 33 insertions(+), 24 deletions(-)
diff --git a/plugins/versionlock.py b/plugins/versionlock.py
index 19fbd8c..32c51da 100644
--- a/plugins/versionlock.py
+++ b/plugins/versionlock.py
@@ -171,25 +171,27 @@ class VersionLockCommand(dnf.cli.Command):
cmd = self.opts.subcommand
if cmd == 'add':
- (entry, entry_cmd) = _search_locklist(self.opts.package)
- if entry == '':
- _write_locklist(self.base, self.opts.package, self.opts.raw, True,
- "\n# Added lock on %s\n" % time.ctime(),
- ADDING_SPEC, '')
- elif cmd != entry_cmd:
- raise dnf.exceptions.Error(ALREADY_EXCLUDED.format(entry))
- else:
- logger.info("%s %s", EXISTING_SPEC, entry)
+ results = _search_locklist(self.opts.package)
+ for entry, entry_cmd in results:
+ if entry_cmd == '':
+ _write_locklist(self.base, [entry], self.opts.raw, True,
+ "\n# Added lock on %s\n" % time.ctime(),
+ ADDING_SPEC, '')
+ elif cmd != entry_cmd:
+ raise dnf.exceptions.Error(ALREADY_EXCLUDED.format(entry))
+ else:
+ logger.info("%s %s", EXISTING_SPEC, entry)
elif cmd == 'exclude':
- (entry, entry_cmd) = _search_locklist(self.opts.package)
- if entry == '':
- _write_locklist(self.base, self.opts.package, self.opts.raw, False,
- "\n# Added exclude on %s\n" % time.ctime(),
- EXCLUDING_SPEC, '!')
- elif cmd != entry_cmd:
- raise dnf.exceptions.Error(ALREADY_LOCKED.format(entry))
- else:
- logger.info("%s %s", EXISTING_SPEC, entry)
+ results = _search_locklist(self.opts.package)
+ for entry, entry_cmd in results:
+ if entry_cmd == '':
+ _write_locklist(self.base, [entry], self.opts.raw, False,
+ "\n# Added exclude on %s\n" % time.ctime(),
+ EXCLUDING_SPEC, '!')
+ elif cmd != entry_cmd:
+ raise dnf.exceptions.Error(ALREADY_LOCKED.format(entry))
+ else:
+ logger.info("%s %s", EXISTING_SPEC, entry)
elif cmd == 'list':
for pat in _read_locklist():
print(pat)
@@ -237,14 +239,21 @@ def _read_locklist():
def _search_locklist(package):
+ results = []
found = action = ''
locked_specs = _read_locklist()
- for ent in locked_specs:
- if _match(ent, package):
- found = ent
- action = 'exclude' if ent.startswith('!') else 'add'
- break
- return (found, action)
+ for pkg in package:
+ match = False
+ for ent in locked_specs:
+ found = action = ''
+ if _match(ent, [pkg]):
+ found = ent
+ action = 'exclude' if ent.startswith('!') else 'add'
+ results.append((found, action))
+ match = True
+ if not match:
+ results.append((pkg, action))
+ return results
def _write_locklist(base, args, raw, try_installed, comment, info, prefix):
--
libgit2 1.1.0

View File

@ -1,31 +0,0 @@
From 2c5c1a00fde93b25ffaaa9ad5eea6f0d5712efe4 Mon Sep 17 00:00:00 2001
From: Nicola Sella <nsella@redhat.com>
Date: Thu, 11 Nov 2021 13:48:39 +0100
Subject: [PATCH] Update documentation for adding specific version (RhBug:2013332)
=changelog=
msg: [versionlock] update documentation for adding specifi version
type: bugfix
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2013332
---
doc/versionlock.rst | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/doc/versionlock.rst b/doc/versionlock.rst
index 061ce80..1ac7196 100644
--- a/doc/versionlock.rst
+++ b/doc/versionlock.rst
@@ -97,6 +97,10 @@ Subcommands
Adding versionlock on: mutt-5:1.11.4-1.fc30.*
Adding versionlock on: mutt-5:1.12.1-3.fc30.*
+ .. note:: Be careful when adding specific versions
+
+ If you add a package specifying a version with ``dnf versionlock mutt-5:1.11.4-1.fc30.x86_64`` then, if you run ``dnf versionlock add mutt``
+ versionlock will not add ``mutt-5:1.12.1-3.fc30.x86_64``.
``dnf versionlock exclude <package-name-spec>``
Add an exclude (within versionlock) for the available packages matching the spec. It means that
--
libgit2 1.1.0

View File

@ -1,33 +0,0 @@
From 66bac802e84fcf97dbe32690c33c420cb8f16891 Mon Sep 17 00:00:00 2001
From: Jaroslav Rohel <jrohel@redhat.com>
Date: Fri, 4 Feb 2022 10:28:59 +0100
Subject: [PATCH] plugin debug: Use base._ts.dbCookie() to determining rpmdb
version
The debug plugin used `base.sack._rpmdb_version()` method. Which is
actually the private method `hawkey.Sack._rpmdb_version()` from libdnf.
The patch uses the `base._ts.dbCookie()` method. This method was added
to DNF 4.11.0. And internally it calls the new official API function
`rpm.TransactionSet.dbCookie()` from librpm. This is a necessary step
to allow the `._rpmdb_version()` method to be removed from libdnf.
---
plugins/debug.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/debug.py b/plugins/debug.py
index ad136a9..c443f71 100644
--- a/plugins/debug.py
+++ b/plugins/debug.py
@@ -161,7 +161,7 @@ class DebugDumpCommand(dnf.cli.Command):
def dump_rpmdb_versions(self):
self.write("%%%%RPMDB VERSIONS\n")
- version = self.base.sack._rpmdb_version()
+ version = self.base._ts.dbCookie()
self.write(" all: %s\n" % version)
return
--
2.34.1

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
%{?!dnf_lowest_compatible: %global dnf_lowest_compatible 4.10.0-4} %{?!dnf_lowest_compatible: %global dnf_lowest_compatible 4.11.0}
%global dnf_plugins_extra 2.0.0 %global dnf_plugins_extra 2.0.0
%global hawkey_version 0.46.1 %global hawkey_version 0.64.0
%global yum_utils_subpackage_name dnf-utils %global yum_utils_subpackage_name dnf-utils
%if 0%{?rhel} > 7 %if 0%{?rhel} > 7
%global yum_utils_subpackage_name yum-utils %global yum_utils_subpackage_name yum-utils
@ -33,17 +33,13 @@
%endif %endif
Name: dnf-plugins-core Name: dnf-plugins-core
Version: 4.0.24 Version: 4.1.0
Release: 4%{?dist} Release: 2%{?dist}
Summary: Core Plugins for DNF Summary: Core Plugins for DNF
License: GPLv2+ License: GPLv2+
URL: https://github.com/rpm-software-management/dnf-plugins-core URL: https://github.com/rpm-software-management/dnf-plugins-core
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
Patch1: 0001-groups-manager-More-benevolent-resolving-of-packages-RhBug2013633.patch Patch1: 0001-copr-Guess-EPEL-chroots-for-CentOS-Stream-RhBug-2058.patch
Patch2: 0002-versionlock-fix-multi-pkg-lock-RhBug2013324.patch
Patch3: 0003-Update-documentation-for-adding-specific-version-RhBug2013332.patch
Patch4: 0004-plugin-debug-Use-base._ts.dbCookie-to-determining-rp.patch
Patch5: 0005-Update-translations-RhBug-2017348.patch
BuildArch: noarch BuildArch: noarch
BuildRequires: cmake BuildRequires: cmake
@ -151,7 +147,6 @@ Summary: Core Plugins for DNF
BuildRequires: python3-dbus BuildRequires: python3-dbus
BuildRequires: python3-devel BuildRequires: python3-devel
BuildRequires: python3-dnf >= %{dnf_lowest_compatible} BuildRequires: python3-dnf >= %{dnf_lowest_compatible}
BuildRequires: make
%if 0%{?fedora} %if 0%{?fedora}
Requires: python3-distro Requires: python3-distro
%endif %endif
@ -409,6 +404,19 @@ versions of those packages. This allows you to e.g. protect packages from being
updated by newer versions. updated by newer versions.
%endif %endif
%if %{with python3}
%package -n python3-dnf-plugin-modulesync
Summary: Download module metadata and packages and create repository
Requires: python3-%{name} = %{version}-%{release}
Requires: createrepo_c >= 0.17.4
Provides: dnf-plugin-modulesync = %{version}-%{release}
Provides: dnf-command(modulesync)
%description -n python3-dnf-plugin-modulesync
Download module metadata from all enabled repositories, module artifacts and profiles of matching modules and create
repository.
%endif
%prep %prep
%autosetup -p1 %autosetup -p1
%if %{with python2} %if %{with python2}
@ -769,9 +777,21 @@ ln -sf %{_mandir}/man1/%{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/
%endif %endif
%endif %endif
%if %{with python3}
%files -n python3-dnf-plugin-modulesync
%{python3_sitelib}/dnf-plugins/modulesync.*
%{python3_sitelib}/dnf-plugins/__pycache__/modulesync.*
%{_mandir}/man8/dnf-modulesync.*
%endif
%changelog %changelog
* Mon Mar 21 2022 Marek Blaha <mblaha@redhat.com> - 4.0.24-4 * Tue Jul 19 2022 Lukas Hrazky <lhrazky@redhat.com> - 4.1.0-2
- Update translations - [copr] Guess EPEL chroots for CentOS Stream
* Thu Apr 28 2022 Pavla Kratochvilova <pkratoch@redhat.com> - 4.1.0-1
- Add a new subpackage with modulesync command. The command downloads packages from modules and/or creates a repository with modular data. (RhBug:1868047)
- [repoclosure] Print counts of missing dependencies
- [reposync] Do not stop downloading packages on the first error (RhBug:2009894)
* Mon Feb 07 2022 Pavla Kratochvilova <pkratoch@redhat.com> - 4.0.24-3 * Mon Feb 07 2022 Pavla Kratochvilova <pkratoch@redhat.com> - 4.0.24-3
- Backport patch with new way to determine rpmdb version - Backport patch with new way to determine rpmdb version