github rpm-software-management/libdnf 0.75.0

one day ago

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

Don't miss a new libdnf release

NewReleases is sending notifications on new releases.