openSUSE:Libzypp API
An API for package repository management, supporting most common repository metadata formats and signed repositories. An API for solving packages, products, patterns and patches (installation, removal, update and distribution upgrade operations) dependencies, with additional features like locking. An API for commiting the transaction to the system over a rpm target. Supporting deltarpm calculation, media changing and installation order calculation. An API for browsing available and installed software, with some facilities for programs with an user interface. A suite of maintained solving testcases representing common and uncommon operations on Linux software management.
API
libzypp is implemented as a C++ library with experimental bindings available for python and ruby.
Most of the API is available as doxygen generated html below /usr/share/doc/packages/zypp (up to 10.2) or /usr/share/doc/packages/libzypp (10.3+)
See MediaManager and API/Url for an exact definition of allowed catalog URLs.
Directories
This directory hierarchy is sorted roughly, but not completely, alphabetically:
zypp base media proxyinfo misc parser plaindir susetags ws xml yum pool repo susetags yum sat detail solver detail target hal modalias rpm thread ui url ws zypp_detail
Modules
Here is a list of all modules:
Boost libraries. Satsolver interface Enumeration Class RAII solutions CRTP solutions Backend Specific Filters and Functors Functors for building compex queries. ACTIONFUNCTOR Collection solvable filter functors. Filter functors operating on ResObjects. Algorithms Debug tools Tracer ZYPP_THROW macros Boost.Iterator Library ZYPP_BASE_LOGGER_MACROS Smart pointer types Regular expressions Comparison using relational operator zypp::Rel. ZYPP_RESOLVABLE_SMART_POINTER_TYPES
Documentation
Online developers documentation can be found libzypp
The other documentation can be found on your system. /usr/share/doc/packages/libzypp when libzypp-devel is installed.
Changes
Following subsections (will) contain lists of changes to the public API in corresponding released versions.
3.x.x
[A] zypp::parser::yum::RepoParser
[A] zypp::media::MediaManager::attachDesiredMedia(zypp::media::MediaAccessId)
[D] (some dropped API)
[M] (some modified API)
TODO: add all the stuff dropped, added, changed after finishing zypp2
TODO: make the A/D/M using images
This article needs to be expanded. You are welcome to help in line with the Style Guidelines.