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

Reply via email to