rpm  4.12.0.1
Files | Typedefs | Enumerations | Functions
Problem Element API.

Files

file  rpmprob.h
 Structures and prototypes used for an rpm problem item.
 

Typedefs

typedef enum rpmProblemType_e rpmProblemType
 Enumerate transaction set problem types. More...
 

Enumerations

enum  rpmprobFilterFlags_e {
  RPMPROB_FILTER_NONE = 0, RPMPROB_FILTER_IGNOREOS = (1 << 0), RPMPROB_FILTER_IGNOREARCH = (1 << 1), RPMPROB_FILTER_REPLACEPKG = (1 << 2),
  RPMPROB_FILTER_FORCERELOCATE = (1 << 3), RPMPROB_FILTER_REPLACENEWFILES = (1 << 4), RPMPROB_FILTER_REPLACEOLDFILES = (1 << 5), RPMPROB_FILTER_OLDPACKAGE = (1 << 6),
  RPMPROB_FILTER_DISKSPACE = (1 << 7), RPMPROB_FILTER_DISKNODES = (1 << 8)
}
 
enum  rpmProblemType_e {
  RPMPROB_BADARCH, RPMPROB_BADOS, RPMPROB_PKG_INSTALLED, RPMPROB_BADRELOCATE,
  RPMPROB_REQUIRES, RPMPROB_CONFLICT, RPMPROB_NEW_FILE_CONFLICT, RPMPROB_FILE_CONFLICT,
  RPMPROB_OLDPACKAGE, RPMPROB_DISKSPACE, RPMPROB_DISKNODES, RPMPROB_OBSOLETES
}
 Enumerate transaction set problem types. More...
 

Functions

rpmProblem rpmProblemCreate (rpmProblemType type, const char *pkgNEVR, fnpyKey key, const char *altNEVR, const char *str, uint64_t number)
 Create a problem item. More...
 
rpmProblem rpmProblemFree (rpmProblem prob)
 Destroy a problem item. More...
 
rpmProblem rpmProblemLink (rpmProblem prob)
 Reference an rpmProblem instance. More...
 
int rpmProblemCompare (rpmProblem ap, rpmProblem bp)
 Compare two problems for equality. More...
 
const char * rpmProblemGetPkgNEVR (rpmProblem prob)
 Return package NEVR. More...
 
const char * rpmProblemGetAltNEVR (rpmProblem prob)
 Return related (e.g. More...
 
rpmProblemType rpmProblemGetType (rpmProblem prob)
 Return type of problem (dependency, diskpace etc) More...
 
fnpyKey rpmProblemGetKey (rpmProblem prob)
 Return filename or python object address of a problem. More...
 
const char * rpmProblemGetStr (rpmProblem prob)
 Return a generic data string from a problem. More...
 
rpm_loff_t rpmProblemGetDiskNeed (rpmProblem prob)
 Return disk requirement (needed disk space / number of inodes) depending on problem type. More...
 
char * rpmProblemString (rpmProblem prob)
 Return formatted string representation of a problem. More...
 

Detailed Description

Typedef Documentation

Enumerate transaction set problem types.

Enumeration Type Documentation

Todo:
Generalize filter mechanism.
Enumerator
RPMPROB_FILTER_NONE 
RPMPROB_FILTER_IGNOREOS 

from –ignoreos

RPMPROB_FILTER_IGNOREARCH 

from –ignorearch

RPMPROB_FILTER_REPLACEPKG 

from –replacepkgs

RPMPROB_FILTER_FORCERELOCATE 

from –badreloc

RPMPROB_FILTER_REPLACENEWFILES 

from –replacefiles

RPMPROB_FILTER_REPLACEOLDFILES 

from –replacefiles

RPMPROB_FILTER_OLDPACKAGE 

from –oldpackage

RPMPROB_FILTER_DISKSPACE 

from –ignoresize

RPMPROB_FILTER_DISKNODES 

from –ignoresize

Definition at line 21 of file rpmprob.h.

Enumerate transaction set problem types.

Enumerator
RPMPROB_BADARCH 

package ... is for a different architecture

RPMPROB_BADOS 

package ... is for a different operating system

RPMPROB_PKG_INSTALLED 

package ... is already installed

RPMPROB_BADRELOCATE 

path ... is not relocatable for package ...

RPMPROB_REQUIRES 

package ... has unsatisfied Requires: ...

RPMPROB_CONFLICT 

package ... has unsatisfied Conflicts: ...

RPMPROB_NEW_FILE_CONFLICT 

file ... conflicts between attempted installs of ...

RPMPROB_FILE_CONFLICT 

file ... from install of ... conflicts with file from package ...

RPMPROB_OLDPACKAGE 

package ... (which is newer than ...) is already installed

RPMPROB_DISKSPACE 

installing package ... needs ... on the ... filesystem

RPMPROB_DISKNODES 

installing package ... needs ... on the ... filesystem

RPMPROB_OBSOLETES 

package ... is obsoleted by ...

Definition at line 39 of file rpmprob.h.

Function Documentation

int rpmProblemCompare ( rpmProblem  ap,
rpmProblem  bp 
)

Compare two problems for equality.

Parameters
ap1st problem
bp2nd problem
Returns
1 if the problems differ, 0 otherwise
rpmProblem rpmProblemCreate ( rpmProblemType  type,
const char *  pkgNEVR,
fnpyKey  key,
const char *  altNEVR,
const char *  str,
uint64_t  number 
)

Create a problem item.

Parameters
typetype of problem
pkgNEVRpackage name
keyfilename or python object address
altNEVRrelated (e.g. through a dependency) package name
strgeneric string attribute
numbergeneric number attribute
Returns
rpmProblem
rpmProblem rpmProblemFree ( rpmProblem  prob)

Destroy a problem item.

Parameters
probrpm problem
Returns
rpm problem (NULL)
const char* rpmProblemGetAltNEVR ( rpmProblem  prob)

Return related (e.g.

through a dependency) package NEVR

Parameters
probrpm problem
Returns
related (e.g. through a dependency) package NEVR
rpm_loff_t rpmProblemGetDiskNeed ( rpmProblem  prob)

Return disk requirement (needed disk space / number of inodes) depending on problem type.

On problem types other than RPMPROB_DISKSPACE and RPMPROB_DISKNODES return value is undefined.

Parameters
probrpm problem
Returns
disk requirement
fnpyKey rpmProblemGetKey ( rpmProblem  prob)

Return filename or python object address of a problem.

Parameters
probrpm problem
Returns
filename or python object address
const char* rpmProblemGetPkgNEVR ( rpmProblem  prob)

Return package NEVR.

Parameters
probrpm problem
Returns
package NEVR
const char* rpmProblemGetStr ( rpmProblem  prob)

Return a generic data string from a problem.

Parameters
probrpm problem
Returns
a generic data string
Todo:
needs a better name
rpmProblemType rpmProblemGetType ( rpmProblem  prob)

Return type of problem (dependency, diskpace etc)

Parameters
probrpm problem
Returns
type of problem
rpmProblem rpmProblemLink ( rpmProblem  prob)

Reference an rpmProblem instance.

Parameters
probrpm problem
Returns
rpm problem
char* rpmProblemString ( rpmProblem  prob)

Return formatted string representation of a problem.

Parameters
probrpm problem
Returns
formatted string (malloc'd)