Enhancements:
- context: Support libdnf5 drop-in directories and repository overrides. This
allows applications using the context part of libdnf (e.g. microdnf,
PackageKit) to take into account the main configuration from drop-in
directories and repository overrides, similar to how libdnf5 does.
These directories are also monitored for changes (except when using non-root
installroot path.)
This feature can be disabled at build time (ENABLE_DNF5_CONF_DROP_IN,
ENABLE_DNF5_CONF_REPOS_OVERRIDE CMake options). - context: dnf_context_set_install_root() now sets installroot also to global
mainConf configuration. - IniParser: Support glob range definition in section names
- history database: Add "persistence" column (possible values are UNKNOWN,
PERSIST, or TRANSIENT). - conf: Add usr_drift_protected_paths configuration option which can be
configured by adding .conf files to the drop-in directory
/etc/dnf/usr-drift-protected-paths.d, similar to /etc/dnf/protected.d.
Distributions will be able to add paths that are known to cause problems
when their contents drift with respect to /usr, e.g. /etc/pam.d.
Changes:
- context: Save repository configuration with dnf_repo_commit() to override file.
Previously, repository configuration changes were written directly to the
original configuration file. Now they are written to the overwrite file
"99-config_manager.repo" for compatibility with the dnf5 config-manager. - config: Convert "protected_packages" to an append option
Bug fixes:
- Don't prepend installroot to varsdir in libdnf::dnf_context_load_vars()
- Fix file name comparison in filesystem::createSortedFileList()
- Stop importing subkeys to RPM >= 5.99.90 because RPM 6 handles subkeys
automatically. - Fix typos in messages in package problems dictionary
- build: Fix searching libdnf header files when generating bindings with Swig
- build: Don't probe for libcheck dependency if no tests are going to be built
- spec: Consistently use CMake RPM macros
- tests: Replace deprecated "check" macros
- tests: Verify "fopen" return value otherwise we could crash
Internal changes:
- New functions filesystem::pathJoin(), filesystem::createSortedFileList(),
filesystem::getRealpath(), filesystem::isSubdirectory(). - Add libdnf::MergedTransaction::listPersistences() method.
- Always use result config.optBinds() by reference, not copy
- Remove unused functions with a bug
- config: Support optionTListAppend for options lacking fromString