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

Problem Element API. More...

Collaboration diagram for 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) , RPMPROB_FILTER_VERIFY = (1 << 9)
}
 
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 ,
  RPMPROB_VERIFY
}
 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

Problem Element API.

Typedef Documentation

◆ rpmProblemType

Enumerate transaction set problem types.

Enumeration Type Documentation

◆ rpmprobFilterFlags_e

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

RPMPROB_FILTER_VERIFY 

from –noverify

Definition at line 21 of file rpmprob.h.

◆ rpmProblemType_e

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

RPMPROB_VERIFY 

package did not pass verification

Definition at line 40 of file rpmprob.h.

Function Documentation

◆ rpmProblemCompare()

int rpmProblemCompare ( rpmProblem  ap,
rpmProblem  bp 
)

Compare two problems for equality.

Parameters
ap1st problem
bp2nd problem
Returns
1 if the problems differ, 0 otherwise

◆ rpmProblemCreate()

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

◆ rpmProblemFree()

rpmProblem rpmProblemFree ( rpmProblem  prob)

Destroy a problem item.

Parameters
probrpm problem
Returns
rpm problem (NULL)

◆ rpmProblemGetAltNEVR()

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

◆ rpmProblemGetDiskNeed()

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

◆ rpmProblemGetKey()

fnpyKey rpmProblemGetKey ( rpmProblem  prob)

Return filename or python object address of a problem.

Parameters
probrpm problem
Returns
filename or python object address

◆ rpmProblemGetPkgNEVR()

const char* rpmProblemGetPkgNEVR ( rpmProblem  prob)

Return package NEVR.

Parameters
probrpm problem
Returns
package NEVR

◆ rpmProblemGetStr()

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

◆ rpmProblemGetType()

rpmProblemType rpmProblemGetType ( rpmProblem  prob)

Return type of problem (dependency, diskpace etc)

Parameters
probrpm problem
Returns
type of problem

◆ rpmProblemLink()

rpmProblem rpmProblemLink ( rpmProblem  prob)

Reference an rpmProblem instance.

Parameters
probrpm problem
Returns
rpm problem

◆ rpmProblemString()

char* rpmProblemString ( rpmProblem  prob)

Return formatted string representation of a problem.

Parameters
probrpm problem
Returns
formatted string (malloc'd)