[Bug 1155819] New: weakremovers of future product not evaluated
http://bugzilla.opensuse.org/show_bug.cgi?id=1155819 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: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1155819 http://bugzilla.opensuse.org/show_bug.cgi?id=1155819#c1 --- Comment #1 from Ludwig Nussel <lnussel@suse.com> --- Created attachment 823280 --> http://bugzilla.opensuse.org/attachment.cgi?id=823280&action=edit zypper log -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1155819 http://bugzilla.opensuse.org/show_bug.cgi?id=1155819#c2 --- Comment #2 from Ludwig Nussel <lnussel@suse.com> --- Created attachment 823281 --> http://bugzilla.opensuse.org/attachment.cgi?id=823281&action=edit extra debug patch -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1155819 Ludwig Nussel <lnussel@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P5 - None |P2 - High CC| |lnussel@suse.com, | |mlin@suse.com -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1155819 http://bugzilla.opensuse.org/show_bug.cgi?id=1155819#c3 --- Comment #3 from Ludwig Nussel <lnussel@suse.com> --- a working combination is to keep the product and the droplist on openSUSE-release. So the openSUSE-product doesn't actually go away. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1155819 http://bugzilla.opensuse.org/show_bug.cgi?id=1155819#c4 --- Comment #4 from Michael Andres <ma@suse.com> --- (In reply to Ludwig Nussel from comment #0)
With the following in Leap-release.spec: +Obsoletes: product() = openSUSE +Obsoletes: product(openSUSE) < %version-%release +Obsoletes: product(openSUSE) > 42.1
Independently from all other issues: Obsoletes may refer to names only, not to depencies. `product:openSUSE` might match, but `product(*)` won't. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1155819 http://bugzilla.opensuse.org/show_bug.cgi?id=1155819#c5 --- Comment #5 from Michael Andres <ma@suse.com> --- Now it's obvious. YAST and migrations scripts explicitly select the products in addition to dup, that's why it works for them (they'd select "openSUSE Leap 15.2" before the solver run). On a plain zypper dup however "openSUSE Leap 15.2" is not yet selected. We'd need 2 passes (one to compute the product fates and a 2nd one after adding the weakremovers).... -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1155819 http://bugzilla.opensuse.org/show_bug.cgi?id=1155819#c6 --- Comment #6 from Max Lin <mlin@suse.com> --- (In reply to Ludwig Nussel from comment #3)
a working combination is to keep the product and the droplist on openSUSE-release. So the openSUSE-product doesn't actually go away.
BTW the combination will make zypper dup work, but won't work on normal installation - yast fails to find any base product. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1155819 http://bugzilla.opensuse.org/show_bug.cgi?id=1155819#c7 --- Comment #7 from Ludwig Nussel <lnussel@suse.com> --- (In reply to Michael Andres from comment #5)
Now it's obvious. YAST and migrations scripts explicitly select the products in addition to dup, that's why it works for them (they'd select "openSUSE Leap 15.2" before the solver run).
On a plain zypper dup however "openSUSE Leap 15.2" is not yet selected. We'd need 2 passes (one to compute the product fates and a 2nd one after adding the weakremovers)....
At least it would make sense if yast and zypper did the same. Couldn't libsolv handle that itself? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1155819 http://bugzilla.opensuse.org/show_bug.cgi?id=1155819#c8 --- Comment #8 from Ludwig Nussel <lnussel@suse.com> --- (In reply to Max Lin from comment #6)
(In reply to Ludwig Nussel from comment #3)
a working combination is to keep the product and the droplist on openSUSE-release. So the openSUSE-product doesn't actually go away.
BTW the combination will make zypper dup work, but won't work on normal installation - yast fails to find any base product.
Not sure if that is related to the tags. The baseproduct is not in the metadata but only in the symlink, right? And that one got screwed up due to %post scripts. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1155819 http://bugzilla.opensuse.org/show_bug.cgi?id=1155819#c9 --- Comment #9 from Max Lin <mlin@suse.com> --- (In reply to Ludwig Nussel from comment #8)
(In reply to Max Lin from comment #6)
(In reply to Ludwig Nussel from comment #3)
a working combination is to keep the product and the droplist on openSUSE-release. So the openSUSE-product doesn't actually go away.
BTW the combination will make zypper dup work, but won't work on normal installation - yast fails to find any base product.
Not sure if that is related to the tags. The baseproduct is not in the metadata but only in the symlink, right? And that one got screwed up due to %post scripts.
I'd say it's not the "base products" source that yast installer looking for, otherwise we should see the same failure when the tags stays in Leap-release. but yeah, we don't have yast log on openqa when this occurred... -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1155819 http://bugzilla.opensuse.org/show_bug.cgi?id=1155819#c10 --- Comment #10 from Michael Andres <ma@suse.com> --- (In reply to Ludwig Nussel from comment #7)
At least it would make sense if yast and zypper did the same.
YOU can do the same as YAST once we open `dup` to allow additional inst/del arguments (there's AFAIK some FATE for it). Then you can say `zypper dup product:Leap-15.2`
Couldn't libsolv handle that itself?
This weakremover stuff is a hack and it is configurable whether to be evaluated or not. Not sure id mls would put this into libsolv. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1155819 http://bugzilla.opensuse.org/show_bug.cgi?id=1155819#c11 Ludwig Nussel <lnussel@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mls@suse.com --- Comment #11 from Ludwig Nussel <lnussel@suse.com> --- (In reply to Michael Andres from comment #10)
(In reply to Ludwig Nussel from comment #7)
At least it would make sense if yast and zypper did the same.
YOU can do the same as YAST once we open `dup` to allow additional inst/del arguments (there's AFAIK some FATE for it). Then you can say `zypper dup product:Leap-15.2`
That would be still manual while yast does that automatically.
Couldn't libsolv handle that itself?
This weakremover stuff is a hack and it is configurable whether to be evaluated or not. Not sure id mls would put this into libsolv.
Fragen kostet nichts :-) -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1155819 http://bugzilla.opensuse.org/show_bug.cgi?id=1155819#c12 Michael Andres <ma@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |CONFIRMED --- Comment #12 from Michael Andres <ma@suse.com> --- (In reply to Ludwig Nussel from comment #11)
This weakremover stuff is a hack and it is configurable whether to be evaluated or not. Not sure id mls would put this into libsolv.
Fragen kostet nichts :-)
We'll work around it in libzypp. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1155819 http://bugzilla.opensuse.org/show_bug.cgi?id=1155819#c13 --- Comment #13 from Ludwig Nussel <lnussel@suse.com> --- any ETA? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1155819 http://bugzilla.opensuse.org/show_bug.cgi?id=1155819#c14 --- Comment #14 from Michael Andres <ma@suse.com> --- within this week -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1155819 http://bugzilla.opensuse.org/show_bug.cgi?id=1155819#c15 --- Comment #15 from Ludwig Nussel <lnussel@suse.com> --- cool -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com