#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 *pkgNEVR, 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 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) |
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 1109 of file depends.c. References rpmte, and rpmteTSI(). Referenced by rpmtsOrder(). |
|
Record next "q <- p" relation (i.e. "p" requires "q").
Definition at line 1002 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 735 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 720 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 578 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 678 of file depends.c. References _free(), _rpmds_nopromote, checkPackageDeps(), Header, hGetNEVR(), rpmdbFreeIterator(), rpmdbMatchIterator, rpmdbNextIterator(), rpmdbPruneIterator(), rpmds, rpmdsFree(), rpmdsNew(), rpmdsSetNoPromote(), RPMTAG_CONFLICTNAME, and RPMTAG_REQUIRENAME. Referenced by checkDependentConflicts(), and checkDependentPackages(). |
|
Definition at line 797 of file depends.c. References _free(), badDeps, badDepsInitialized, badDeps_s::pname, and badDeps_s::qname. Referenced by rpmtsOrder(). |
|
Definition at line 899 of file depends.c. References _notpre, and isLegacyPreReq. |
|
Check for dependency relations to be ignored.
Definition at line 819 of file depends.c. References _, _free(), badDeps, badDepsInitialized, badDeps_s::pname, poptParseArgvString(), badDeps_s::qname, rpmExpand(), RPMMESS_DEBUG, rpmMessage, rpmteN(), 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 878 of file depends.c. References rpmte, and rpmteTSI(). Referenced by rpmtsOrder(). |
|
Compare ordered list entries by index (qsort/bsearch).
Definition at line 1092 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 334 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 935 of file depends.c. References _, _free(), identifyDepend(), int_32, rpmdsFlags(), rpmdsNewDNEVR(), rpmdsSetIx(), RPMMESS_DEBUG, rpmMessage, rpmteNEVR(), rpmteTSI(), and tsortInfo. Referenced by rpmtsOrder(). |
|
Definition at line 45 of file depends.c. Referenced by unsatisfiedDepend(). |
|
Definition at line 791 of file depends.c. Referenced by freeBadDeps(), and ignoreDep(). |
|
Definition at line 788 of file depends.c. Referenced by freeBadDeps(), and ignoreDep(). |
|
Definition at line 51 of file depends.c. Referenced by printVersion(). |
|
|
|
|