summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Schroeder <mls@suse.de>2013-05-27 18:24:59 +0200
committerMichael Schroeder <mls@suse.de>2013-05-27 18:24:59 +0200
commitcde550e0c54bd21acd0a7cd755bd2c031b1f8061 (patch)
treee27f2e1c057b756675591f858a85342c38e30ca3
parent65f64e0a6bf74498cc92f5dea1b4cef5fed23643 (diff)
downloadlibsolv-cde550e0c54bd21acd0a7cd755bd2c031b1f8061.tar.gz
libsolv-cde550e0c54bd21acd0a7cd755bd2c031b1f8061.tar.bz2
libsolv-cde550e0c54bd21acd0a7cd755bd2c031b1f8061.zip
define and document the pool flags
-rw-r--r--bindings/solv.i9
-rw-r--r--doc/libsolv-bindings.341
-rw-r--r--doc/libsolv-bindings.txt51
3 files changed, 101 insertions, 0 deletions
diff --git a/bindings/solv.i b/bindings/solv.i
index 0d89094..06cbfbf 100644
--- a/bindings/solv.i
+++ b/bindings/solv.i
@@ -1034,6 +1034,15 @@ typedef struct {
}
%extend Pool {
+ static const int POOL_FLAG_PROMOTEEPOCH = POOL_FLAG_PROMOTEEPOCH;
+ static const int POOL_FLAG_FORBIDSELFCONFLICTS = POOL_FLAG_FORBIDSELFCONFLICTS;
+ static const int POOL_FLAG_OBSOLETEUSESPROVIDES = POOL_FLAG_OBSOLETEUSESPROVIDES;
+ static const int POOL_FLAG_IMPLICITOBSOLETEUSESPROVIDES = POOL_FLAG_IMPLICITOBSOLETEUSESPROVIDES;
+ static const int POOL_FLAG_OBSOLETEUSESCOLORS = POOL_FLAG_OBSOLETEUSESCOLORS;
+ static const int POOL_FLAG_NOINSTALLEDOBSOLETES = POOL_FLAG_NOINSTALLEDOBSOLETES;
+ static const int POOL_FLAG_HAVEDISTEPOCH = POOL_FLAG_HAVEDISTEPOCH;
+ static const int POOL_FLAG_NOOBSOLETESMULTIVERSION = POOL_FLAG_NOOBSOLETESMULTIVERSION;
+
Pool() {
Pool *pool = pool_create();
return pool;
diff --git a/doc/libsolv-bindings.3 b/doc/libsolv-bindings.3
index 2f262df..66c1ded 100644
--- a/doc/libsolv-bindings.3
+++ b/doc/libsolv-bindings.3
@@ -112,6 +112,47 @@ Look up a Repository by its id\&.
.\}
.sp
Define which repository contains all the installed packages\&.
+.SS "CONSTANTS"
+.PP
+\fBPOOL_FLAG_PROMOTEEPOCH\fR
+.RS 4
+Promote the epoch of the providing dependency to the requesting dependency if it does not contain an epoch\&. Used at some time in old rpm versions, modern systems should never need this\&.
+.RE
+.PP
+\fBPOOL_FLAG_FORBIDSELFCONFLICTS\fR
+.RS 4
+Disallow the installation of packages that conflict with themselfs\&. Debian always allowd self\-conflicting packages, rpm used to forbid them but switched to also allowing them recently\&.
+.RE
+.PP
+\fBPOOL_FLAG_OBSOLETEUSESPROVIDES\fR
+.RS 4
+Make obsolete type dependency match against provides instead of just the name and version of packages\&. Very old versions of rpm used the name/version, then it got switched to provides and later switched back again to just name/version\&.
+.RE
+.PP
+\fBPOOL_FLAG_IMPLICITOBSOLETEUSESPROVIDES\fR
+.RS 4
+An implicit obsoletes is the internal mechanism to remove the old package on an update\&. The default is to remove all packages with the same name, rpm\-5 switched to also removing packages providing the same name\&.
+.RE
+.PP
+\fBPOOL_FLAG_OBSOLETEUSESCOLORS\fR
+.RS 4
+Rpm\(cqs multilib implementation (used in RedHat and Fedora) distinguishes between 32bit and 64bit packages (the terminology is that they have a different color)\&. If obsolteusescolors is set, packages with different colors will not obsolete each other\&. This is also true for implicit obsoletes, thus you can install both the 32bit and the 64bit version of a package with the same name\&.
+.RE
+.PP
+\fBPOOL_FLAG_NOINSTALLEDOBSOLETES\fR
+.RS 4
+New versions of rpm consider the obsoletes of installed packages when checking for dependency, thus you may not install a package that is obsoleted by some other installed package, unless you also deinstall the other package\&.
+.RE
+.PP
+\fBPOOL_FLAG_HAVEDISTEPOCH\fR
+.RS 4
+Mandriva added a new field called distepoch that gets checked in version comparison if the epoch/version/release of two packages are the same\&.
+.RE
+.PP
+\fBPOOL_FLAG_NOOBSOLETESMULTIVERSION\fR
+.RS 4
+If a package is installed in multiversionmode, rpm used to ignore both the implicit obsoletes and the obsolete dependency of a package\&. This was changed to ignoring just the implicit obsoletes, thus you may install multiple versions of the same name, but obsoleted packages still get removed\&.
+.RE
.SS "METHODS"
.sp
.if n \{\
diff --git a/doc/libsolv-bindings.txt b/doc/libsolv-bindings.txt
index 8d726c4..dddccbd 100644
--- a/doc/libsolv-bindings.txt
+++ b/doc/libsolv-bindings.txt
@@ -59,6 +59,57 @@ Look up a Repository by its id.
Define which repository contains all the installed packages.
+=== CONSTANTS ===
+
+*POOL_FLAG_PROMOTEEPOCH*::
+ Promote the epoch of the providing dependency to the requesting
+ dependency if it does not contain an epoch. Used at some time
+ in old rpm versions, modern systems should never need this.
+
+*POOL_FLAG_FORBIDSELFCONFLICTS*::
+ Disallow the installation of packages that conflict with themselfs.
+ Debian always allowd self-conflicting packages, rpm used to forbid
+ them but switched to also allowing them recently.
+
+*POOL_FLAG_OBSOLETEUSESPROVIDES*::
+ Make obsolete type dependency match against provides instead of
+ just the name and version of packages. Very old versions of rpm
+ used the name/version, then it got switched to provides and later
+ switched back again to just name/version.
+
+*POOL_FLAG_IMPLICITOBSOLETEUSESPROVIDES*::
+ An implicit obsoletes is the internal mechanism to remove the
+ old package on an update. The default is to remove all packages
+ with the same name, rpm-5 switched to also removing packages
+ providing the same name.
+
+*POOL_FLAG_OBSOLETEUSESCOLORS*::
+ Rpm's multilib implementation (used in RedHat and Fedora)
+ distinguishes between 32bit and 64bit packages (the terminology
+ is that they have a different color). If obsolteusescolors is
+ set, packages with different colors will not obsolete each other.
+ This is also true for implicit obsoletes, thus you can install
+ both the 32bit and the 64bit version of a package with the
+ same name.
+
+*POOL_FLAG_NOINSTALLEDOBSOLETES*::
+ New versions of rpm consider the obsoletes of installed packages
+ when checking for dependency, thus you may not install a package
+ that is obsoleted by some other installed package, unless you
+ also deinstall the other package.
+
+*POOL_FLAG_HAVEDISTEPOCH*::
+ Mandriva added a new field called distepoch that gets checked in
+ version comparison if the epoch/version/release of two packages
+ are the same.
+
+*POOL_FLAG_NOOBSOLETESMULTIVERSION*::
+ If a package is installed in multiversionmode, rpm used to ignore
+ both the implicit obsoletes and the obsolete dependency of a
+ package. This was changed to ignoring just the implicit obsoletes,
+ thus you may install multiple versions of the same name, but
+ obsoleted packages still get removed.
+
=== METHODS ===
void free()