summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Schroeder <mls@suse.de>2013-05-17 16:39:06 +0200
committerMichael Schroeder <mls@suse.de>2013-05-17 16:39:06 +0200
commit8a0ffe45569bbc831dcefc582ce88870e2c9b205 (patch)
tree2cde77be05596cd3fa6fdb3ccde5af37cfd60f59
parent0424ef2001157e0bf0385da84828a6075c8d291c (diff)
downloadlibsolv-8a0ffe45569bbc831dcefc582ce88870e2c9b205.tar.gz
libsolv-8a0ffe45569bbc831dcefc582ce88870e2c9b205.tar.bz2
libsolv-8a0ffe45569bbc831dcefc582ce88870e2c9b205.zip
update bindings documentation
-rw-r--r--.gitignore1
-rw-r--r--doc/libsolv-bindings.375
-rw-r--r--doc/libsolv-bindings.txt454
3 files changed, 216 insertions, 314 deletions
diff --git a/.gitignore b/.gitignore
index 8562fd6..08fac49 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
*~
build
+doc/*.xml
tests/solver/data.libzypp/*/*.result
src/solvversion.h
diff --git a/doc/libsolv-bindings.3 b/doc/libsolv-bindings.3
index 33f48b8..150fafd 100644
--- a/doc/libsolv-bindings.3
+++ b/doc/libsolv-bindings.3
@@ -2,12 +2,12 @@
.\" Title: libsolv-bindings
.\" Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
-.\" Date: 05/16/2013
+.\" Date: 05/17/2013
.\" Manual: LIBSOLV
.\" Source: libsolv
.\" Language: English
.\"
-.TH "LIBSOLV\-BINDINGS" "3" "05/16/2013" "libsolv" "LIBSOLV"
+.TH "LIBSOLV\-BINDINGS" "3" "05/17/2013" "libsolv" "LIBSOLV"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -578,7 +578,7 @@ my \fI$chksum\fR \fB=\fR \fI$pool\fR\fB\->lookup_checksum(\fR\fI$solvid\fR\fB,\f
.RE
.\}
.sp
-Lookup functions\&. Return the data element stored in the specified solvable\&.
+Lookup functions\&. Return the data element stored in the specified solvable\&. You should probably use the methods of the Solvable class instead\&.
.sp
.if n \{\
.RS 4
@@ -856,7 +856,7 @@ Same as calling the str() method\&.
.RS 4
.\}
.nf
-\fB<comparisons ==, !=>\fR
+\fB<equality>\fR
\fBif (\fR\fI$dep1\fR \fB==\fR \fI$dep2\fR\fB)\fR
\fBif\fR \fIdep1\fR \fB==\fR \fIdep2\fR\fB:\fR
\fBif\fR \fIdep1\fR \fB==\fR \fIdep2\fR
@@ -975,6 +975,21 @@ The number of solvables in this repository\&.
.\}
.sp
Application specific data that may be used in any way by the code using the repository\&.
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fBDatapos *meta;\fR /* read only */
+\fI$repo\fR\fB\->{\*(Aqmeta\*(Aq}\fR
+\fIrepo\fR\fB\&.meta\fR
+\fIrepo\fR\fB\&.meta\fR
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+Return a Datapos object of the repodata\(cqs metadata\&. You can use the lookup methods of the Datapos class to lookup metadata attributes, like the repository timestamp\&.
.SS "CONSTANTS"
.PP
\fBREPO_REUSE_REPODATA\fR
@@ -1234,7 +1249,7 @@ Return the name of the repository, or "Repo#<id>" if no name is set\&.
.RS 4
.\}
.nf
-\fB<comparisons ==, !=>\fR
+\fB<equality>\fR
\fBif (\fR\fI$repo1\fR \fB==\fR \fI$repo2\fR\fB)\fR
\fBif\fR \fIrepo1\fR \fB==\fR \fIrepo2\fR\fB:\fR
\fBif\fR \fIrepo1\fR \fB==\fR \fIrepo2\fR
@@ -1244,54 +1259,6 @@ Return the name of the repository, or "Repo#<id>" if no name is set\&.
.\}
.sp
Two repositories are equal if they belong to the same pool and have the same id\&.
-.SS "LOOKUP FUNCTIONS"
-.sp
-Those functions can be used to retrieve information from a repository\&. For Package data lookups the methods in the Solvable class are prefered, so you probably only need this funcions to lookup repository meta information with \fBSOLVID_META\fR\&.
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-\fBconst char *lookup_str(Id\fR \fIsolvid\fR\fB, Id\fR \fIkeyname\fR\fB)\fR
-my \fI$str\fR \fB=\fR \fI$repo\fR\fB\->lookup_str(\fR\fI$solvid\fR\fB,\fR \fI$keyname\fR\fB)\fR;
-\fIstr\fR \fB=\fR \fIrepo\fR\fB\&.lookup_str(\fR\fIsolvid\fR\fB,\fR \fIkeyname\fR\fB)\fR
-\fIstr\fR \fB=\fR \fIrepo\fR\fB\&.lookup_str(\fR\fIsolvid\fR\fB,\fR \fIkeyname\fR\fB)\fR
-.fi
-.if n \{\
-.RE
-.\}
-.sp
-Lookup a string from the \fIkeyname\fR entry specified with \fIsolvid\fR\&.
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-\fBId lookup_id(Id\fR \fIsolvid\fR\fB, Id\fR \fIkeyname\fR\fB)\fR
-my \fI$id\fR \fB=\fR \fI$repo\fR\fB\->lookup_id(\fR\fI$solvid\fR\fB,\fR \fI$keyname\fR\fB)\fR;
-\fIid\fR \fB=\fR \fIrepo\fR\fB\&.lookup_id(\fR\fIsolvid\fR\fB,\fR \fIkeyname\fR\fB)\fR
-\fIid\fR \fB=\fR \fIrepo\fR\fB\&.lookup_id(\fR\fIsolvid\fR\fB,\fR \fIkeyname\fR\fB)\fR
-.fi
-.if n \{\
-.RE
-.\}
-.sp
-Lookup an Id from the \fIkeyname\fR entry specified with \fIsolvid\fR\&.
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-\fBunsigned long long lookup_num(Id\fR \fIsolvid\fR\fB, Id\fR \fIkeyname\fR\fB, unsigned long long\fR \fInotfound\fR \fB= 0)\fR
-my \fI$num\fR \fB=\fR \fI$repo\fR\fB\->lookup_num(\fR\fI$solvid\fR\fB,\fR \fI$keyname\fR\fB)\fR;
-\fInum\fR \fB=\fR \fIrepo\fR\fB\&.lookup_num(\fR\fIsolvid\fR\fB,\fR \fIkeyname\fR\fB)\fR
-\fInum\fR \fB=\fR \fIrepo\fR\fB\&.lookup_num(\fR\fIsolvid\fR\fB,\fR \fIkeyname\fR\fB)\fR
-.fi
-.if n \{\
-.RE
-.\}
-.sp
-Lookup a number from the \fIkeyname\fR entry specified with \fIsolvid\fR\&.
.SS "DATA ADD METHODS"
.sp
.if n \{\
@@ -1797,7 +1764,7 @@ Finalize the checksum and return the result as hex string\&.
.RS 4
.\}
.nf
-\fB<comparisons ==, !=>\fR
+\fB<equality>\fR
\fBif (\fR\fI$chksum1\fR \fB==\fR \fI$chksum2\fR\fB)\fR
\fBif\fR \fIchksum1\fR \fB==\fR \fIchksum2\fR\fB:\fR
\fBif\fR \fIchksum1\fR \fB==\fR \fIchksum2\fR
diff --git a/doc/libsolv-bindings.txt b/doc/libsolv-bindings.txt
index 6fcc624..deab4df 100644
--- a/doc/libsolv-bindings.txt
+++ b/doc/libsolv-bindings.txt
@@ -15,9 +15,8 @@ bla bla bla
THE POOL
--------
-The pool is libsolv's central resource manager. A pool
-consists of Solvables, Repositories, Dependencies, each
-indexed by Ids.
+The pool is libsolv's central resource manager. A pool consists of Solvables,
+Repositories, Dependencies, each indexed by Ids.
=== CLASS METHODS ===
@@ -36,8 +35,8 @@ one pool.
pool.appdata
pool.appdata
-Application specific data that may be used in any way by the
-code using the pool.
+Application specific data that may be used in any way by the code using the
+pool.
Solvable solvables[]; /* read only */
my $solvable = $pool->{'solvables'}->[$solvid];
@@ -58,8 +57,7 @@ Look up a Repository by its id.
pool.installed = repo
pool.installed = repo
-Define which repository contains all the installed
-packages.
+Define which repository contains all the installed packages.
=== METHODS ===
@@ -68,18 +66,17 @@ packages.
pool.free()
pool.free()
-Free a pool. This is currently done with a method
-instead of relying on reference counting or garbage
-collection because it's hard to track every reference
-to a pool.
-
+Free a pool. This is currently done with a method instead of relying on
+reference counting or garbage collection because it's hard to track every
+reference to a pool.
+
void setdebuglevel(int level)
$pool->setdebuglevel($level);
pool.setdebuglevel(level)
pool.setdebuglevel(level)
-Set the debug level. A value of zero means no debug output,
-the higher the value, the more output is generated.
+Set the debug level. A value of zero means no debug output, the higher the
+value, the more output is generated.
int set_flag(int flag, int value)
my $oldvalue = $pool->set_flag($flag, $value);
@@ -91,12 +88,10 @@ the higher the value, the more output is generated.
value = pool.get_flag(flag)
value = pool.get_flag(flag)
-Set/get a pool specific flag. The flags define how the
-system works, e.g. how the package manager treats
-obsoletes. The default flags should be sane for most
-applications, but in some cases you may want to tweak
-a flag, for example if you want to solv package
-dependencies for some other system than yours.
+Set/get a pool specific flag. The flags define how the system works, e.g. how
+the package manager treats obsoletes. The default flags should be sane for most
+applications, but in some cases you may want to tweak a flag, for example if
+you want to solv package dependencies for some other system than yours.
void set_rootdir(const char *rootdir)
$pool->set_rootdir(rootdir);
@@ -108,29 +103,26 @@ dependencies for some other system than yours.
rootdir = pool.get_rootdir()
rootdir = pool.get_rootdir()
-Set/get the rootdir to use. This is useful if you want
-package management to work only in some directory, for
-example if you want to setup a chroot jail. Note that
-the rootdir will only be prepended to file paths if
-the *REPO_USE_ROOTDIR* flag is used.
+Set/get the rootdir to use. This is useful if you want package management
+to work only in some directory, for example if you want to setup a chroot
+jail. Note that the rootdir will only be prepended to file paths if the
+*REPO_USE_ROOTDIR* flag is used.
void setarch(const char *arch = 0)
$pool->setarch();
pool.setarch()
pool.setarch()
-Set the architecture for your system. The architecture
-is used to determine which packages are installable. It
-defaults to the result of ``uname -m''.
+Set the architecture for your system. The architecture is used to determine
+which packages are installable. It defaults to the result of ``uname -m''.
Repo *add_repo(const char *name)
$repo = $pool->add_repo($name);
repo = pool.add_repo(name)
repo = pool.add_repo(name)
-Add a Repository with the specified name to the pool.
-The reposiory is empty on creation, use the repository
-methods to populate it with packages.
+Add a Repository with the specified name to the pool. The reposiory is empty
+on creation, use the repository methods to populate it with packages.
Repoiterator *repos_iter()
for my $repo (@{$pool->repos_iter()})
@@ -151,9 +143,8 @@ Iterate over the existing solvables.
dep = pool.Dep(string)
dep = pool.Dep(string)
-Create an object describing a string or dependency.
-If the string is currently not in the pool and
-_create_ is false, *undef*/*None*/*nil* is returned.
+Create an object describing a string or dependency. If the string is currently
+not in the pool and _create_ is false, *undef*/*None*/*nil* is returned.
void addfileprovides()
$pool->addfileprovides();
@@ -165,68 +156,57 @@ _create_ is false, *undef*/*None*/*nil* is returned.
ids = pool.addfileprovides_queue()
ids = pool.addfileprovides_queue()
-Some package managers like rpm allow dependencies on
-files contained in other packages. To allow libsolv
-to deal with those dependencies in an efficient way,
-you need to call the addfileprovides method after
-creating and reading all repositories. This method
-will scan all dependency for file names and than
-scan all packages for matching files. If a filename
-has been matched, it will be added to the provides
-list of the corresponding package.
-The addfileprovides_queue variant works the same
-way but returns an array containing all file
-dependencies. This information can be stored
-with the repository to speed up the next usage of
-the repository.
+Some package managers like rpm allow dependencies on files contained in other
+packages. To allow libsolv to deal with those dependencies in an efficient way,
+you need to call the addfileprovides method after creating and reading all
+repositories. This method will scan all dependency for file names and than scan
+all packages for matching files. If a filename has been matched, it will be
+added to the provides list of the corresponding package. The
+addfileprovides_queue variant works the same way but returns an array
+containing all file dependencies. This information can be stored with the
+repository to speed up the next usage of the repository.
void createwhatprovides()
$pool->createwhatprovides();
pool.createwhatprovides()
pool.createwhatprovides()
-Create the internal ``whatprovides'' hash over all
-of the provides of all packages. This method must
-be called before doing any lookups on provides.
-It's encuraged to do it right after all repos
-are set up, usually right after the call to
-addfileprovides().
+Create the internal ``whatprovides'' hash over all of the provides of all
+packages. This method must be called before doing any lookups on provides.
+It's encuraged to do it right after all repos are set up, usually right after
+the call to addfileprovides().
Queue whatprovides(DepId dep)
my @solvables = $pool->whatprovides($dep);
solvables = pool.whatprovides(dep)
solvables = pool.whatprovides(dep)
-Return all solvables that provide the specified
-dependency. You can use either a Dep object or
-an simple Id as argument.
+Return all solvables that provide the specified dependency. You can use either
+a Dep object or an simple Id as argument.
Queue matchprovidingids(const char *match, int flags)
my @ids = $pool->matchprovidingids($match, $flags);
ids = pool.matchprovidingids(match, flags)
ids = pool.matchprovidingids(match, flags)
-Search the names of all provides and return the ones
-matching the specified string. See the Dataiterator class
-for the allowed flags.
+Search the names of all provides and return the ones matching the specified
+string. See the Dataiterator class for the allowed flags.
Id towhatprovides(Queue ids)
my $offset = $pool->towhatprovides(\@ids);
offset = pool.towhatprovides(ids)
offset = pool.towhatprovides(ids)
-``Internalize'' an array containing Ids. The returned
-value can be used to create solver jobs working on
-a specific set of packages. See the Solver class for
-more information.
+``Internalize'' an array containing Ids. The returned value can be used to
+create solver jobs working on a specific set of packages. See the Solver class
+for more information.
bool isknownarch(DepId id)
my $bool = $pool->isknownarch($id);
bool = pool.isknownarch(id)
bool = pool.isknownarch?(id)
-Return true if the specified Id describs a known
-architecture.
+Return true if the specified Id describs a known architecture.
Solver *Solver()
my $solver = $pool->Solver();
@@ -240,35 +220,33 @@ Create a new solver object.
job = pool.Job(how, what)
job = pool.Job(how, what)
-Create a new Job object. Kind of low level, in most cases
-you would use a Selection or Dep job constructor instead.
+Create a new Job object. Kind of low level, in most cases you would use a
+Selection or Dep job constructor instead.
Selection *Selection()
my $sel = $pool->Selection();
sel = pool.Selection()
sel = pool.Selection()
-Create an empty selection. Useful as a starting point for
-merging other selections.
+Create an empty selection. Useful as a starting point for merging other
+selections.
Selection *Selection_all()
my $sel = $pool->Selection_all();
sel = pool.Selection_all()
sel = pool.Selection_all()
-Create a selection containing all packages. Useful as
-starting point for intersecting other selections or
-for update/distupgrade jobs.
+Create a selection containing all packages. Useful as starting point for
+intersecting other selections or for update/distupgrade jobs.
Selection *select(const char *name, int flags)
my $sel = $pool->select($name, $flags);
sel = pool.select(name, flags)
sel = pool.select(name, flags)
-Create a selection by matching packages against the
-specified string. See the Selection class for a
-list of flags and how to create solver jobs from
-a selection.
+Create a selection by matching packages against the specified string. See the
+Selection class for a list of flags and how to create solver jobs from a
+selection.
void setpooljobs(Jobs *jobs)
$pool->setpooljobs(\@jobs);
@@ -280,41 +258,34 @@ a selection.
jobs = pool.getpooljobs()
jobs = pool.getpooljobs()
-Get/Set fixed jobs stored in the pool. Those jobs
-are automatically appended to all solver jobs, they
-are meant for fixed configurations like which
-packages can be multiversion installed, which packages
-were userinstalled or must not be erased.
+Get/Set fixed jobs stored in the pool. Those jobs are automatically appended to
+all solver jobs, they are meant for fixed configurations like which packages
+can be multiversion installed, which packages were userinstalled or must not be
+erased.
void set_loadcallback(Callable *callback)
$pool->setloadcallback(\&callbackfunction);
pool.setloadcallback(callbackfunction)
pool.setloadcallback { |repodata| ... }
-Set the callback function called when repository
-metadata needs to be loaded on demand. To make use
-of this feature, you need to create repodata stubs
-that tell the library which data is available but
-not loaded. If later on the data needs to be
-accessed, the callback function is called with a
-repodata argument. You can then load the data
-(maybe fetching it first from an remote server).
-The callback should return true if the data has
-been made available.
+Set the callback function called when repository metadata needs to be loaded on
+demand. To make use of this feature, you need to create repodata stubs that
+tell the library which data is available but not loaded. If later on the data
+needs to be accessed, the callback function is called with a repodata argument.
+You can then load the data (maybe fetching it first from an remote server).
+The callback should return true if the data has been made available.
=== DATA RETRIEVAL METHODS ===
-In the following functions, the _keyname_ argument
-describes what to retrive. For the standard cases you
-can use the available Id constants. For example,
+In the following functions, the _keyname_ argument describes what to retrive.
+For the standard cases you can use the available Id constants. For example,
$solv::SOLVABLE_SUMMARY
solv.SOLVABLE_SUMMARY
Solv::SOLVABLE_SUMMARY
-selects the ``Summary'' entry of a solvable. The
-_solvid_ argument selects the desired solvable by
-Id.
+selects the ``Summary'' entry of a solvable. The _solvid_ argument selects the
+desired solvable by Id.
const char *lookup_str(Id solvid, Id keyname)
my $string = $pool->lookup_str($solvid, $keyname);
@@ -341,8 +312,8 @@ Id.
chksum = pool.lookup_checksum(solvid, keyname)
chksum = pool.lookup_checksum(solvid, keyname)
-Lookup functions. Return the data element stored in the
-specified solvable.
+Lookup functions. Return the data element stored in the specified solvable.
+You should probably use the methods of the Solvable class instead.
Dataiterator *Dataiterator(Id solvid, Id keyname, const char *match, int flags)
my $di = $pool->Dataiterator($solvid, $keyname, $match, $flags);
@@ -353,14 +324,13 @@ specified solvable.
for d in di:
for d in di
-Iterate over the matching data elements. See the Dataiterator class for
-more information.
+Iterate over the matching data elements. See the Dataiterator class for more
+information.
=== ID METHODS ===
-The following methods deal with Ids, i.e. integers
-representing objects in the pool. They are considered
-``low level'', in most cases you would not use them
+The following methods deal with Ids, i.e. integers representing objects in the
+pool. They are considered ``low level'', in most cases you would not use them
but instead the object orientated methods.
Repo *id2repo(Id id)
@@ -368,25 +338,24 @@ but instead the object orientated methods.
repo = pool.id2repo(id)
repo = pool.id2repo(id)
-Lookup an existing Repository by id. You can also do
-this by using the *repos* attribute.
+Lookup an existing Repository by id. You can also do this by using the *repos*
+attribute.
Solvable *id2solvable(Id id)
$solvable = $pool->id2solvable($id);
solvable = pool.id2solvable(id)
solvable = pool.id2solvable(id)
-Lookup an existing Repository by id. You can also do
-this by using the *solvables* attribute.
+Lookup an existing Repository by id. You can also do this by using the
+*solvables* attribute.
const char *solvid2str(Id id)
my $str = $pool->solvid2str($id);
str = pool.solvid2str(id)
str = pool.solvid2str(id)
-Return a string describing the Solvable with the specified
-id. The string consists of the name, version, and architecture
-of the Solvable.
+Return a string describing the Solvable with the specified id. The string
+consists of the name, version, and architecture of the Solvable.
Id str2id(const char *str, bool create=1)
my $id = pool->str2id($string);
@@ -398,53 +367,47 @@ of the Solvable.
string = pool.id2str(id)
string = pool.id2str(id)
-Convert a string into an Id and back. If the string is
-currently not in the pool and _create_ is false,
-zero is returned.
+Convert a string into an Id and back. If the string is currently not in the
+pool and _create_ is false, zero is returned.
Id rel2id(Id name, Id evr, int flags, bool create=1)
my $id = pool->rel2id($nameid, $evrid, $flags);
id = pool.rel2id(nameid, evrid, flags)
id = pool.rel2id(nameid, evrid, flags)
-Create a ``relational'' dependency. Such dependencies
-consist of a name part, the _flags_ describing the
-relation, and a version part. The flags are:
+Create a ``relational'' dependency. Such dependencies consist of a name part,
+the _flags_ describing the relation, and a version part. The flags are:
$solv::REL_EQ | $solv::REL_GT | $solv::REL_LT
solv.REL_EQ | solv.REL_GT | solv.REL_LT
Solv::REL_EQ | Solv::REL_GT | Solv::REL_LT
-Thus, if you want a ``\<='' relation, you would use
-*REL_LT | REL_EQ*.
+Thus, if you want a ``\<='' relation, you would use *REL_LT | REL_EQ*.
Id id2langid(Id id, const char *lang, bool create=1)
my $id = $pool->id2langid($id, $language);
id = pool.id2langid(id, language)
id = pool.id2langid(id, language)
-Create a language specific Id from some other id. This
-function simply converts the id into a string, appends
-a dot and the specified language to the string and
-converts the result back into an Id.
+Create a language specific Id from some other id. This function simply converts
+the id into a string, appends a dot and the specified language to the string
+and converts the result back into an Id.
const char *dep2str(Id id)
$string = pool->dep2str($id);
string = pool.dep2str(id)
string = pool.dep2str(id)
-Convert a dependency id into a string. If the id
-is just a string, this function has the same effect
-as id2str(). For relational dependencies, the result
-is the correct ``name relation evr'' string.
+Convert a dependency id into a string. If the id is just a string, this
+function has the same effect as id2str(). For relational dependencies, the
+result is the correct ``name relation evr'' string.
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 numbers. Dependency
-objects can be constructed by using the Pool's Dep()
+The dependency class is an object orientated way to work with strings and
+dependencies. Internally, dependencies are represented as Ids, i.e. simple
+numbers. Dependency objects can be constructed by using the Pool's Dep()
method.
=== ATTRIBUTES ===
@@ -470,28 +433,25 @@ The id of this dependency.
reldep = dep.Rel(flags, evrdep)
reldep = dep.Rel(flags, evrdep)
-Create a relational dependency from to string dependencies
-and a flags argument. See the pool's rel2id method for a
-description of the flags.
+Create a relational dependency from to string dependencies and a flags
+argument. See the pool's rel2id method for a description of the flags.
Selection *Selection_name(int setflags = 0)
my $sel = $dep->Selection_name();
sel = dep.Selection_name()
sel = dep.Selection_name()
-Create a Selection from a dependency. The selection
-consists of all packages that have a name equal to the
-dependency. If the dependency is of a relational type,
-the packages version must also fulfill the dependency.
+Create a Selection from a dependency. The selection consists of all packages
+that have a name equal to the dependency. If the dependency is of a relational
+type, the packages version must also fulfill the dependency.
Selection *Selection_provides(int setflags = 0)
my $sel = $dep->Selection_provides();
sel = dep.Selection_provides()
sel = dep.Selection_provides()
-Create a Selection from a dependency. The selection
-consists of all packages that have at least one provides
-matching the dependency.
+Create a Selection from a dependency. The selection consists of all packages
+that have at least one provides matching the dependency.
const char *str()
my $str = $dep->str();
@@ -507,19 +467,18 @@ Return a string describing the dependency.
Same as calling the str() method.
- <comparisons ==, !=>
+ <equality>
if ($dep1 == $dep2)
if dep1 == dep2:
if dep1 == dep2
-The dependencies are equal if they are part of the
-same pool and have the same ids.
+The dependencies are equal if they are part of the same pool and have the same
+ids.
THE REPOSITORY CLASS
--------------------
-A Repository describes a group of packages, normally comming from
-the same source. Repositories are created by the Pool's add_repo()
-method.
+A Repository describes a group of packages, normally comming from the same
+source. Repositories are created by the Pool's add_repo() method.
=== ATTRIBUTES ===
@@ -542,26 +501,26 @@ Return the id of the repository.
repo.name
repo.name
-The repositories name. To libsolv, the name is just a string
-with no specific meaning.
+The repositories name. To libsolv, the name is just a string with no specific
+meaning.
int prioprity; /* read/write */
$repo->{'priority'}
repo.priority
repo.priority
-The priority of the repository. A higher number means that
-packages of this repository will be chosen over other
-repositories, even if they have a greater package version.
+The priority of the repository. A higher number means that packages of this
+repository will be chosen over other repositories, even if they have a greater
+package version.
int subprioprity; /* read/write */
$repo->{'subpriority'}
repo.subpriority
repo.subpriority
-The sub-priority of the repository. This value is compared when
-the priorities of two repositories are the same. It is useful
-to make the library prefer on-disk repositories to remote ones.
+The sub-priority of the repository. This value is compared when the priorities
+of two repositories are the same. It is useful to make the library prefer
+on-disk repositories to remote ones.
int nsolvables; /* read only */
$repo->{'nsolvables'}
@@ -575,8 +534,17 @@ The number of solvables in this repository.
repo.appdata
repo.appdata
-Application specific data that may be used in any way by the
-code using the repository.
+Application specific data that may be used in any way by the code using the
+repository.
+
+ Datapos *meta; /* read only */
+ $repo->{'meta'}
+ repo.meta
+ repo.meta
+
+Return a Datapos object of the repodata's metadata. You can use the lookup
+methods of the Datapos class to lookup metadata attributes, like the repository
+timestamp.
=== CONSTANTS ===
@@ -627,17 +595,18 @@ code using the repository.
repo.free()
repo.free()
-Free the repository and all solvables it contains. If _reuseids_ is set to true, the
-solvable ids and the repository id may be reused by the library when added new solvables.
-Thus you should leave it false if you are not sure that somebody holds a reference.
+Free the repository and all solvables it contains. If _reuseids_ is set to
+true, the solvable ids and the repository id may be reused by the library when
+added new solvables. Thus you should leave it false if you are not sure that
+somebody holds a reference.
void empty(bool reuseids = 0)
$repo->empty();
repo.empty()
repo.empty()
-Free all the solvables in a repository. The repository will be empty after this call.
-See the free() method for the meaning of _reuseids_.
+Free all the solvables in a repository. The repository will be empty after this
+call. See the free() method for the meaning of _reuseids_.
bool isempty()
$repo->isempty()
@@ -692,19 +661,19 @@ repository.
repo.iscontiguous()
repo.iscontiguous?
-Return true if the solvables of this repository are all in a single
-block with no holes, i.e. they have consecutive ids.
+Return true if the solvables of this repository are all in a single block with
+no holes, i.e. they have consecutive ids.
Repodata *first_repodata()
my $repodata = $repo->first_repodata();
repodata = repo.first_repodata()
repodata = repo.first_repodata()
-Checks if all repodatas but the first repodata are extensions, and return
-the first repodata if this is the case. Useful if you want to do a
-store/retrive sequence on the repository to reduce the memory using and
-enable paging, as this does not work if the rpository contains multiple
-non-extension repodata areas.
+Checks if all repodatas but the first repodata are extensions, and return the
+first repodata if this is the case. Useful if you want to do a store/retrive
+sequence on the repository to reduce the memory using and enable paging, as
+this does not work if the rpository contains multiple non-extension repodata
+areas.
Selection *Selection(int setflags = 0)
my $sel = $repo->Selection();
@@ -732,40 +701,13 @@ Dataiterator class for more information.
Return the name of the repository, or "Repo#<id>" if no name is set.
- <comparisons ==, !=>
+ <equality>
if ($repo1 == $repo2)
if repo1 == repo2:
if repo1 == repo2
Two repositories are equal if they belong to the same pool and have the same id.
-=== LOOKUP FUNCTIONS ===
-Those functions can be used to retrieve information from a repository. For
-Package data lookups the methods in the Solvable class are prefered, so
-you probably only need this funcions to lookup repository meta information
-with *SOLVID_META*.
-
- const char *lookup_str(Id solvid, Id keyname)
- my $str = $repo->lookup_str($solvid, $keyname);
- str = repo.lookup_str(solvid, keyname)
- str = repo.lookup_str(solvid, keyname)
-
-Lookup a string from the _keyname_ entry specified with _solvid_.
-
- Id lookup_id(Id solvid, Id keyname)
- my $id = $repo->lookup_id($solvid, $keyname);
- id = repo.lookup_id(solvid, keyname)
- id = repo.lookup_id(solvid, keyname)
-
-Lookup an Id from the _keyname_ entry specified with _solvid_.
-
- unsigned long long lookup_num(Id solvid, Id keyname, unsigned long long notfound = 0)
- my $num = $repo->lookup_num($solvid, $keyname);
- num = repo.lookup_num(solvid, keyname)
- num = repo.lookup_num(solvid, keyname)
-
-Lookup a number from the _keyname_ entry specified with _solvid_.
-
=== DATA ADD METHODS ===
Solvable *add_solvable()
@@ -773,8 +715,8 @@ Lookup a number from the _keyname_ entry specified with _solvid_.
repo.add_solvable()
repo.add_solvable()
-Add a single empty solvable to the repository. Returns a Solvable object, see the
-Solvable class for more information.
+Add a single empty solvable to the repository. Returns a Solvable object, see
+the Solvable class for more information.
bool add_solv(const char *name, int flags = 0)
$repo->add_solv($name, $flags);
@@ -786,9 +728,9 @@ Solvable class for more information.
repo.add_solv(fp, flags)
repo.add_solv(fp, flags)
-Read a ``solv'' file and add its contents to the repository. These
-files can be written with the write() method and are normally
-used as fast cache for repository metadata.
+Read a ``solv'' file and add its contents to the repository. These files can be
+written with the write() method and are normally used as fast cache for
+repository metadata.
bool add_rpmdb(int flags = 0)
$repo->add_rpmdb($flags);
@@ -801,8 +743,8 @@ used as fast cache for repository metadata.
repo.add_rpmdb_reffp($reffp, flags)
Add the contents of the rpm database to the repository. If a solv file
-containing an old version of the database is available, it can be
-passed as reffp to speed up reading.
+containing an old version of the database is available, it can be passed as
+reffp to speed up reading.
bool add_rpm(const char *name, int flags = 0)
$repo->add_rpm($name, $flags);
@@ -833,10 +775,11 @@ Add a pubkey from a file to the repository.
repo.add_rpmmd(fp, language)
Add metadata stored in the "rpm-md" format (i.e. from files in the ``repodata''
-directory) to a repository. Supported files are "primary", "filelists", "other",
-"suseinfo". Do not forget to specify the *REPO_EXTEND_SOLVABLES* for extension
-files like "filelists" and "other". Use the _language_ parameter if you have
-language extension files, otherwise simply use a *undef*/*None*/*nil* parameter.
+directory) to a repository. Supported files are "primary", "filelists",
+"other", "suseinfo". Do not forget to specify the *REPO_EXTEND_SOLVABLES* for
+extension files like "filelists" and "other". Use the _language_ parameter if
+you have language extension files, otherwise simply use a *undef*/*None*/*nil*
+parameter.
bool add_repomdxml(FILE *fp, int flags = 0)
$repo->add_repomdxml($fp);
@@ -844,8 +787,8 @@ language extension files, otherwise simply use a *undef*/*None*/*nil* parameter.
repo.add_repomdxml(fp)
Add the repomd.xml meta description from the "rpm-md" format to the repository.
-This file contains information about the repository like keywords, and also
-a list of all database files with checksums. The data is added the the "meta"
+This file contains information about the repository like keywords, and also a
+list of all database files with checksums. The data is added the the "meta"
section of the repository, i.e. no package gets created.
bool add_updateinfoxml(FILE *fp, int flags = 0)
@@ -893,24 +836,24 @@ Add the metadata of a single deb package to the repository.
repo.add_mdk($fp)
repo.add_mdk($fp)
-Add the contents of the mageia/mandriva repository metadata (the "synthesis.hdlist" file)
-to the repository.
+Add the contents of the mageia/mandriva repository metadata (the
+"synthesis.hdlist" file) to the repository.
bool add_mdk_info(FILE *fp, int flags = 0)
$repo->add_mdk($fp);
repo.add_mdk($fp)
repo.add_mdk($fp)
-Extend the packages from the synthesis file with the info.xml and files.xml data. Do
-not forget to specify *REPO_EXTEND_SOLVABLES*.
+Extend the packages from the synthesis file with the info.xml and files.xml
+data. Do not forget to specify *REPO_EXTEND_SOLVABLES*.
bool add_arch_repo(FILE *fp, int flags = 0)
$repo->add_arch_repo($fp);
repo.add_arch_repo($fp)
repo.add_arch_repo($fp)
-Add the contents of the archlinux repository metadata (the ".db.tar" file) to the
-repository.
+Add the contents of the archlinux repository metadata (the ".db.tar" file) to
+the repository.
bool add_arch_local(const char *dir, int flags = 0)
$repo->add_arch_local($dir);
@@ -945,8 +888,8 @@ vendors, it is usually provided in the content file.
repo.add_products(dir)
repo.add_products(dir)
-Add the installed SUSE products database to the repository. The _dir_ parameter is
-usually "/etc/products.d".
+Add the installed SUSE products database to the repository. The _dir_ parameter
+is usually "/etc/products.d".
THE SOLVABLE CLASS
------------------
@@ -974,9 +917,8 @@ xxx
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.
+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.
=== CLASS METHODS ===
@@ -985,8 +927,7 @@ mechanism to check if data has changed.
chksum = solv.Chksum(type)
chksum = Solv::Chksum.new(type)
-Create a checksum object. Currently the following types
-are supported:
+Create a checksum object. Currently the following types are supported:
REPOKEY_TYPE_MD5
REPOKEY_TYPE_SHA1
@@ -1031,25 +972,23 @@ Add the contents of a file to the checksum.
chksum.add_stat(filename)
chksum.add_stat(filename)
-Stat the file and add the dev/ino/size/mtime member to the
-checksum. If the stat fails, the members are zeroed.
+Stat the file and add the dev/ino/size/mtime member to the checksum. If the
+stat fails, the members are zeroed.
void add_fstat(int fd)
$chksum->add_fstat($fd);
chksum.add_fstat(fd)
chksum.add_fstat(fd)
-Same as add_stat, but instead of the filename a file
-descriptor is used.
+Same as add_stat, but instead of the filename a file descriptor is used.
unsigned char *raw()
my $raw = $chksum->raw();
raw = chksum.raw()
raw = chksum.raw()
-Finalize the checksum and return the result as raw bytes. This
-means that the result can contain zero bytes or
-unprintable characters.
+Finalize the checksum and return the result as raw bytes. This means that the
+result can contain zero bytes or unprintable characters.
unsigned char *hex()
my $raw = $chksum->hex();
@@ -1058,50 +997,46 @@ unprintable characters.
Finalize the checksum and return the result as hex string.
- <comparisons ==, !=>
+ <equality>
if ($chksum1 == $chksum2)
if chksum1 == chksum2:
if chksum1 == chksum2
-Checksums are equal if they are of the same type and the
-finalized results are the same.
+Checksums are equal if they are of the same type and the finalized results are
+the same.
<stringification>
my $str = "$chksum";
str = str(chksum)
str = chksum.to_s
-If the checksum is finished, the checksum is returned
-as "<type>:<hex>" string. Otherwise "<type>:unfinished"
-is returned.
+If the checksum is finished, the checksum is returned as "<type>:<hex>" string.
+Otherwise "<type>:unfinished" is returned.
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 files. The
-libsolv functions also support decompression and
-compression, the algorithm is selected by looking at
-the file name extension.
+This functions were added because libsolv uses standard *FILE* pointers to
+read/write files, but languages like perl have their own implementation of
+files. The libsolv functions also support decompression and compression, the
+algorithm is selected by looking at the file name extension.
FILE *xfopen(char *fn, char *mode = "r")
my $file = solv::xfopen($path);
file = solv.xfopen(path)
file = Solv::xfopen(path)
-Open a file at the specified path. The `mode` argument is
-passed on to the stdio library.
+Open a file at the specified path. The `mode` argument is passed on to the
+stdio library.
FILE *xfopen_fd(char *fn, int fileno)
my $file = solv::xfopen_fd($path, $fileno);
file = solv.xfopen_fd(path, fileno)
file = Solv::xfopen_fd(path, fileno)
-Create a file handle from the specified file descriptor.
-The path argument is only used to select the correct
-(de-)compression algorithm, use an empty path if you want
-to make sure to read/write raw data.
+Create a file handle from the specified file descriptor. The path argument is
+only used to select the correct (de-)compression algorithm, use an empty path
+if you want to make sure to read/write raw data.
=== METHODS ===
@@ -1110,35 +1045,34 @@ to make sure to read/write raw data.
fileno = file.fileno()
fileno = file.fileno()
-Return file file descriptor of the file. If the file is not
-open, `-1` is returned.
+Return file file descriptor of the file. If the file is not open, `-1` is
+returned.
int dup()
my $fileno = $file->dup();
fileno = file.dup()
fileno = file.dup()
-Return a copy of the descriptor of the file. If the file is not
-open, `-1` is returned.
+Return a copy of the descriptor of the file. If the file is not open, `-1` is
+returned.
bool flush()
$file->flush();
file.flush()
file.flush()
-Flush the file. Returns false if there was an error. Flushing a
-closed file always returns true.
+Flush the file. Returns false if there was an error. Flushing a closed file
+always returns true.
bool close()
$file->close();
file.close()
file.close()
-Close the file. This is needed for languages like Ruby, that do
-not destruct objects right after they are no longer referenced.
-In that case, it is good style to close open files so that
-the file descriptors are freed right away. Returns false if
-there was an error.
+Close the file. This is needed for languages like Ruby, that do not destruct
+objects right after they are no longer referenced. In that case, it is good
+style to close open files so that the file descriptors are freed right away.
+Returns false if there was an error.
THE REPODATACLASS
-----------------