Go to the source code of this file.
Data Structures | |
struct | rpmProblem_s |
struct | rpmps_s |
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_BADPRETRANS } |
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 | 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 ulong1) |
Append a problem to current set of problems. | |
int | rpmpsTrim (rpmps ps, rpmps filter) |
Filter a problem set. | |
Variables | |
int | _rpmps_debug |
rpmps | rpmpsCreate (void) |
Create a problem set. |
Definition in file rpmps.h.
|
Definition at line 118 of file rpmps.h. Referenced by rpmpsCreate(), and rpmtsProblems(). |
|
Definition at line 101 of file rpmps.h. Referenced by rpmpsFree(). |
|
Raw data for an element of a problem set.
|
|
Enumerate transaction set problem types.
Referenced by rpmdsProblem(), and rpmpsAppend(). |
|
Transaction problems found while processing a transaction set/.
|
|
|
Return formatted string representation of a problem.
Definition at line 193 of file rpmps.c. References _, rpmProblem_s::altNEVR, N_, rpmProblem_s::pkgNEVR, RPMPROB_BADARCH, RPMPROB_BADOS, RPMPROB_BADPRETRANS, RPMPROB_BADRELOCATE, RPMPROB_CONFLICT, RPMPROB_DISKNODES, RPMPROB_DISKSPACE, RPMPROB_FILE_CONFLICT, RPMPROB_NEW_FILE_CONFLICT, RPMPROB_OLDPACKAGE, RPMPROB_PKG_INSTALLED, RPMPROB_REQUIRES, snprintf(), rpmProblem_s::str1, strerror(), rpmProblem_s::type, rpmProblem_s::ulong1, and xmalloc(). Referenced by rpmpsPrint(), and rpmts_Run(). |
|
Append a problem to current set of problems.
Definition at line 81 of file rpmps.c. References rpmProblem_s::altNEVR, fnpyKey, rpmProblem_s::ignoreProblem, rpmProblem_s::key, rpmps_s::numProblems, rpmps_s::numProblemsAlloced, rpmProblem_s::pkgNEVR, rpmps_s::probs, rpmProblemType, stpcpy(), rpmProblem_s::str1, rpmProblem_s::type, rpmProblem_s::ulong1, xcalloc(), xrealloc(), and xstrdup(). Referenced by ensureOlder(), handleInstInstalledFiles(), handleOverlappedFiles(), relocateFileList(), rpmdsProblem(), rpmtsCheckDSIProblems(), and rpmtsRun(). |
|
Destroy a problem set.
Definition at line 60 of file rpmps.c. References _free(), rpmProblem_s::altNEVR, rpmps_s::nrefs, rpmps_s::numProblems, rpmProblem_s::pkgNEVR, rpmps_s::probs, rpmpsUnlink, and rpmProblem_s::str1. Referenced by checkSpec(), ensureOlder(), handleInstInstalledFiles(), handleOverlappedFiles(), relocateFileList(), rpmErase(), rpmGraph(), rpmInstall(), rpmRollback(), rpmts_Check(), rpmts_Run(), rpmtsCheck(), rpmtsCheckDSIProblems(), rpmtsClean(), rpmtsRun(), and verifyDependencies(). |
|
Reference a problem set instance.
|
|
Return number of problems in set.
Definition at line 46 of file rpmps.c. References rpmps_s::numProblems, and rpmps_s::probs. Referenced by checkSpec(), rpmErase(), rpmGraph(), rpmInstall(), rpmRollback(), and verifyDependencies(). |
|
Print problems to file handle.
Definition at line 303 of file rpmps.c. References _free(), rpmProblem_s::ignoreProblem, rpmps_s::numProblems, rpmps_s::probs, rpmProblemString(), and sameProblem(). Referenced by checkSpec(), rpmErase(), rpmGraph(), rpmInstall(), and rpmRollback(). |
|
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.
Definition at line 128 of file rpmps.c. References rpmProblem_s::ignoreProblem, rpmProblem_s::key, rpmps_s::numProblems, rpmps_s::probs, rpmProblem_s::str1, rpmProblem_s::type, and XSTRCMP. Referenced by rpmtsRun(). |
|
Unreference a problem set instance.
|
|
Definition at line 33 of file rpmps.c. References _rpmps_debug, and rpmps_s::nrefs. |
|
Definition at line 20 of file rpmps.c. References _rpmps_debug, and rpmps_s::nrefs. |
|
Definition at line 11 of file rpmps.h. Referenced by XrpmpsLink(), and XrpmpsUnlink(). |
|
Create a problem set.
|