#include "system.h"
#include <rpmcli.h>
#include <rpmmacro.h>
#include "rpmdb.h"
#include "rpmds.h"
#include "rpmfi.h"
#include "rpmte.h"
#include "rpmts.h"
#include "debug.h"
Go to the source code of this file.
Data Structures | |
struct | orderListIndex_s |
struct | badDeps_s |
Defines | |
#define | _RPMTE_INTERNAL |
#define | _RPMTS_INTERNAL |
Typedefs | |
typedef orderListIndex_s * | orderListIndex |
Functions | |
int | intcmp (const void *a, const void *b) |
Compare removed package instances (qsort/bsearch). | |
int | removePackage (rpmts ts, Header h, int dboffset, alKey depends) |
Add removed package instance to ordered transaction set. | |
int | rpmtsAddInstallElement (rpmts ts, Header h, fnpyKey key, int upgrade, rpmRelocation *relocs) |
int | rpmtsAddEraseElement (rpmts ts, Header h, int dboffset) |
int | unsatisfiedDepend (rpmts ts, rpmds dep, int adding) |
Check dep for an unsatisfied dependency. | |
int | checkPackageDeps (rpmts ts, const char *pkgNEVRA, rpmds requires, rpmds conflicts, const char *depName, uint_32 tscolor, int adding) |
Check added requires/conflicts against against installed+added packages. | |
int | checkPackageSet (rpmts ts, const char *dep, rpmdbMatchIterator mi, int adding) |
Check dependency against installed packages. | |
int | checkDependentPackages (rpmts ts, const char *dep) |
Check to-be-erased dependencies against installed requires. | |
int | checkDependentConflicts (rpmts ts, const char *dep) |
Check to-be-added dependencies against installed conflicts. | |
void | freeBadDeps (void) |
int | ignoreDep (const rpmts ts, const rpmte p, const rpmte q) |
Check for dependency relations to be ignored. | |
void | markLoop (tsortInfo tsi, rpmte q) |
Recursively mark all nodes with their predecessors. | |
const char *const | identifyDepend (int_32 f) |
const char * | zapRelation (rpmte q, rpmte p, rpmds requires, int zap, int *nzaps, int msglvl) |
Find (and eliminate co-requisites) "q <- p" relation in dependency loop. | |
int | addRelation (rpmts ts, rpmte p, unsigned char *selected, rpmds requires) |
Record next "q <- p" relation (i.e. | |
int | orderListIndexCmp (const void *one, const void *two) |
Compare ordered list entries by index (qsort/bsearch). | |
void | addQ (rpmte p, rpmte *qp, rpmte *rp) |
Add element to list sorting by tsi_qcnt. | |
int | rpmtsOrder (rpmts ts) |
int | rpmtsCheck (rpmts ts) |
Variables | |
int | _cacheDependsRC = 1 |
const char * | rpmNAME = PACKAGE |
const char * | rpmEVR = VERSION |
int | rpmFLAGS = RPMSENSE_EQUAL |
int | badDepsInitialized = 0 |
badDeps_s * | badDeps = NULL |
Definition in file depends.c.
|
|
|
|
|
Definition at line 33 of file depends.c. Referenced by rpmtsOrder(). |
|
Add element to list sorting by tsi_qcnt.
Definition at line 1114 of file depends.c. References rpmte, and rpmteTSI(). Referenced by rpmtsOrder(). |
|
Record next "q <- p" relation (i.e. "p" requires "q").
Definition at line 1011 of file depends.c. References alKey, fnpyKey, ignoreDep(), rpmalSatisfiesDepend(), rpmdsIx(), rpmdsN(), rpmte, rpmteAddedKey(), rpmteDepth(), rpmteSetDepth(), rpmteTSI(), rpmteType(), rpmtsi, rpmtsiFree, rpmtsiInit, rpmtsiNext(), tsortInfo, and xcalloc(). Referenced by rpmtsOrder(). |
|
Check to-be-added dependencies against installed conflicts.
Definition at line 740 of file depends.c. References checkPackageSet(), rpmdbMatchIterator, RPMTAG_CONFLICTNAME, rpmtsGetRdb(), and rpmtsInitIterator(). Referenced by rpmtsCheck(). |
|
Check to-be-erased dependencies against installed requires.
Definition at line 725 of file depends.c. References checkPackageSet(), rpmdbMatchIterator, RPMTAG_REQUIRENAME, and rpmtsInitIterator(). Referenced by rpmtsCheck(). |
|
Check added requires/conflicts against against installed+added packages.
Definition at line 583 of file depends.c. References fnpyKey, rpmalAllSatisfiesDepend(), rpmdsColor(), rpmdsInit(), rpmdsN(), rpmdsNext(), rpmdsProblem(), uint_32, and unsatisfiedDepend(). Referenced by checkPackageSet(), and rpmtsCheck(). |
|
Check dependency against installed packages. Adding: check name/provides dep against each conflict match, Erasing: check name/provides/filename dep against each requiredby match.
Definition at line 683 of file depends.c. References _free(), _rpmds_nopromote, checkPackageDeps(), Header, hGetNEVRA(), rpmdbFreeIterator(), rpmdbMatchIterator, rpmdbNextIterator(), rpmdbPruneIterator(), rpmds, rpmdsFree(), rpmdsNew(), rpmdsSetNoPromote(), RPMTAG_CONFLICTNAME, and RPMTAG_REQUIRENAME. Referenced by checkDependentConflicts(), and checkDependentPackages(). |
|
Definition at line 802 of file depends.c. References _free(), badDeps, badDepsInitialized, badDeps_s::pname, and badDeps_s::qname. Referenced by rpmtsOrder(). |
|
Definition at line 908 of file depends.c. References _notpre, and isLegacyPreReq. |
|
Check for dependency relations to be ignored.
Definition at line 825 of file depends.c. References _, _free(), badDeps, badDepsInitialized, badDeps_s::pname, poptParseArgvString(), badDeps_s::qname, rpmExpand(), RPMMESS_WARNING, rpmMessage, rpmteN(), rpmtsFlags(), xcalloc(), and xstrdup(). Referenced by addRelation(). |
|
Compare removed package instances (qsort/bsearch).
Definition at line 62 of file depends.c. Referenced by removePackage(). |
|
Recursively mark all nodes with their predecessors.
Definition at line 887 of file depends.c. References rpmte, and rpmteTSI(). Referenced by rpmtsOrder(). |
|
Compare ordered list entries by index (qsort/bsearch).
Definition at line 1097 of file depends.c. Referenced by rpmtsOrder(). |
|
Add removed package instance to ordered transaction set.
Definition at line 79 of file depends.c. References Header, intcmp(), rpmte, rpmteNew(), TR_REMOVED, and xrealloc(). Referenced by rpmtsAddEraseElement(), and rpmtsAddInstallElement(). |
|
Check dep for an unsatisfied dependency.
Definition at line 339 of file depends.c. References _, _cacheDependsRC, _rpmds_nopromote, alloca(), _dbiIndex::dbi_txnid, dbiCclose(), dbiCopen(), dbiGet(), dbiIndex, dbiOpen(), dbiPut(), Header, int_32, rpmalMakeIndex(), rpmalSatisfiesDepend(), rpmCheckRpmlibProvides(), rpmdbFreeIterator(), RPMDBI_DEPENDS, rpmdbMatchIterator, rpmdbNextIterator(), rpmdbPruneIterator(), rpmdsAnyMatchesDep(), rpmdsDNEVR(), rpmdsFlags(), rpmdsN(), rpmdsNotify(), rpmGetVar(), RPMTAG_BASENAMES, RPMTAG_NAME, RPMTAG_PROVIDENAME, rpmtsFlags(), rpmtsGetRdb(), rpmtsInitIterator(), RPMVAR_PROVIDES, and xisspace(). 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 944 of file depends.c. References _, _free(), identifyDepend(), int_32, rpmdsFlags(), rpmdsNewDNEVR(), rpmdsSetIx(), rpmMessage, rpmteNEVR(), rpmteTSI(), and tsortInfo. Referenced by rpmtsOrder(). |
|
Definition at line 45 of file depends.c. Referenced by unsatisfiedDepend(). |
|
Definition at line 796 of file depends.c. Referenced by freeBadDeps(), and ignoreDep(). |
|
Definition at line 793 of file depends.c. Referenced by freeBadDeps(), and ignoreDep(). |
|
Definition at line 51 of file depends.c. Referenced by printVersion(). |
|
|
|
|