On Tuesday 20 September 2011 14:20:21 Klaus Kaempf wrote:
* Duncan Mac-Vicar P.
[Sep 05. 2011 11:19]: The question is how to provide bindings for the objects shared between libzypp and libsatsolver, like 'Solvable', 'Solver', 'Problem', 'Solution', 'Transaction', 'Pool', 'Repo', etc.
But unfortunately libzypp is not an applayer on top of satsolver. You remember the "evolution" of zypp - we ripped out the old solver and plugged in a new one. At the same time the API towards the zypper, YaST and PK remained as unchanged as possible. Most of the time this API prevents us from being more 'satsolverish'. The satsolver objects are implementation details, sometimes more, sometimes less exposed. But there are several contrains libzypp enforces and translations it applies and which prevent us from offering unattended access to the satsolver objects. Zypp and Sat sometimes speak a different language. A quite obvious difference is the solvable 'name' and the solvable 'architecture': - In satsolver by convention all patch names start with 'patch:' and all pattern names with 'pattern:', and every name that has no known prefix is a package. Among all packages, source packages are identified by having architecture 'src' or 'nosrc'. - Within zypp all solvable names are unprefixed. A solvable attribute named 'kind' exists, telling whether it's a package, patch, pattern... Sourcepackages are of kind 'srcpackage' and their architecture is 'noarch'. A 'src' nor 'nosrc' architecture does not exist within zypp. Also the tight linkage between a 'product' and it's -release package is something which is asserted by zypp and must not be broken by direct satsolver access. I'm not sure whether common bindings are a low hanging fruit. -- cu, Michael Andres +------------------------------------------------------------------+ Key fingerprint = 2DFA 5D73 18B1 E7EF A862 27AC 3FB8 9E3A 27C6 B0E4 +------------------------------------------------------------------+ Michael Andres SUSE LINUX Products GmbH, Development, ma@suse.de GF:Jeff Hawn,Jennifer Guild,Felix Imendörffer, HRB16746(AG Nürnberg) 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