On Monday 21 July 2003 19:43, you wrote: > Le Lundi 21 Juillet 2003 17:44, Andi Payn a écrit : > > Under rpm 4.0, installing or upgrading a package only checked its > > obsoletes against the main package name. Now, 4.2 also checks against any > > virtual names provided by the package. So, with 4.0, two packages that > > provided and obsoleted the same virtual name wouldn't interfere; now they > > do. > > After checking, I am not sure:
I've attached the simplest possible packages to demonstrate the problem. 1. rpmbuild -ba dummy1, dummy2-1mdk, and dummy2-2mdk. 2. rpm -Uvh dummy1-1.0-1mdk.noarch.rpm now dummy1 is installed 3. rpm -Uvh dummy2-1.0-1mdk.noarch.rpm now dummy1 and dummy2 are both installed 4. rpm -Uvh dummy2-1.0-2mdk.noarch.rpm now dummy1 is gone; onldummy2 is installed Apparently this is only triggered when upgrading an existing package to a later version (step 4). That's what your test was missing. The obsoletes tag in dummy1 and the provides in dummy2 are unnecessary to trigger the problem, but I put them in to better simulate the situation that seems to turn up in real packages. If you remove the "Provides" tag from dummy1, the problem goes away. If you remove the "Obsoletes" tag from dummy2, the problem goes away. If you version the "Obsoletes" tag so it doesn't match dummy1, the problem goes away.
Summary: A dummy package for testing Name: dummy1 Version: 1.0 Release: 1mdk License: GPL Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot Provides: virtual-dummy Obsoletes: virtual-dummy BuildArch: noarch %description This package contains nothing. It's just there to test rpm features. %files %changelog * Mon Jul 21 2003 andi payn <[EMAIL PROTECTED]> 1.0-1mdk - first specfile
Summary: A dummy package for testing Name: dummy2 Version: 1.0 Release: 1mdk License: GPL Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot Provides: virtual-dummy Obsoletes: virtual-dummy BuildArch: noarch %description This package contains nothing. It's just there to test rpm features. %files %changelog * Mon Jul 21 2003 andi payn <[EMAIL PROTECTED]> 1.0-1mdk - first specfile
Summary: A dummy package for testing Name: dummy2 Version: 1.0 Release: 2mdk License: GPL Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot Provides: virtual-dummy Obsoletes: virtual-dummy BuildArch: noarch %description This package contains nothing. It's just there to test rpm features. %files %changelog * Mon Jul 21 2003 andi payn <[EMAIL PROTECTED]> 1.0-2mdk - just bumping the version... * Mon Jul 21 2003 andi payn <[EMAIL PROTECTED]> 1.0-1mdk - first specfile