This is a new flag in the recent 0.7.30 release.
It is used only in current rawhide.
We previously tried to use `SOLVER_FLAG_FOCUS_BEST` but it turned out to
be too strong, this new flag should update packages only if it is
required for installing the latests versions of dependencies.
We had several reports where users expect this behavior.
This should properly resolve issue such as:
https://bugzilla.redhat.com/show_bug.cgi?id=2150300https://issues.redhat.com/browse/RHEL-1374
ELF plugins of dnf5-plugins and dnf5-plugin-automatic subpackages link
to libdnf and libdnf-cli libraries. Because the libraries come from
the same source package, it is desired to pin the plugin subpackages
to same release of the libraries subpackages.
This was hinted by rpminspect and already partially implemented in
commit 97cdbe57c3 ("Add explicit package
version for libdnf5-cli").
In comparison to dnf4 the command:
- is no longer a `history` subcommand, it is a standalone command.
- accepts as an argument a path to a directory where the transaction is
stored. This is because now any transaction can be stored using the
`--store` option which also stores the elements (packages, groups..)
of the transaction.
We relocated the plugin man pages provided by `dnf-plugins-core` to a different location, avoiding conflicts with `dnf5`, starting with `dnf-plugins-core` version 4.7.0. As a result, we need to require this upgrade; otherwise, the man page files will conflict.
Another bit needed for switching dnf5 in Rawhide. We need to ensure there are no multiple providers of the dnf configuration on the system simultaneously.
Distribution configuration files in /usr/share/dnf5 are not supposed to
be modified by user and should be always overriden by the next update.
This behavior allows to modify distribution configuration without
modifying DNF5 code.
Closes: https://github.com/rpm-software-management/dnf5/issues/1407
We want to keep the most important version number stable (as a 5 because
we are calling the project dnf5) however we also want to mostly adhere
to the SEMVER system. Therefore we switch to a 4 number scheme,
incrementing the:
PRIME version when completely changing API and everything in dnf
MAJOR version when you make incompatible API changes
MINOR version when you add functionality in a backward compatible manner
MICRO version when you make backward compatible bug fixes
The PRIME version should hopefully stay as a 5 for the foreseeable future.
The problem is that cmake call to `project()` sets (overrides) the:
`PROJECT_VERSION_MAJOR/MINOR/PATCH/TWEAK` with the values provided.
https://cmake.org/cmake/help/latest/command/project.html#options
This could cause confusion when we want to name some of the variables
differently and use differnt order (for example the
PROJECT_VERSION_MAJOR variable woudn't be the first).
Implement `offline` and `system-upgrade` commands. `dnf5 system-upgrade`
is intended to be backwards-compatible with `dnf4 system-upgrade`. All
of system-upgrade's functionality, with the exception of the `download`
subcommand, is implemented in the new `offline` command, and
system-upgrade shares subcommands with it.
This is more or less a port of `dnf4 system-upgrade`.
This behavior of `dnf5 offline` was proposed here: https://github.com/rpm-software-management/dnf5/issues/1224#issuecomment-1936651917.
For https://github.com/rpm-software-management/dnf5/issues/1052
There are conflicts with yum. This should be adjusted back once things
are properly addressed in Fedora.
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
Fedora 41 moved a CMake script for bash-completion from
bash-completion to bash-completion-devel package
<https://bugzilla.redhat.com/show_bug.cgi?id=1457164>. That broke
building dnf5.spec:
RPM build errors:
Directory not found: /builddir/build/BUILDROOT/dnf5-5.1.12-1.20240216152113944400.pr1250.22.gd9fb3e11.fc41.x86_64/usr/share/bash-completion
Directory not found: /builddir/build/BUILDROOT/dnf5-5.1.12-1.20240216152113944400.pr1250.22.gd9fb3e11.fc41.x86_64/usr/share/bash-completion/completions
File not found: /builddir/build/BUILDROOT/dnf5-5.1.12-1.20240216152113944400.pr1250.22.gd9fb3e11.fc41.x86_64/usr/share/bash-completion/completions/dnf5
This adapts to the change.
Fixes: #1252
I found multiple timers misleading. Let's try to return back to one
timer that respects config file settings without using command line
arguments to override some options.
In case the users need it we can add convenience timers (notifyonly /
download / install) later.