Mailinglist Archive: zypp-devel (84 mails)

< Previous Next >
[zypp-devel] libzypp: about 11.1 product handling and beloved zypp::ResTraits
  • From: Michael Andres <ma@xxxxxxx>
  • Date: Thu, 7 Aug 2008 16:05:23 +0200
  • Message-id: <20080807140523.GA21090@xxxxxxx>

The major change in 11.0 product handling (from the zypp POV) is the fact
that products are again 'installed'. Good by repo refreshing and solver
running just to figure out if a product is installed.

Short details: The 'database' of installed products will be located in
/etc/products.d. Release packages will put the products metadata there,
when they are installed, and the data are removed again if the package
gets removed.

So within libzypp the relase Package and the Product are sort of different
views to the same object. One can't be without the other. This tight
connection is expressed by the fact, that both objects share the same
ResStatus.

I started to review zypper, pkg-bindings and the UIs, and adapt all code
that refers to satisfied/broken/needed when dealing with Products. They
are again, like Packages, installed.


But I'd like you to forget this immediately ;)
If a distinction has to be drawn between installed items (package,
product) and verified items (pattern, patch), we'll provide this info
as a property of ResKind.


This leads to the 2nd topic: zypp::ResTraits

I want to remove them at least outside libzypp. All that is used and
needed outside libzyzypp is the kind of a resolvable:

The Type is: class ResKind

aka ResObject::Kind
aka ResTraits<ResObject>::KindType

And the kind strings are available as ResKind constants:

zypp::ResKind::package
zypp::ResKind::patch
zypp::ResKind::pattern
zypp::ResKind::product
zypp::ResKind::srcpackage




I think this is nicer to read and write than the traits way:

zypp::ResTraits<zypp::Package>::kind
zypp::ResTraits<zypp::Patch>::kind
zypp::ResTraits<zypp::Pattern>::kind
zypp::ResTraits<zypp::Product>::kind
zypp::ResTraits<zypp::SrcPackage>::kind

--

cu,
Michael Andres

+------------------------------------------------------------------+
Key fingerprint = 2DFA 5D73 18B1 E7EF A862 27AC 3FB8 9E3A 27C6 B0E4
+------------------------------------------------------------------+
Michael Andres YaST Development ma@xxxxxxxxxx
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@xxxxxxxxxxxx
For additional commands, e-mail: zypp-devel+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups