DNF was using private method `hawkey.Sack._rpmdb_version()` from libdnf.
The method computes SHA1 hash from sorted list of hashes stored in
the headers of the instaled packages. And it adds prefix of the number
of installed packages to the computed hash. The result was stored
to the history database and used to detect changes in the rpm database.
The patch uses new oficial librpm API function
`rpm.TransactionSet.dbCookie()`. This is a cleaner solution.
It is also a step to remove the `._rpmdb_version()` method from libdnf.
It is an attempt to remove SHA1 calculations from libdnf.
Troubleshooting FIPS compatibility.
= changelog =
msg: Use rpm.TransactionSet.dbCookie() to determining if rpmdb has changed
type: bugfix
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2043476
It exclude_from_weak packages for solver and remove them from the list
of candidates for weak dependencies. It will prevents of installing
packages that are recommended or supplementing installed or installing
packages.
Additionally it add mechanism to identify unmet weak deps and
exclude_from_weak them in Goal.
https://bugzilla.redhat.com/show_bug.cgi?id=1699672
= changelog =
msg: Add support for excluding packages to be installed as weak dependencies
type: enhancement
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1699672
= changelog =
msg: Add support for autodetecting packages to be excluded from being installed as weak dependencies
type: enhancement
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1699672
It is a combination of module rpm distrosync, module profile switch and
module stream switch.
= changelog =
msg: Add new `module switch-to` command for switching content
of module streams
type: enhancement
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1792020
The messages from librepo are now logged into libdnf logger, but with
different source (libdnf.utils.Logger.LOG_SOURCE_LIBREPO) to distinguish
between them.
This commit adds functionality to handle the librepo messages in dnf,
writing them into the same file as before (dnf.const.LOG_LIBREPO).
https://bugzilla.redhat.com/show_bug.cgi?id=1816573
The Repo class from libdnf now throws an instance of libdnf::RepoError
instead of std::runtime_error.
It would be best to add a corresponding Python exception to the SWIG
interface for this error, but it's complicated and the code is being
rewritten for dnf-5. It's also a question whether other than RepoError
exceptions can be thrown from the Repo class, and those should probably
end up being caught here as well...
I'm keeping the RuntimeError in the catch as well, since I can't be sure
some underlying code being called from the libdnf::Repo class doesn't
still throw that.
https://bugzilla.redhat.com/show_bug.cgi?id=1788182
The arguments are valid for "config-manager" plugin. The fix removes
they from general DNF arguments. Another fix will add these arguments
into the config-manager plugin.
Note:
There are another "config-manager" arguments "--enable" and "--disable"
in the DNF general section. They cannot be moved into config-manager
plugin because of Python argparser abbreviation.