On Wed, Feb 27, Klaus Kaempf wrote:
* Lukas Ocilka
[Feb 27. 2008 13:14]: On Wed, Feb 27, 2008 at 12:52:46PM +0100, Klaus Kaempf wrote:
Removing a pattern selects all 'contained' packages for removal.
1st I would not call it 'remove a pattern' because we don't install one. Maybe 'cleanup'.
A package might be even recommended by pattern A and requested by pattern B. In case of deleting the pattern A ...
a) Pattern B is selected: It's requirements are active, and the package stays. b) Pattern B is not selected: There's no requirement from Pattern B. If the solver can handle a 'weak delete request', the package should be deleted unless some package or selected pattern recommends/requires it.
A bit tricky, isn't it :)? Of course, solver would add the package again I guess ... I hope ...
Yes, its tricky ;-) The main question is: What would users expect and how can we apply the 'principle of least surprise' ?
If a pattern is sort install macro, it's requirements/recommends to packages/patterns are active, iff the pattern is selected. After commit the pattern is no longer active. It has no requirements, no purpose. But it still is a container of packages. AFAIK we even want to compute some value telling how many % of the patterns content are installed. Cleaning the pattern would then issue a 'weak delete request' for each package included in this pattern. The packages are deleted, unless required/recommended by other packages or selected patterns. If we want/need more protection, we had to 'auto'-select patterns, because only selected patterns recommend/require packages. - Offer a way to let the user 'autoselect' patterns (same as install but using a different name). - Define (or let the user define) a threshold, and 'auto'-select patterns which are more than X% installed. What we IMO should not do, is deleting more packages than we list/display as pattern-content. -- cu, Michael Andres +------------------------------------------------------------------+ Key fingerprint = 2DFA 5D73 18B1 E7EF A862 27AC 3FB8 9E3A 27C6 B0E4 +------------------------------------------------------------------+ Michael Andres YaST Development ma@novell.com SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) Maxfeldstrasse 5, D-90409 Nuernberg, Germany, ++49 (0)911 - 740 53-0 +------------------------------------------------------------------+ -- To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org