Bug ID 1155819
Summary weakremovers of future product not evaluated
Classification openSUSE
Product openSUSE Distribution
Version Leap 15.2
Hardware Other
OS Other
Status NEW
Severity Normal
Priority P5 - None
Component libzypp
Assignee zypp-maintainers@suse.de
Reporter lnussel@suse.com
QA Contact qa-bugs@suse.de
Found By ---
Blocker ---

trying to rename the product from openSUSE to Leap (so openSUSE-release ->
Leap-release) the actual installation works. What's not working is the
evaluation of weakremovers though. After adding some debugging code I found
that the to be installed product is not used.

In zypp/solver/detail/SATResolver.cc there's

  if ( (*it)->onSystem() ) // (to install) or (not to delete)

that doesn't trigger on Leap-release.

With the following in Leap-release.spec:
+Obsoletes:      product() = openSUSE
+Obsoletes:      product(openSUSE) < %version-%release
+Obsoletes:      product(openSUSE) > 42.1

This is how it looks:
$ zypper dup --allow-vendor-change 
Loading repository data...
Reading installed packages...
Computing distribution upgrade...

The following 2 NEW packages are going to be installed:
  Leap-release Leap-release-appliance-custom

The following NEW product is going to be installed:
  "openSUSE Leap 15.2"

The following product is going to be REMOVED:
  "openSUSE Leap 15.1"

The following package is going to be upgraded:
  openSUSE-release

The following package is going to change vendor:
  openSUSE-release  openSUSE -> obs://build.opensuse.org/home:lnussel

The log has
SATResolver.cc(solverInit):679 Checking droplists ...
SATResolver.cc(solverInit):685 Checking Leap
SATResolver.cc(solverInit):704 ... not on system
SATResolver.cc(solverInit):685 Checking openSUSE
SATResolver.cc(solverInit):688 is on system
SATResolver.cc(solverInit):691 but no longer available


Log file and the patch I used attached.


You are receiving this mail because: