rpm  4.10.0
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.

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

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 attemped 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)