openSUSE:Libzypp API

Jump to: navigation, search
libzypp provides all the functionality for a package manager:

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

Icon-expand.png
This article is a stub!
This article needs to be expanded. You are welcome to help in line with the Style Guidelines.