[Bug 483648] New: Yast2 Online Update and Software Management use different verify system logic
https://bugzilla.novell.com/show_bug.cgi?id=483648 Summary: Yast2 Online Update and Software Management use different verify system logic Classification: openSUSE Product: openSUSE 11.1 Version: Final Platform: i386 OS/Version: openSUSE 11.1 Status: NEW Severity: Normal Priority: P5 - None Component: YaST2 AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: support@microtechniques.com QAContact: jsrain@novell.com Found By: --- User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729) I deleted several packages from an 11.1 system using yast2 Software Management. Both the dependency check and verify system reported no problems. A little later I ran yast2 Online Update and it reported that there were no updates needed. However, despite not listing any pending updates, when I selected accept, it started downloading and installing packages. I aborted the process and restarted it. The initial screen still showed no pending updates, and if I ran the dependency check, it reported no problems. However, if I ran the verify system it showed over 20 missing packages. I canceled and reran Software Management where the verify system still showed no problems. The smart package manager check also did not find any problems. Two of the deleted packages were hplip and alsa-plugins. Reproducible: Always Steps to Reproduce: 1.run yast2 Software Management and remove hplip 2.re-run yast2 Software Management and select verify system and verify that there are no problems. Exit. 3.run yast2 Online Update it should not show any necessary updates. 4.select verify system and it will schedule hplip for re-installation. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483648 User cyhan@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=483648#c1 Chuanye Han <cyhan@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |cyhan@novell.com AssignedTo|bnc-team-screening@forge.pr |jsuchome@novell.com |ovo.novell.com | --- Comment #1 from Chuanye Han <cyhan@novell.com> 2009-03-09 20:45:51 MST --- Jiri, could you please help to have a look at this? Feel free to reassign it whenever necessary. Thank you. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483648 User jsuchome@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=483648#c2 Jiří Suchomel <jsuchome@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|YaST2 |libzypp AssignedTo|jsuchome@novell.com |zypp-maintainers@forge.prov | |o.novell.com QAContact|jsrain@novell.com |qa@suse.de --- Comment #2 from Jiří Suchomel <jsuchome@novell.com> 2009-03-10 01:07:26 MST --- yast2 Software Management and yast2 Online Update should be the very same module once the Package Selector is started. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483648 User ma@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=483648#c3 Michael Andres <ma@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO CC| |ma@novell.com Info Provider| |support@microtechniques.com --- Comment #3 from Michael Andres <ma@novell.com> 2009-03-10 05:50:44 MST --- Please attach the yast logfiles (see http://en.opensuse.org/Bugs/YaST). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483648 User support@microtechniques.com added comment https://bugzilla.novell.com/show_bug.cgi?id=483648#c4 Don Hughes <support@microtechniques.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW Info Provider|support@microtechniques.com | --- Comment #4 from Don Hughes <support@microtechniques.com> 2009-03-10 07:16:17 MST --- Created an attachment (id=278450) --> (https://bugzilla.novell.com/attachment.cgi?id=278450) yast2 log files I ran Software Management and 1) Exported the package list to /var/log/Yast2 2) ran Verify System and checked the Installation Summary which was empty 3) ran Generate Resolver Test Case 4) clicked on accept to exit 5) renamed the Resolver Test Case I ran Online Update and 1) ran Verify System and checked the Installation Summary which had a number of auto installed packages. 2) ran Generate Resolver Test Case 4) clicked on abort to exit collected files for posting -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483648 User ma@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=483648#c5 Michael Andres <ma@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P5 - None |P4 - Low --- Comment #5 from Michael Andres <ma@novell.com> 2009-03-11 12:11:41 MST --- Looks like this contains two bugs at once. - The confusing behavior of verify is covered by bug #285482. Verify may in fact select/deselect packages to get a valid solution. Thus it's more a 'silently repair'. If it does not complain, it found a solution. This does not mean there's nothing to do. But it looks like hplip is not required, just recommended. So it should not get automatically reselected, once you deleted it. This is what this bug will cover. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483648 User ma@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=483648#c6 Michael Andres <ma@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lslezak@novell.com AssignedTo|zypp-maintainers@forge.prov |jsuchome@novell.com |o.novell.com | --- Comment #6 from Michael Andres <ma@novell.com> 2009-03-12 07:09:50 MST --- Comparing 'sw_single' and 'online_update' in y2log I see both using the same set of 157 AutoSoftLocks when loading the pool. But when it comes to solving, I see that most packages from openSUSE_11.1 and Mirrored_updates repository lost their SoftLock. Actually it looks like the best candidate of each package loses it's weak lock. I guess this is due to: clients/online_update_select.ycp:69 Pkg Builtin called: PkgApplReset ./src/Package.cc: if (s) s->theObj().status().resetTransact(level); I don't know why Pkg(Appl)Reset is needed, but it damages the users weak locks. Maybe online_update can use SaveState/RestoreState to discard it's changes? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483648 User jsuchome@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=483648#c7 Jiří Suchomel <jsuchome@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO Info Provider| |lslezak@novell.com --- Comment #7 from Jiří Suchomel <jsuchome@novell.com> 2009-03-13 06:14:07 MST --- Ladislav, what should I use instead of Pkg::PkgApplReset? It's call is commented as "ensure there are no transactions set accidentally" which we thought is necessary before playing with solver flags that follows. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483648 User lslezak@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=483648#c8 Ladislav Slezak <lslezak@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |schubi@novell.com Info Provider|lslezak@novell.com |ma@novell.com --- Comment #8 from Ladislav Slezak <lslezak@novell.com> 2009-03-16 06:50:42 MST --- Michael, the problem is that point online_update_select.ycp doesn't know whether the solver has been already called. The previous solver run could potentionally select some recommended packages which should be ignored by online-update, see bug #450528. Is there any way how to reset all pending transactions but preserve the SoftLocks? Or how the solver behaves if there are some preselected recommended packages then Yast sets "ignoreAlreadyRecommended"=true, "onlyRequires"=true and runs the solver again? Will be the recommended packages still marked for installation? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483648 User ma@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=483648#c9 --- Comment #9 from Michael Andres <ma@novell.com> 2009-03-18 07:10:36 MST --- Q2) If any package is preselected by APPL_HIGH/USER the solver will respect this request. No matter if this package is also required by, recommended by, or unrelated to any other package. The flags ignoreAlreadyRecommended and onlyRequires do only prevent the solver from _automatically_ adding additional packages (not requested by APPL_HIGH/USER). If you e.g select a package that recommends 'foo' and solve, foo will get selected by the solver: UT_s foo (U)ninstalled,(T)ransacts,selected by(Solver) If you now turn on the onlyRequires flag and solve, 'foo' will get unselected: U__s foo The solver never takes a previous solver decision into account. That's why his previous decision gets reverted. The situation is different, if foo was softlocked: Q1) 'reset all pending transactions but preserve the SoftLocks?' It depends. What we call soft lock is not some additional status attribute, but it is the KEEP state set by APPL_HIGH/USER. If you leave this state and enter e.g. TRANSACTS, the information about the previous state(s) is lost. You don't know it the package has ever been hardlocked, softlocked or whatever. There are several things we could offer. The best solution somewhat depends on the workflow. They all need to be implemented in libzypp. Most probably they are backportable 11.1 if needed. a) It seems to be possible to compute the initial relevant/satisfies/broken state without a solver run at all. This would be done at the time repos are loaded into the pool. So one could compute required patches without need to call the solver. b) Zypp could offer a 'named'backup/restore state. Application could then ask to save the status of all items under some name, and later request to restore to this state. This would undo all changes, thus restore the softlocks. c) We could offer some method to -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483648 User ma@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=483648#c10 Michael Andres <ma@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW Info Provider|ma@novell.com | --- Comment #10 from Michael Andres <ma@novell.com> 2009-03-18 07:18:40 MST --- My mouse wheel somehow messed it up... @Q2) If foo was soft locked, the solver will not seletct it if recommended. And if foo was seletced by the USER/APPL then solver will see this a input request, no matter what flags are set. Maybe you don't need to reset anything, unless you actually want to revert any USER/APPL request. If you switch the solver flags to ignore recommends, the solver will undo all recommended selections he did in a previous run. @Q1) Forgett about c). It would be a hack. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483648 User jsuchome@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=483648#c11 Jiří Suchomel <jsuchome@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO Info Provider| |lslezak@novell.com --- Comment #11 from Jiří Suchomel <jsuchome@novell.com> 2009-03-19 08:56:41 MST --- Uhm, Lada, could you translate it to Pkg:: language? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483648 User ma@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=483648#c12 --- Comment #12 from Michael Andres <ma@novell.com> 2009-03-19 10:09:12 MST --- Maybe this way: ;) You (Pkg::) do not need to reset transactions set by the solver, even if you change any solver flag like 'onlyRequires'. Just solve again. Only if you (Pkg::) explicitly selected some packages/patches, and later must undo this and go back to the initial state, you'd need to use SaveState/RestoreState. Because this restores the softlocks. Problem with the current implementation is that you can not nest the calls. RestoreState always restores the last state that was saved. If you save in order to restore later, and then call some piece of code that also saves, you will later not restore your state, but the other one. So if you must undo Pkg:: changes vis Save/Restore, then we should implement some SaveState/RestoreState that is nestable in libzypp. Any saved state will get some id, and you will later need this id to denote the state to be restored. This will be done for 11.2. If you urgently need it, or it needs to be backported to 11.1 as well, tell me. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483648 User lslezak@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=483648#c13 Ladislav Slezak <lslezak@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW Info Provider|lslezak@novell.com | --- Comment #13 from Ladislav Slezak <lslezak@novell.com> 2009-03-20 01:53:35 MST --- Nested Save/Restore can be a nice feature in some cases, but I think that this problem can be simply fixed by removing Pkg::PkgApplReset() call. It's there just to be on the safe side (reset pending transactions), it's not needed for YOU functionality. If anything has been selected before then it's a bug somewhere else. YOU could just check if something has been selected to install/remove - if yes it should log (or display) a warning. (Or neutralize the transactions, but that's probably too complicated.) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483648 User jsuchome@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=483648#c14 Jiří Suchomel <jsuchome@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #14 from Jiří Suchomel <jsuchome@novell.com> 2009-03-23 08:46:34 MST --- Pkg::PkgApplReset() removed in yast2-online-update-2.18.1 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com