https://bugzilla.novell.com/show_bug.cgi?id=450528
User lslezak@novell.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=450528#c19
Ladislav Slezak changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEEDINFO |NEW
Info Provider|dmueller@novell.com |
--- Comment #19 from Ladislav Slezak 2008-12-05 02:25:00 MST ---
The problem is that there is an extra (full!) solver run in the UI, so the
patch doesn't help. The solver flags must be set permanently.
I just have added two Pkg functions:
map Pkg::GetSolverFlags() - get the current solver flags
boolean Pkg::SetSolverFlags(map) - set solver flags
(Pkg::Solve() has been removed, it was equal to: backup =
Pkg::GetSolverFlags(),
Pkg::SetSolverFlags(requested), Pkg::PkgSolve() and
Pkg::SetSolverFlags(backup).)
Sumbitted in yast2-pkg-bindings-2.17.31.
Jiri, the yast workflow should be:
1. Pkg::PkgApplReset() - ensure that there are no transactions set accidentally
by previous solver run
2. backup = Pkg::GetSolverFlags() - remember the current solver flags
3. Pkg::SetSolverFlags($["ignoreAlreadyRecommended":true, "onlyRequires":true])
- disable recommends
4. Pkg::PkgSolve() - compute needed patches
5. Pkg::ResolvableCountPatches(`pkg_mgr) - get number of patches for the
package management
if (patches_count > 0)
A1. select `pkg_mgr patches
A2. start the packager UI
A3. commit the pending transactions (install the selected patches)
A4. restart Yast (and goto 1.)
else
B1. Pkg::SetSolverFlags(backup) - restore the original solver settings -
enable recommends
B2. Pkg::PkgSolve() - compute needed patches (incl. recommends)
B3. Pkg::ResolvableCountPatches(`all) - get number of applicable patches
B4. continue the installation workflow if there is no applicable patch
B5. select the patches
B6. start the packager UI
B7. commit the pending transactions (install the selected patches)
B8. continue the installation workflow
(I hope I didn't forget something...)
--
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.