#include "system.h"
#include <rpmlib.h>
#include "depends.h"
#include "rpmdb.h"
#include "misc.h"
#include "debug.h"
Go to the source code of this file.
Compounds | |
| struct | badDeps_s |
| struct | orderListIndex |
RPMTS | |
| int | rpmRangesOverlap (const char *AName, const char *AEVR, int AFlags, const char *BName, const char *BEVR, int BFlags) |
| rpmTransactionSet | rpmtransCreateSet (rpmdb rpmdb, const char *rootDir) |
| int | rpmtransAddPackage (rpmTransactionSet ts, Header h, FD_t fd, const void *key, int upgrade, rpmRelocation *relocs) |
| void | rpmtransAvailablePackage (rpmTransactionSet ts, Header h, const void *key) |
| void | rpmtransRemovePackage (rpmTransactionSet ts, int dboffset) |
| void | rpmtransFree (rpmTransactionSet ts) |
| void | rpmdepFreeConflicts (struct rpmDependencyConflict *conflicts, int numConflicts) |
| int | rpmdepOrder (rpmTransactionSet ts) |
| int | rpmdepCheck (rpmTransactionSet ts, struct rpmDependencyConflict **conflicts, int *numConflicts) |
Defines | |
| #define | DEPENDENCY_WHITEOUT |
Typedefs | |
| typedef int (* | dbrecMatch_t )(Header h, const char *reqName, const char *reqEVR, int reqFlags) |
Functions | |
| int | headerNVR (Header h, const char **np, const char **vp, const char **rp) |
| char* | printDepend (const char *depend, const char *key, const char *keyEVR, int keyFlags) |
| Return formatted dependency string. More... | |
| void | alFreeIndex (struct availableList *al) |
| Destroy available item index. More... | |
| void | alCreate (struct availableList *al) |
| Initialize available packckages, items, and directories list. More... | |
| void | alFree (struct availableList *al) |
| Free available packages, items, and directories members. More... | |
| int | dirInfoCompare (const void *one, const void *two) |
| Compare two directory info entries by name (qsort/bsearch). More... | |
| struct availablePackage* | alAddPackage (struct availableList *al, Header h, const void *key, FD_t fd, rpmRelocation *relocs) |
| Add package to available list. More... | |
| int | indexcmp (const void *one, const void *two) |
| Compare two available index entries by name (qsort/bsearch). More... | |
| void | alMakeIndex (struct availableList *al) |
| Generate index for available list. More... | |
| int | intcmp (const void *a, const void *b) |
| Compare removed package instances (qsort/bsearch). More... | |
| void | parseEVR (char *evr, const char **ep, const char **vp, const char **rp) |
| Split EVR into epoch, version, and release components. More... | |
| int | rangeMatchesDepFlags (Header h, const char *reqName, const char *reqEVR, int reqFlags) |
| int | headerMatchesDepFlags (Header h, const char *reqName, const char *reqEVR, int reqFlags) |
| Compare package name-version-release from header with dependency, looking for overlap. More... | |
| void | removePackage (rpmTransactionSet ts, int dboffset, int depends) |
| Add removed package instance to ordered transaction set. More... | |
| struct availablePackage* | alFileSatisfiesDepend (struct availableList *al, const char *keyType, const char *fileName) |
| Check added package file lists for a file. More... | |
| struct availablePackage* | alSatisfiesDepend (struct availableList *al, const char *keyType, const char *keyDepend, const char *keyName, const char *keyEVR, int keyFlags) |
| Check added package file lists for a provide. More... | |
| int | unsatisfiedDepend (rpmTransactionSet ts, const char *keyType, const char *keyDepend, const char *keyName, const char *keyEVR, int keyFlags, struct availablePackage **suggestion) |
| Check key for an unsatisfied dependency. More... | |
| int | checkPackageDeps (rpmTransactionSet ts, struct problemsSet *psp, Header h, const char *keyName, uint_32 multiLib) |
| int | checkPackageSet (rpmTransactionSet ts, struct problemsSet *psp, const char *key, rpmdbMatchIterator mi) |
| Adding: check name/provides key against each conflict match, Erasing: check name/provides/filename key against each requiredby match. | |
| int | checkDependentPackages (rpmTransactionSet ts, struct problemsSet *psp, const char *key) |
| Erasing: check name/provides/filename key against requiredby matches. | |
| int | checkDependentConflicts (rpmTransactionSet ts, struct problemsSet *psp, const char *key) |
| Adding: check name/provides key against conflicts matches. | |
| int | ignoreDep (struct availablePackage *p, struct availablePackage *q) |
| void | markLoop (struct tsortInfo *tsi, struct availablePackage *q) |
| Recursively mark all nodes with their predecessors. More... | |
| const char* | identifyDepend (int_32 f) |
| const char* | zapRelation (struct availablePackage *q, struct availablePackage *p, int zap, int *nzaps) |
| Find (and eliminate co-requisites) "q <- p" relation in dependency loop. More... | |
| int | addRelation (const rpmTransactionSet ts, struct availablePackage *p, unsigned char *selected, int j) |
| Record next "q <- p" relation (i.e. More... | |
| int | orderListIndexCmp (const void *one, const void *two) |
| Compare ordered list entries by index (qsort/bsearch). More... | |
| void | addQ (struct availablePackage *p, struct availablePackage **qp, struct availablePackage **rp) |
| Add element to list sorting by initial successor count. More... | |
Variables | |
| int | _depends_debug = 0 |
| const char* | rpmNAME = PACKAGE |
| const char* | rpmEVR = VERSION |
| int | rpmFLAGS = RPMSENSE_EQUAL |
| struct badDeps_s | badDeps [] |
Definition in file depends.c.
|
|
Value: |
|
|
|
|
|
Add element to list sorting by initial successor count.
Definition at line 1607 of file depends.c. Referenced by rpmdepOrder(). |
|
|
Record next "q <- p" relation (i.e. "p" requires "q").
Definition at line 1546 of file depends.c. Referenced by rpmdepOrder(). |
|
|
Add package to available list.
Definition at line 229 of file depends.c. Referenced by rpmtransAddPackage(), and rpmtransAvailablePackage(). |
|
|
Initialize available packckages, items, and directories list.
Definition at line 134 of file depends.c. Referenced by rpmtransCreateSet(). |
|
|
Check added package file lists for a file.
Definition at line 910 of file depends.c. Referenced by alSatisfiesDepend(). |
|
|
Free available packages, items, and directories members.
Definition at line 152 of file depends.c. Referenced by rpmtransFree(). |
|
|
Destroy available item index.
Definition at line 119 of file depends.c. Referenced by alAddPackage(), and alFree(). |
|
|
Generate index for available list.
Definition at line 427 of file depends.c. Referenced by rpmdepCheck(), and rpmdepOrder(). |
|
|
Check added package file lists for a provide.
Definition at line 968 of file depends.c. Referenced by addRelation(), and unsatisfiedDepend(). |
|
|
Adding: check name/provides key against conflicts matches.
Definition at line 1381 of file depends.c. Referenced by rpmdepCheck(). |
|
|
Erasing: check name/provides/filename key against requiredby matches.
Definition at line 1370 of file depends.c. Referenced by rpmdepCheck(). |
|
|
Definition at line 1190 of file depends.c. Referenced by checkPackageSet(), and rpmdepCheck(). |
|
|
Adding: check name/provides key against each conflict match, Erasing: check name/provides/filename key against each requiredby match.
Definition at line 1349 of file depends.c. Referenced by checkDependentConflicts(), and checkDependentPackages(). |
|
|
Compare two directory info entries by name (qsort/bsearch).
|
|
|
Compare package name-version-release from header with dependency, looking for overlap.
|
|
|
Definition at line 1459 of file depends.c. Referenced by zapRelation(). |
|
|
Definition at line 1428 of file depends.c. Referenced by addRelation(). |
|
|
Compare two available index entries by name (qsort/bsearch).
|
|
|
Compare removed package instances (qsort/bsearch).
|
|
|
Recursively mark all nodes with their predecessors.
Definition at line 1445 of file depends.c. Referenced by rpmdepOrder(). |
|
|
Compare ordered list entries by index (qsort/bsearch).
|
|
|
Split EVR into epoch, version, and release components.
Definition at line 485 of file depends.c. Referenced by rpmRangesOverlap(). |
|
|
Return formatted dependency string.
Definition at line 51 of file depends.c. Referenced by checkPackageDeps(), rpmRangesOverlap(), and zapRelation(). |
|
|
Definition at line 602 of file depends.c. Referenced by unsatisfiedDepend(). |
|
|
Add removed package instance to ordered transaction set.
Definition at line 732 of file depends.c. Referenced by rpmtransAddPackage(), and rpmtransRemovePackage(). |
|
|
Check key for an unsatisfied dependency.
Definition at line 1030 of file depends.c. Referenced by checkPackageDeps(). |
|
|
Find (and eliminate co-requisites) "q <- p" relation in dependency loop. Search all successors of q for instance of p. Format the specific relation, (e.g. p contains "Requires: q"). Unlink and free co-requisite (i.e. pure Requires: dependencies) successor node(s).
Definition at line 1490 of file depends.c. Referenced by rpmdepOrder(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.2.6 written by Dimitri van Heesch,
© 1997-2001