Go to the documentation of this file.
11 #include <rpm/rpmtypes.h>
12 #include <rpm/rpmps.h>
57 #define RPMSENSE_SENSEMASK 15
60 #define RPMSENSE_TRIGGER \
61 (RPMSENSE_TRIGGERPREIN | RPMSENSE_TRIGGERIN | RPMSENSE_TRIGGERUN | RPMSENSE_TRIGGERPOSTUN)
63 #define _ALL_REQUIRES_MASK (\
65 RPMSENSE_SCRIPT_PRE | \
66 RPMSENSE_SCRIPT_POST | \
67 RPMSENSE_SCRIPT_PREUN | \
68 RPMSENSE_SCRIPT_POSTUN | \
69 RPMSENSE_SCRIPT_VERIFY | \
70 RPMSENSE_FIND_REQUIRES | \
74 RPMSENSE_POSTTRANS | \
78 #define _notpre(_x) ((_x) & ~RPMSENSE_PREREQ)
79 #define _INSTALL_ONLY_MASK \
80 _notpre(RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POST|RPMSENSE_RPMLIB|RPMSENSE_KEYRING|RPMSENSE_PRETRANS|RPMSENSE_POSTTRANS)
81 #define _ERASE_ONLY_MASK \
82 _notpre(RPMSENSE_SCRIPT_PREUN|RPMSENSE_SCRIPT_POSTUN)
84 #define isLegacyPreReq(_x) (((_x) & _ALL_REQUIRES_MASK) == RPMSENSE_PREREQ)
85 #define isInstallPreReq(_x) ((_x) & _INSTALL_ONLY_MASK)
86 #define isErasePreReq(_x) ((_x) & _ERASE_ONLY_MASK)
453 const char * N,
const char * EVR,
482 const char *n,
int nl,
const char *e,
int el,
rpmsenseFlags sense,
int rpmdsNoPromote(const rpmds ds)
int rpmdsPutToHeader(rpmds ds, Header h)
int rpmdsFind(rpmds ds, const rpmds ods)
const char * rpmdsDNEVR(const rpmds ds)
int rpmdsMatchesDep(const Header h, int ix, const rpmds req, int nopromote)
rpmds rpmdsNew(Header h, rpmTagVal tagN, int flags)
int rpmdsAnyMatchesDep(const Header h, const rpmds req, int nopromote)
rpmRC(* rpmrichParseFunction)(void *cbdata, rpmrichParseType type, const char *n, int nl, const char *e, int el, rpmsenseFlags sense, rpmrichOp op, char **emsg)
unsigned int rpmdsInstance(rpmds ds)
char rpmdsD(const rpmds ds)
const char * rpmrichOpStr(rpmrichOp op)
Return a string representation of the rich dependency op.
rpmsenseFlags rpmSanitizeDSFlags(rpmTagVal tagN, rpmsenseFlags Flags)
struct rpmstrPool_s * rpmstrPool
rpmRC rpmdsParseRichDep(rpmds dep, rpmds *leftds, rpmds *rightds, rpmrichOp *op, char **emsg)
Parse a rich dependency string.
rpmds rpmdsThis(Header h, rpmTagVal tagN, rpmsenseFlags Flags)
int rpmdsSetIx(rpmds ds, int ix)
rpmTagVal rpmdsTagEVR(const rpmds ds)
rpm_color_t rpmdsColor(const rpmds ds)
rpmds rpmdsInit(rpmds ds)
rpmds rpmdsFree(rpmds ds)
rpmsenseFlags rpmdsFlags(const rpmds ds)
int rpmdsSearch(rpmds ds, rpmds ods)
rpmds rpmdsThisPool(rpmstrPool pool, Header h, rpmTagVal tagN, rpmsenseFlags Flags)
rpmds rpmdsLink(rpmds ds)
rpmds rpmdsSinglePoolTix(rpmstrPool pool, rpmTagVal tagN, const char *N, const char *EVR, rpmsenseFlags Flags, int triggerIndex)
enum rpmrichOp_e rpmrichOp
rpmTagVal rpmdsTagN(const rpmds ds)
rpm_color_t rpmdsSetColor(const rpmds ds, rpm_color_t color)
enum rpmrichParseType_e rpmrichParseType
int rpmdsIsRich(rpmds dep)
Return if current depenency is rich.
rpmTagVal rpmdsTagTi(const rpmds ds)
rpmds rpmdsCurrent(rpmds ds)
int rpmdsSetNoPromote(rpmds ds, int nopromote)
rpmRC rpmrichParse(const char **dstrp, char **emsg, rpmrichParseFunction cb, void *cbdata)
Parse a rich dependency string.
void rpmdsNotify(rpmds ds, const char *where, int rc)
rpmds rpmdsNewPool(rpmstrPool pool, Header h, rpmTagVal tagN, int flags)
int rpmdsMerge(rpmds *dsp, rpmds ods)
int rpmdsCompare(const rpmds A, const rpmds B)
int rpmdsRpmlib(rpmds *dsp, const void *tblp)
Load rpmlib provides into a dependency set.
int rpmdsNVRMatchesDep(const Header h, const rpmds req, int nopromote)
int rpmdsTi(const rpmds ds)
const char * rpmdsN(const rpmds ds)
struct headerToken_s * Header
char * rpmdsNewDNEVR(const char *dspfx, const rpmds ds)
rpmTagVal rpmdsTagF(const rpmds ds)
rpmTagVal rpmdsDToTagN(char deptype)
const char * rpmdsEVR(const rpmds ds)
rpmds rpmdsSingle(rpmTagVal tagN, const char *N, const char *EVR, rpmsenseFlags Flags)
int rpmdsRpmlibPool(rpmstrPool pool, rpmds *dsp, const void *tblp)
Load rpmlib provides into a dependency set.
rpmds rpmdsSinglePool(rpmstrPool pool, rpmTagVal tagN, const char *N, const char *EVR, rpmsenseFlags Flags)
int rpmdsIx(const rpmds ds)
rpmsenseFlags rpmParseDSFlags(const char *str, size_t len)
int rpmdsCount(const rpmds ds)