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.