diff options
author | Michael Schroeder <mls@suse.de> | 2013-05-27 18:24:59 +0200 |
---|---|---|
committer | Michael Schroeder <mls@suse.de> | 2013-05-27 18:24:59 +0200 |
commit | cde550e0c54bd21acd0a7cd755bd2c031b1f8061 (patch) | |
tree | e27f2e1c057b756675591f858a85342c38e30ca3 | |
parent | 65f64e0a6bf74498cc92f5dea1b4cef5fed23643 (diff) | |
download | libsolv-cde550e0c54bd21acd0a7cd755bd2c031b1f8061.tar.gz libsolv-cde550e0c54bd21acd0a7cd755bd2c031b1f8061.tar.bz2 libsolv-cde550e0c54bd21acd0a7cd755bd2c031b1f8061.zip |
define and document the pool flags
-rw-r--r-- | bindings/solv.i | 9 | ||||
-rw-r--r-- | doc/libsolv-bindings.3 | 41 | ||||
-rw-r--r-- | doc/libsolv-bindings.txt | 51 |
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() |