man: libsolv.3 libsolv-bindings.3 libsolv-constantids.3 libsolv-history.3
-.SUFFIXES: .3 .txt
+html: libsolv.html libsolv-bindings.html libsolv-constantids.html libsolv-history.html
+
+.SUFFIXES: .html .3 .txt
.txt.3:
a2x -f manpage $<
+.txt.html:
+ a2x -f xhtml $<
'\" t
-.\" Title: libsolv-bindings
+.\" Title: Libsolv-Bindings
.\" Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
-.\" Date: 06/10/2013
+.\" Date: 06/11/2013
.\" Manual: LIBSOLV
.\" Source: libsolv
.\" Language: English
.\"
-.TH "LIBSOLV\-BINDINGS" "3" "06/10/2013" "libsolv" "LIBSOLV"
+.TH "LIBSOLV\-BINDINGS" "3" "06/11/2013" "libsolv" "LIBSOLV"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.PP
\fBSOLVER_MULTIVERSION\fR
.RS 4
-Mark the matched packages for multiversion install\&. If they get to be installed because of some other job, the installation will keep the old version of the package installed (for rpm by using \(oq`\-i\*(Aq\*(Aq instead of ``\-U\(cq\*(Aq)\&.
+Mark the matched packages for multiversion install\&. If they get to be installed because of some other job, the installation will keep the old version of the package installed (for rpm by using \(lq\-i\(rq instead of \(lq\-U\(rq)\&.
.RE
.PP
\fBSOLVER_LOCK\fR
-LIBSOLV-BINDINGS(3)
+Libsolv-Bindings(3)
===================
:man manual: LIBSOLV
:man source: libsolv
-NAME
+Name
----
libsolv-bindings - access libsolv from perl/python/ruby
-DESCRIPTION
+Description
-----------
Libsolv's language bindings offer an abstract, object orientated interface
to the library. The supported languages are currently perl, python, and ruby.
order).
-PERL SPECIFICS
+Perl Specifics
--------------
Libsolv's perl bindings can be loaded with the following statement:
$pool->set_flag($solv::Pool::POOL_FLAG_OBSOLETEUSESCOLORS, 1);
-PYTHON SPECIFICS
+Python Specifics
----------------
The python bindings can be loaded with:
pool.set_flag(solv.Pool.POOL_FLAG_OBSOLETEUSESCOLORS, 1);
-RUBY SPECIFICS
+Ruby Specifics
--------------
The ruby bindings can be loaded with:
puts "empty repo" if repo.isempty?
-THE SOLV CLASS
+The Solv Class
--------------
This is the main namespace of the library, you cannot create objects of this
type but it contains some useful constants.
see the libsolv-constantids manpage for a list of fixed Ids.
-THE POOL CLASS
+The Pool Class
--------------
The pool is libsolv's central resource manager. A pool consists of Solvables,
Repositories, Dependencies, each indexed by Ids.
result is the correct ``name relation evr'' string.
-THE DEPENDENCY CLASS
+The Dependency Class
--------------------
The dependency class is an object orientated way to work with strings and
dependencies. Internally, dependencies are represented as Ids, i.e. simple
ids.
-THE REPOSITORY CLASS
+The Repository Class
--------------------
A Repository describes a group of packages, normally coming from the same
source. Repositories are created by the Pool's add_repo() method.
is usually "/etc/products.d".
-THE SOLVABLE CLASS
+The Solvable Class
------------------
A solvable describes all the information of one package. Each solvable
belongs to one repository, it can be added and filled manually but in
ids.
-THE DATAITERATOR CLASS
+The Dataiterator Class
----------------------
Dataiterators can be used to do complex string searches or
to iterate over arrays. They can be created via the
Iterate through the matches. If there is a match, the object
in d will be of type Datamatch.
-THE DATAMATCH CLASS
+The Datamatch Class
-------------------
Objects of this type will be created for every value matched
by a dataiterator.
Numeric values are currently stringified to an empty string.
-THE SELECTION CLASS
+The Selection Class
-------------------
Selections are a way to easily deal with sets of packages.
There are multiple constructors to create them, the most useful
Return a string describing the selection.
-THE JOB CLASS
+The Job Class
-------------
Jobs are the way to specify to the dependency solver what to do.
Most of the times jobs will get created by calling the jobs() method
the set bits are automatically added, e.g. selecting ``screen.i586'' will
automatically add SOLVER_SETARCH, and thus no problem will be reported.
-THE SOLVER CLASS
+The Solver Class
----------------
Dependency solving is what this library is about. A solver object is needed
for solving to store the result of the solver run. The solver object can be
is available even if problems were found, this is useful for interactive user
interfaces that show both the job result and the problems.
-THE PROBLEM CLASS
+The Problem Class
-----------------
Problems are the way of the solver to interact with the user. You can simply list
all problems and terminate your program, but a better way is to present solutions to
Return the number of solutions without creating solution objects.
-THE RULE CLASS
+The Rule Class
--------------
Rules are the basic block of sat solving. Each package dependency gets translated
into one or multiple rules.
Two rules are equal if they belong to the same solver and have the same id.
-THE RULEINFO CLASS
+The Ruleinfo Class
------------------
A Ruleinfo describes one reason why a rule was created.
A string describing the ruleinfo from a problem perspective. This probably
only makes sense if the rule is part of a problem.
-THE SOLUTION CLASS
+The Solution Class
------------------
A solution solves one specific problem. It consists of multiple solution elements
that all need to be executed.
of expandreplaces is set to true.
-THE SOLUTIONELEMENT CLASS
+The Solutionelement Class
-------------------------
A solution element describes a single action of a solution. The action is always
either to remove one specific job or to add a new job that installs or erases
A string describing the change the solution element consists of.
-THE TRANSACTION CLASS
+The Transaction Class
---------------------
Transactions describe the output of a solver run. A transaction contains
a number of transaction elements, each either the installation of a new
passive mode list will be unchanged but the active mode list will just
contain A-2-1.
-THE TRANSACTIONCLASS CLASS
+The Transactionclass Class
--------------------------
Objects of this type are returned by the classify() Transaction method.
Return the solvables for all transaction elements in the class.
-CHECKSUMS
+Checksums
---------
Checksums (also called hashes) are used to make sure that downloaded data is
not corrupt and also as a fingerprint mechanism to check if data has changed.
Otherwise "<type>:unfinished" is returned.
-FILE MANAGEMENT
+File Management
---------------
This functions were added because libsolv uses standard *FILE* pointers to
read/write files, but languages like perl have their own implementation of
Returns false if there was an error.
-THE REPODATA CLASS
+The Repodata Class
------------------
The Repodata stores attributes for packages and the repository itself, each
repository can have multiple repodata areas. You normally only need to
to put the structure in an array.
-THE DATAPOS CLASS
+The Datapos Class
-----------------
Datapos objects describe a specific position in the repository data area.
Thus they are only valid until the repository is modified in some way.
'\" t
-.\" Title: libsolv-constantids
+.\" Title: Libsolv-Constantids
.\" Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
-.\" Date: 06/10/2013
+.\" Date: 06/11/2013
.\" Manual: LIBSOLV
.\" Source: libsolv
.\" Language: English
.\"
-.TH "LIBSOLV\-CONSTANTIDS" "3" "06/10/2013" "libsolv" "LIBSOLV"
+.TH "LIBSOLV\-CONSTANTIDS" "3" "06/11/2013" "libsolv" "LIBSOLV"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.PP
\fBSOLVABLE_LICENSE "solvable:license"\fR
.RS 4
-The license of this package\&.
+The license(s) of this package\&.
.RE
.PP
\fBSOLVABLE_BUILDTIME "solvable:buildtime"\fR
.RS 4
The text of a changelog entry\&.
.RE
-.SH "SPECIAL SOLVABLEATTRIBUTES"
+.SH "SPECIAL SOLVABLE ATTRIBUTES"
.PP
\fBRPM_RPMDBID "rpm:dbid"\fR
.RS 4
-LIBSOLV-CONSTANTIDS(3)
+Libsolv-Constantids(3)
======================
:man manual: LIBSOLV
:man source: libsolv
-NAME
+Name
----
libsolv-constantids - fixed Ids for often used strings
-DESCRIPTION
+Description
-----------
Constant Ids are Ids of strings that are often needed. They are defined
to ease programming and reduce the number of pool_str2id calls. The
be read when the ABI is broken.
-SPECIAL STRINGS
+Special Strings
---------------
*ID_EMPTY ""*::
The empty string. It will always have Id 1.
The name of the always installed "system" solvable.
-SOLVABLE ATTRIBUTES
+Solvable Attributes
-------------------
These are Ids for keyname of attributes. They can be used in the
lookup and storage functions to select the correct attribute in the
list of keyword string IDs used for tagging this package.
*SOLVABLE_LICENSE "solvable:license"*::
- The license of this package.
+ The license(s) of this package.
*SOLVABLE_BUILDTIME "solvable:buildtime"*::
The seconds since the unix epoch when the binary package was created.
The text of a changelog entry.
-SPECIAL SOLVABLEATTRIBUTES
---------------------------
+Special Solvable Attributes
+---------------------------
*RPM_RPMDBID "rpm:dbid"*::
The rpm database id of this (installed) package. Usually a small
integer number.
architecture of the solvable used for sharing attributes.
-SOLVABLE ARCHITECTURES
+Solvable Architectures
----------------------
Predefined architecture values for commonly used architectures.
and Haiku.
-DEPENDENCY IDS
+Dependency Ids
--------------
Namespaces are special modifiers that change the meaning of a dependency.
Namespace dependencies are created with the REL_NAMESPACE flag. To make
synthetic file provides dependencies added by pool_addfileprovides().
-DATA TYPES
+Data Types
----------
Each attribute data is stored with a type, so that the lookup functions
know how to interpret the data. The following types are available:
The data does not exist. Used to mark an attribute that was deleted.
-REPOSITORY METADATA
+Repository Metadata
-------------------
This attributes contain meta information about the repository.
the solv file.
-REPOSITORY METADATA FOR SUSETAGS REPOS
+Repository Metadata for Susetags Repos
--------------------------------------
Attributes describing repository files in a susetags repository.
*SUSETAGS_DATADIR "susetags:datadir"*::
The file checksum of the resource.
-REPOSITORY METADATA FOR RPMMD REPOS
+Repository Metadata for RpmMD Repos
-----------------------------------
*REPOSITORY_REPOMD "repository:repomd"*::
An array of file resources of the repository.
The size of the resource file.
-DELTA PACKAGE ATTRIBUTES
+Delta Package Attributes
------------------------
*DELTA_PACKAGE_NAME "delta:pkgname"*::
The target package name for the delta package. Applying the delta
'\" t
-.\" Title: libsolv-history
-.\" Author: [see the "AUTHOR" section]
+.\" Title: Libsolv-History
+.\" Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
-.\" Date: 06/10/2013
+.\" Date: 06/11/2013
.\" Manual: LIBSOLV
.\" Source: libsolv
.\" Language: English
.\"
-.TH "LIBSOLV\-HISTORY" "3" "06/10/2013" "libsolv" "LIBSOLV"
+.TH "LIBSOLV\-HISTORY" "3" "06/11/2013" "libsolv" "LIBSOLV"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
-LIBSOLV-HISTORY(3)
+Libsolv-History(3)
==================
:man manual: LIBSOLV
:man source: libsolv
-NAME
+Name
----
libsolv-history - how the libsolv library came into existence
-HISTORY
+History
-------
This project was started in May 2007 when the zypp folks decided to switch
to a database to speed up installation. As I am not a big fan of databases,
some drastic speed gains. The last traces of the old database code
were removed in February.
-AUTHOR
+Author
------
Michael Schroeder <mls@suse.de>
'\" t
-.\" Title: libsolv
-.\" Author: [see the "AUTHOR" section]
+.\" Title: Libsolv
+.\" Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
-.\" Date: 06/10/2013
+.\" Date: 06/11/2013
.\" Manual: LIBSOLV
.\" Source: libsolv
.\" Language: English
.\"
-.TH "LIBSOLV" "3" "06/10/2013" "libsolv" "LIBSOLV"
+.TH "LIBSOLV" "3" "06/11/2013" "libsolv" "LIBSOLV"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
-LIBSOLV(3)
+Libsolv(3)
==========
:man manual: LIBSOLV
:man source: libsolv
-NAME
+Name
----
libsolv - package dependency solver library using a satisfiability algorithm
-DOCUMENTATION
+Documentation
-------------
The libsolv documentation is split into multiple parts:
*libsolv-bindings*::
access libsolv from perl/python/ruby
-AUTHOR
+Author
------
Michael Schroeder <mls@suse.de>