define and document the pool flags
authorMichael Schroeder <mls@suse.de>
Mon, 27 May 2013 16:24:59 +0000 (18:24 +0200)
committerMichael Schroeder <mls@suse.de>
Mon, 27 May 2013 16:24:59 +0000 (18:24 +0200)
bindings/solv.i
doc/libsolv-bindings.3
doc/libsolv-bindings.txt

index 0d89094..06cbfbf 100644 (file)
@@ -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;
index 2f262df..66c1ded 100644 (file)
@@ -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 \{\
index 8d726c4..dddccbd 100644 (file)
@@ -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()