You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
creating offline repo with «baseurl=file://$PWD/dir4rpms»
installing from local offline repo «dnf install --disablerepo="*" --enablerepo="offline" libtool rpm-build» — failed.
Error:
Problem: package redhat-rpm-config-262-1.fc39.noarch from offline requires (annobin-plugin-gcc if gcc), but none of the providers can be installed
- package redhat-rpm-config-262-1.fc39.noarch from offline requires (gcc-plugin-annobin if gcc), but none of the providers can be installed
- package rpm-build-4.19.0-1.fc39.x86_64 from offline requires system-rpm-config, but none of the providers can be installed
- package libtool-2.4.7-7.fc39.x86_64 from offline requires gcc(major) = 13, but none of the providers can be installed
After some experiments, I think you do not do anything wrong, there are just some bugs (actually two of them) in the download command :)
Bug 1 (demonstrates in case the downgrade is part of the installation): dnf download downloads only packages that are in transaction table marked as install and upgrade. In case the result of dnf install libtool is downgrade of some package, this package is not downloaded.
I hit this bug when trying reproduce your issue on old F38 image.
Bug 2 (the one you hit):
Packages from the downloaded set are processed independently, one by one. This means that the conditional requirement of (gcc-plugin-annobin if gcc) is not downloaded (because gcc is not present on the system and is not part of the transaction).
On the other hand, resolving downloaded packages independently enables us to download even conflicting packages. That means to resolve this issue we need to make selection of the algorithm configurable.
Consider the case:
I try:
dnf download --downloaddir ./dir4rpms --resolve libtool rpm-build
» (according «dnf download --alldeps --resolve» ignores conditional requires? #1998--resolve
without--alldeps
should work)baseurl=file://$PWD/dir4rpms
»dnf install --disablerepo="*" --enablerepo="offline" libtool rpm-build
» — failed.I checked it on FC37, FC38, FC39
Script to reproduce:
https://gist.github.com/belonesox/0ff847cb441b13f26c697ad0f07c7d03
Is it bug or feature?
What I am doing wrong?
The text was updated successfully, but these errors were encountered: