-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
microdnf cannot reinstall curl-minimal #137
microdnf cannot reinstall curl-minimal #137
Comments
This appears to be caused by any package that has a $ curl -o curl-minimal-7.76.1-23.el9_2.2.x86_64.rpm https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/x86_64/baseos/os/Packages/c/curl-minimal-7.76.1-23.el9_2.2.x86_64.rpm
$ rpm -qp --conflicts curl-minimal-7.76.1-23.el9_2.2.x86_64.rpm
curl
$ rpm -qp --provides curl-minimal-7.76.1-23.el9_2.2.x86_64.rpm
curl = 7.76.1-23.el9_2.2
curl-minimal = 7.76.1-23.el9_2.2
curl-minimal(x86-64) = 7.76.1-23.el9_2.2 And if I make my own package, host it, and then try to reinstall it it fails in the same way. My specfile: Name: hello
Version: 0.0.1
Release: 1%{?dist}
Summary: Hello World
License: GPL
Source0: %{name}-%{version}.tar.gz
Requires: bash
Conflicts: hello
Provides: hello
%description
A demo RPM build
%prep
%autosetup
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/%{_bindir}
cp %{name}.sh $RPM_BUILD_ROOT/%{_bindir}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%{_bindir}/%{name}.sh
%changelog
* Mon Aug 07 2023 Robb Manes <robbmanes@myemail.com>
- First change And note that plain # dnf reinstall /home/rmanes/rpmbuild/RPMS/x86_64/hello-0.0.1-1.el9.x86_64.rpm -y
[...]
Reinstalled:
hello-0.0.1-1.el9.x86_64
# microdnf reinstall hello -y
[...]
error: Error running transaction: hello conflicts with hello-0.0.1-1.el9.x86_64
hello conflicts with (installed) hello-0.0.1-1.el9.x86_64 |
Filed as bz2229809 internally for Red Hat. |
Works fine with RPM:
Is microdnf using rpmtsAddReinstallElement() here? |
Thank you Michal, I think this is the issue. |
`rpmtsAddInstallElement()` doesn't work for all reinstall cases, such as when a package `Provides` and `Conflicts` with the same capability. Fixes: rpm-software-management/microdnf#137
`rpmtsAddInstallElement()` doesn't work for all reinstall cases, such as when a package `Provides` and `Conflicts` with the same capability. Fixes: rpm-software-management/microdnf#137
Upstream commit: 85432df `rpmtsAddInstallElement()` doesn't work for all reinstall cases, such as when a package `Provides` and `Conflicts` with the same capability. Fixes: rpm-software-management/microdnf#137 Resolves: https://issues.redhat.com/browse/RHEL-1454
Upstream commit: 85432df `rpmtsAddInstallElement()` doesn't work for all reinstall cases, such as when a package `Provides` and `Conflicts` with the same capability. Fixes: rpm-software-management/microdnf#137 Resolves: https://issues.redhat.com/browse/RHEL-1454
with regular dnf:
with microdnf:
The text was updated successfully, but these errors were encountered: