Introduction
Welcome to the libzypp documentation.
libzypp is the package management library that powers applications like YaST, zypper and the openSUSE/SLE implementation of PackageKit.
What is libzypp?
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
Implementation
libzypp is implemented as a C++ library with experimental bindings available for python and ruby.
Other functionality offered by libzypp
Most of libzypp functionality is implemented over components provided also by libzypp:
- Media abstraction library offering a common interface over local files, http,ftp,iso,nfs and other protocols.
3rd party software libzypp is based on
Additionally, some functionality libzypp uses is based on 3rd party libraries:
- SAT solver library, for dependency solving and repository data storage and querying
- curl, that powers some protocols of the media abstraction component
- boost, for misc. utilities like shared pointers, functors and algorithms.
Join the community
Visit our web site at : http://en.opensuse.org/Libzypp or zypp on irc.freenode.net
License
Copyright (C) 2000-2002 Ximian, Inc.
Copyright (C) 2005 SUSE Linux Products GmbH
ZYpp is licensed under the GNU General Public License version 2
or later. The text of the GNU General Public License can be viewed at
http:
As
a special exception, you have permission to link
this program
with the following libraries and distribute executables, as long as you
follow the requirements of the GNU GPL in regard to all of the
software in the executable aside from the following libraries:
- OpenSSL (http: