This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Defines | |
#define | rpmpsUnlink(_ps, _msg) XrpmpsUnlink(_ps, _msg, __FILE__, __LINE__) |
#define | rpmpsLink(_ps, _msg) XrpmpsLink(_ps, _msg, __FILE__, __LINE__) |
Typedefs | |
typedef rpmProblem_s * | rpmProblem |
Raw data for an element of a problem set. | |
typedef rpmps_s * | rpmps |
Transaction problems found while processing a transaction set/. | |
typedef enum rpmProblemType_e | rpmProblemType |
Enumerate transaction set problem types. | |
Enumerations | |
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_RDONLY, RPMPROB_BADPRETRANS, RPMPROB_BADPLATFORM, RPMPROB_NOREPACKAGE } |
Enumerate transaction set problem types. More... | |
Functions | |
const char * | rpmProblemString (const rpmProblem prob) |
Return formatted string representation of a problem. | |
rpmps | rpmpsUnlink (rpmps ps, const char *msg) |
Unreference a problem set instance. | |
rpmps | XrpmpsUnlink (rpmps ps, const char *msg, const char *fn, unsigned ln) |
rpmps | rpmpsLink (rpmps ps, const char *msg) |
Reference a problem set instance. | |
rpmps | XrpmpsLink (rpmps ps, const char *msg, const char *fn, unsigned ln) |
int | rpmpsNumProblems (rpmps ps) |
Return number of problems in set. | |
rpmps | rpmpsCreate (void) |
Create a problem set. | |
rpmps | rpmpsFree (rpmps ps) |
Destroy a problem set. | |
void | rpmpsPrint (FILE *fp, rpmps ps) |
Print problems to file handle. | |
void | rpmpsAppend (rpmps ps, rpmProblemType type, const char *pkgNEVR, fnpyKey key, const char *dn, const char *bn, const char *altNEVR, unsigned long long ulong1) |
Append a problem to current set of problems. | |
int | rpmpsTrim (rpmps ps, rpmps filter) |
Filter a problem set. | |
Variables | |
int | _rpmps_debug |
Definition in file rpmps.h.
#define rpmpsLink | ( | _ps, | |||
_msg | ) | XrpmpsLink(_ps, _msg, __FILE__, __LINE__) |
#define rpmpsUnlink | ( | _ps, | |||
_msg | ) | XrpmpsUnlink(_ps, _msg, __FILE__, __LINE__) |
typedef struct rpmProblem_s* rpmProblem |
typedef enum rpmProblemType_e rpmProblemType |
Enumerate transaction set problem types.
typedef struct rpmps_s* rpmps |
enum rpmProblemType_e |
Enumerate transaction set problem types.
const char* rpmProblemString | ( | const rpmProblem | prob | ) |
Return formatted string representation of a problem.
prob | rpm problem |
Definition at line 194 of file rpmps.c.
References _, N_, RPMPROB_BADPLATFORM, RPMPROB_BADPRETRANS, RPMPROB_BADRELOCATE, RPMPROB_CONFLICT, RPMPROB_DISKNODES, RPMPROB_DISKSPACE, RPMPROB_FILE_CONFLICT, RPMPROB_NEW_FILE_CONFLICT, RPMPROB_NOREPACKAGE, RPMPROB_OLDPACKAGE, RPMPROB_PKG_INSTALLED, RPMPROB_RDONLY, RPMPROB_REQUIRES, snprintf(), strerror, and xmalloc().
Referenced by rpmps_iternext(), rpmps_subscript(), rpmpsPrint(), and rpmts_Run().
void rpmpsAppend | ( | rpmps | ps, | |
rpmProblemType | type, | |||
const char * | pkgNEVR, | |||
fnpyKey | key, | |||
const char * | dn, | |||
const char * | bn, | |||
const char * | altNEVR, | |||
unsigned long long | ulong1 | |||
) |
Append a problem to current set of problems.
ps | problem set | |
type | type of problem | |
pkgNEVR | package name | |
key | filename or python object address | |
dn | directory name | |
bn | file base name | |
altNEVR | related (e.g. through a dependency) package name | |
ulong1 | generic pointer/long attribute |
Definition at line 82 of file rpmps.c.
References stpcpy(), xcalloc(), xrealloc(), and xstrdup().
Referenced by cmpArgvStr(), ensureOlder(), handleInstInstalledFiles(), handleOverlappedFiles(), relocateFileList(), rpmdsProblem(), rpmps_ass_sub(), rpmtsAddInstallElement(), rpmtsCheckDSIProblems(), and rpmtsRun().
rpmps rpmpsCreate | ( | void | ) |
Create a problem set.
Definition at line 55 of file rpmps.c.
References rpmpsLink, and xcalloc().
Referenced by rpmps_init(), rpmRollback(), rpmtsCheck(), and rpmtsRun().
Destroy a problem set.
ps | problem set |
Definition at line 61 of file rpmps.c.
References _free(), and rpmpsUnlink.
Referenced by checkPackageDeps(), checkSpec(), cmpArgvStr(), ensureOlder(), handleInstInstalledFiles(), handleOverlappedFiles(), relocateFileList(), rpmErase(), rpmgiNext(), rpmInstall(), rpmps_dealloc(), rpmps_free(), rpmrbProblems(), rpmRollback(), rpmts_Check(), rpmts_Run(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsClean(), rpmtsRun(), and verifyDependencies().
Reference a problem set instance.
ps | transaction set | |
msg |
int rpmpsNumProblems | ( | rpmps | ps | ) |
Return number of problems in set.
ps | problem set |
Definition at line 47 of file rpmps.c.
Referenced by checkSpec(), rpmErase(), rpmgiNext(), rpmInstall(), rpmps_length(), rpmrbProblems(), rpmtsCheck(), rpmtsRun(), and verifyDependencies().
void rpmpsPrint | ( | FILE * | fp, | |
rpmps | ps | |||
) |
Print problems to file handle.
fp | file handle (NULL uses stderr) | |
ps | problem set |
Definition at line 309 of file rpmps.c.
References _free(), rpmProblemString(), and sameProblem().
Referenced by checkSpec(), rpmErase(), rpmgiNext(), rpmInstall(), rpmps_print(), and rpmrbProblems().
Filter a problem set.
As the problem sets are generated in an order solely dependent on the ordering of the packages in the transaction, and that ordering can't be changed, the problem sets must be parallel to one another. Additionally, the filter set must be a subset of the target set, given the operations available on transaction set. This is good, as it lets us perform this trim in linear time, rather then logarithmic or quadratic.
ps | problem set | |
filter | problem filter (or NULL) |
Definition at line 129 of file rpmps.c.
References XSTRCMP.
Referenced by rpmtsRun().
Unreference a problem set instance.
ps | problem set | |
msg |
Definition at line 34 of file rpmps.c.
References _rpmps_debug.
Definition at line 21 of file rpmps.c.
References _rpmps_debug.
int _rpmps_debug |