#include "system.h"
#include <rpmlib.h>
#include "rpmds.h"
#include "debug.h"
Go to the source code of this file.
Defines | |
#define | _RPMDS_INTERNAL |
Functions | |
rpmds | XrpmdsUnlink (rpmds ds, const char *msg, const char *fn, unsigned ln) |
rpmds | XrpmdsLink (rpmds ds, const char *msg, const char *fn, unsigned ln) |
rpmds | rpmdsFree (rpmds ds) |
Destroy a dependency set. More... | |
rpmds | rpmdsNew (Header h, rpmTag tagN, int scareMem) |
Create and load a dependency set. More... | |
char * | rpmdsNewDNEVR (const char *dspfx, const rpmds ds) |
Return new formatted dependency string. More... | |
rpmds | rpmdsThis (Header h, rpmTag tagN, int_32 Flags) |
Create, load and initialize a dependency for this header. More... | |
rpmds | rpmdsSingle (rpmTag tagN, const char *N, const char *EVR, int_32 Flags) |
Create, load and initialize a dependency set of size 1. More... | |
int | rpmdsCount (const rpmds ds) |
Return dependency set count. More... | |
int | rpmdsIx (const rpmds ds) |
Return dependency set index. More... | |
int | rpmdsSetIx (rpmds ds, int ix) |
Set dependency set index. More... | |
const char * | rpmdsDNEVR (const rpmds ds) |
Return current formatted dependency string. More... | |
const char * | rpmdsN (const rpmds ds) |
Return current dependency name. More... | |
const char * | rpmdsEVR (const rpmds ds) |
Return current dependency epoch-version-release. More... | |
int_32 | rpmdsFlags (const rpmds ds) |
Return current dependency flags. More... | |
rpmTag | rpmdsTagN (const rpmds ds) |
Return current dependency type. More... | |
int | rpmdsNoPromote (const rpmds ds) |
Return current "Don't promote Epoch:" flag. More... | |
int | rpmdsSetNoPromote (rpmds ds, int nopromote) |
Set "Don't promote Epoch:" flag. More... | |
void | rpmdsNotify (rpmds ds, const char *where, int rc) |
Notify of results of dependency match. More... | |
int | rpmdsNext (rpmds ds) |
Return next dependency set iterator index. More... | |
rpmds | rpmdsInit (rpmds ds) |
Initialize dependency set iterator. More... | |
void | parseEVR (char *evr, const char **ep, const char **vp, const char **rp) |
Split EVR into epoch, version, and release components. More... | |
int | rpmdsCompare (const rpmds A, const rpmds B) |
Compare two versioned dependency ranges, looking for overlap. More... | |
void | rpmdsProblem (rpmps ps, const char *pkgNEVR, const rpmds ds, const fnpyKey *suggestedKeys, int adding) |
Report a Requires: or Conflicts: dependency problem. More... | |
int | rpmdsAnyMatchesDep (const Header h, const rpmds req, int nopromote) |
Compare package provides dependencies from header with a single dependency. More... | |
int | rpmdsNVRMatchesDep (const Header h, const rpmds req, int nopromote) |
Compare package name-version-release from header with a single dependency. More... | |
Variables | |
int | _noisy_range_comparison_debug_message = 0 |
Enable noisy range comparison debugging message? More... | |
int | _rpmds_debug = 0 |
int | _rpmds_nopromote = 1 |
int | _rpmds_unspecified_epoch_noise = 0 |
Definition in file rpmds.c.
|
|
|
Split EVR into epoch, version, and release components.
Definition at line 528 of file rpmds.c. References xisdigit. Referenced by rpmdsCompare. |
|
Compare package provides dependencies from header with a single dependency.
Definition at line 683 of file rpmds.c. References rpmds, rpmdsCompare, rpmdsFree, rpmdsInit, rpmdsNew, rpmdsNext, rpmdsSetNoPromote, RPMSENSE_SENSEMASK, and RPMTAG_PROVIDENAME. |
|
Compare two versioned dependency ranges, looking for overlap.
Definition at line 572 of file rpmds.c. References _, _free, _rpmds_unspecified_epoch_noise, parseEVR, rpmds, RPMSENSE_EQUAL, RPMSENSE_GREATER, RPMSENSE_LESS, RPMSENSE_SENSEMASK, rpmvercmp, and xstrdup. |
|
Return dependency set count.
Definition at line 365 of file rpmds.c. References rpmds. |
|
Return current formatted dependency string.
Definition at line 386 of file rpmds.c. References rpmds. |
|
Return current dependency epoch-version-release.
Definition at line 412 of file rpmds.c. References rpmds. |
|
Return current dependency flags.
|
|
Destroy a dependency set.
Definition at line 54 of file rpmds.c. References _free, _rpmds_debug, headerFree, HFD_t, rpmds, rpmdsUnlink, rpmTag, RPMTAG_CONFLICTFLAGS, RPMTAG_CONFLICTNAME, RPMTAG_CONFLICTVERSION, RPMTAG_OBSOLETEFLAGS, RPMTAG_OBSOLETENAME, RPMTAG_OBSOLETEVERSION, RPMTAG_PROVIDEFLAGS, RPMTAG_PROVIDENAME, RPMTAG_PROVIDEVERSION, RPMTAG_REQUIREFLAGS, RPMTAG_REQUIRENAME, RPMTAG_REQUIREVERSION, RPMTAG_TRIGGERFLAGS, RPMTAG_TRIGGERNAME, and RPMTAG_TRIGGERVERSION. |
|
Initialize dependency set iterator.
Definition at line 510 of file rpmds.c. References rpmds. |
|
Return dependency set index.
Definition at line 370 of file rpmds.c. References rpmds. |
|
Return current dependency name.
|
|
Create and load a dependency set.
Definition at line 115 of file rpmds.c. References _rpmds_debug, headerLink, HGE_t, int_32, N, rpmds, rpmdsLink, rpmTag, RPMTAG_CONFLICTFLAGS, RPMTAG_CONFLICTNAME, RPMTAG_CONFLICTVERSION, RPMTAG_OBSOLETEFLAGS, RPMTAG_OBSOLETENAME, RPMTAG_OBSOLETEVERSION, RPMTAG_PROVIDEFLAGS, RPMTAG_PROVIDENAME, RPMTAG_PROVIDEVERSION, RPMTAG_REQUIREFLAGS, RPMTAG_REQUIRENAME, RPMTAG_REQUIREVERSION, RPMTAG_TRIGGERFLAGS, RPMTAG_TRIGGERNAME, RPMTAG_TRIGGERVERSION, rpmTagType, xcalloc, and xmalloc. |
|
Return new formatted dependency string.
Definition at line 192 of file rpmds.c. References rpmds, RPMSENSE_EQUAL, RPMSENSE_GREATER, RPMSENSE_LESS, RPMSENSE_SENSEMASK, stpcpy, and xmalloc. |
|
Return next dependency set iterator index.
Definition at line 481 of file rpmds.c. References _free, _rpmds_debug, rpmds, and rpmdsNewDNEVR. |
|
Return current "Don't promote Epoch:" flag. This flag controls for Epoch: promotion when a dependency set is compared. If the flag is set (for already installed packages), then an unspecified value will be treated as Epoch: 0. Otherwise (for added packages), the Epoch: portion of the comparison is skipped if the value is not specified, i.e. an unspecified Epoch: is assumed to be equal in dependency comparisons.
Definition at line 448 of file rpmds.c. References rpmds. |
|
Notify of results of dependency match.
|
|
Compare package name-version-release from header with a single dependency.
Definition at line 734 of file rpmds.c. References alloca, headerNVR, HGE_t, int_32, rpmds, rpmdsCompare, rpmdsFree, rpmdsSetNoPromote, rpmdsSingle, RPMSENSE_EQUAL, RPMSENSE_SENSEMASK, RPMTAG_EPOCH, RPMTAG_PROVIDENAME, and stpcpy. |
|
Report a Requires: or Conflicts: dependency problem.
Definition at line 653 of file rpmds.c. References _, rpmds, rpmdsDNEVR, rpmdsEVR, rpmdsN, RPMPROB_CONFLICT, RPMPROB_REQUIRES, rpmProblemType, and rpmpsAppend. |
|
Set dependency set index.
Definition at line 375 of file rpmds.c. References rpmds. |
|
Set "Don't promote Epoch:" flag.
Definition at line 457 of file rpmds.c. References rpmds. |
|
Create, load and initialize a dependency set of size 1.
Definition at line 316 of file rpmds.c. References int_32, N, rpmds, rpmdsLink, rpmdsNewDNEVR, rpmTag, RPMTAG_CONFLICTNAME, RPMTAG_OBSOLETENAME, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, RPMTAG_TRIGGERNAME, xcalloc, and xmalloc. |
|
Return current dependency type.
|
|
Create, load and initialize a dependency for this header.
Definition at line 236 of file rpmds.c. References headerNVR, HGE_t, int_32, N, rpmds, rpmdsLink, rpmdsNewDNEVR, rpmTag, RPMTAG_CONFLICTNAME, RPMTAG_EPOCH, RPMTAG_OBSOLETENAME, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, RPMTAG_TRIGGERNAME, stpcpy, xcalloc, and xmalloc. |
|
Definition at line 41 of file rpmds.c. References _rpmds_debug, and rpmds. |
|
Definition at line 30 of file rpmds.c. References _rpmds_debug, and rpmds. |
|
Enable noisy range comparison debugging message?
|
|
Definition at line 20 of file rpmds.c. Referenced by rpmdsFree, rpmdsNew, rpmdsNext, XrpmdsLink, and XrpmdsUnlink. |
|
|
|
Definition at line 27 of file rpmds.c. Referenced by rpmdsCompare. |