24 RPMSENSE_LESS = (1 << 1),
25 RPMSENSE_GREATER = (1 << 2),
26 RPMSENSE_EQUAL = (1 << 3),
29 RPMSENSE_PREREQ = (1 << 6),
49 RPMSENSE_KEYRING = (1 << 26),
51 RPMSENSE_CONFIG = (1 << 28),
55typedef rpmFlags rpmsenseFlags;
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 | \
75 RPMSENSE_PREUNTRANS | \
76 RPMSENSE_POSTUNTRANS | \
81#define _notpre(_x) ((_x) & ~RPMSENSE_PREREQ)
82#define _INSTALL_ONLY_MASK \
83 _notpre(RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POST|RPMSENSE_RPMLIB|RPMSENSE_KEYRING|RPMSENSE_PRETRANS|RPMSENSE_POSTTRANS)
84#define _ERASE_ONLY_MASK \
85 _notpre(RPMSENSE_SCRIPT_PREUN|RPMSENSE_SCRIPT_POSTUN|RPMSENSE_PREUNTRANS|RPMSENSE_POSTUNTRANS)
86#define _UNORDERED_ONLY_MASK \
87 _notpre(RPMSENSE_RPMLIB|RPMSENSE_CONFIG|RPMSENSE_PRETRANS|RPMSENSE_POSTTRANS|RPMSENSE_PREUNTRANS|RPMSENSE_POSTUNTRANS|RPMSENSE_SCRIPT_VERIFY|RPMSENSE_META)
88#define _FORCE_ORDER_ONLY_MASK \
89 _notpre(RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POST|RPMSENSE_SCRIPT_PREUN|RPMSENSE_SCRIPT_POSTUN)
91#define isLegacyPreReq(_x) (((_x) & _ALL_REQUIRES_MASK) == RPMSENSE_PREREQ)
92#define isInstallPreReq(_x) ((_x) & _INSTALL_ONLY_MASK)
93#define isErasePreReq(_x) ((_x) & _ERASE_ONLY_MASK)
94#define isUnorderedReq(_x) ((_x) & _UNORDERED_ONLY_MASK && \
95 !((_x) & _FORCE_ORDER_ONLY_MASK))
96#define isTransientReq(_x) (isInstallPreReq(_x) && \
97 !isErasePreReq(_x) && \
98 !((_x) & RPMSENSE_META))
164rpmds
rpmdsSingle(rpmTagVal tagN,
const char * N,
const char * EVR, rpmsenseFlags Flags);
428 Header h, rpmTagVal tagN, rpmsenseFlags Flags);
440 const char * N,
const char * EVR, rpmsenseFlags Flags);
453 const char * N,
const char * EVR,
454 rpmsenseFlags Flags,
int triggerIndex);
466typedef enum rpmrichOp_e {
468 RPMRICHOP_SINGLE = 1,
474 RPMRICHOP_WITHOUT = 7,
478typedef enum rpmrichParseType_e {
479 RPMRICH_PARSE_SIMPLE = 1,
480 RPMRICH_PARSE_ENTER = 2,
481 RPMRICH_PARSE_LEAVE = 3,
485typedef rpmRC (*rpmrichParseFunction) (
void *cbdata, rpmrichParseType type,
486 const char *n,
int nl,
const char *e,
int el, rpmsenseFlags sense,
487 rpmrichOp op,
char **emsg);
const char * rpmdsN(const rpmds ds)
int rpmdsIsWeak(rpmds ds)
int rpmdsIsSysuser(rpmds ds, char **sysuser)
int rpmdsIx(const rpmds ds)
rpmsenseFlags rpmSanitizeDSFlags(rpmTagVal tagN, rpmsenseFlags Flags)
rpmds rpmdsNewPool(rpmstrPool pool, Header h, rpmTagVal tagN, int flags)
rpmds rpmdsCurrent(rpmds ds)
rpmds rpmdsSinglePoolTix(rpmstrPool pool, rpmTagVal tagN, const char *N, const char *EVR, rpmsenseFlags Flags, int triggerIndex)
int rpmdsTi(const rpmds ds)
int rpmdsCompare(const rpmds A, const rpmds B)
const char * rpmdsEVR(const rpmds ds)
int rpmdsFind(rpmds ds, const rpmds ods)
unsigned int rpmdsInstance(rpmds ds)
int rpmdsPutToHeader(rpmds ds, Header h)
rpm_color_t rpmdsSetColor(const rpmds ds, rpm_color_t color)
rpmds rpmdsSingle(rpmTagVal tagN, const char *N, const char *EVR, rpmsenseFlags Flags)
rpmds rpmdsThis(Header h, rpmTagVal tagN, rpmsenseFlags Flags)
rpmds rpmdsNew(Header h, rpmTagVal tagN, int flags)
int rpmdsMerge(rpmds *dsp, rpmds ods)
rpmTagVal rpmdsTagF(const rpmds ds)
rpmTagVal rpmdsTagEVR(const rpmds ds)
char rpmdsD(const rpmds ds)
rpmds rpmdsThisPool(rpmstrPool pool, Header h, rpmTagVal tagN, rpmsenseFlags Flags)
rpmds rpmdsFree(rpmds ds)
rpmTagVal rpmdsTagTi(const rpmds ds)
int rpmdsSetIx(rpmds ds, int ix)
int rpmdsSearch(rpmds ds, rpmds ods)
int rpmdsIsReverse(rpmds ds)
int rpmdsCount(const rpmds ds)
rpmTagVal rpmdsTagN(const rpmds ds)
rpmds rpmdsLink(rpmds ds)
rpmTagVal rpmdsDToTagN(char deptype)
int rpmdsMatchesDep(const Header h, int ix, const rpmds req, int nopromote)
int rpmdsNVRMatchesDep(const Header h, const rpmds req, int nopromote)
rpmsenseFlags rpmParseDSFlags(const char *str, size_t len)
rpmsenseFlags rpmdsFlags(const rpmds ds)
rpmds rpmdsInit(rpmds ds)
int rpmdsAnyMatchesDep(const Header h, const rpmds req, int nopromote)
rpm_color_t rpmdsColor(const rpmds ds)
char * rpmdsNewDNEVR(const char *dspfx, const rpmds ds)
rpmsenseFlags_e
Definition rpmds.h:22
const char * rpmdsDNEVR(const rpmds ds)
rpmds rpmdsSinglePool(rpmstrPool pool, rpmTagVal tagN, const char *N, const char *EVR, rpmsenseFlags Flags)
@ RPMSENSE_POSTUNTRANS
Definition rpmds.h:45
@ RPMSENSE_FIND_PROVIDES
Definition rpmds.h:38
@ RPMSENSE_SCRIPT_POSTUN
Definition rpmds.h:35
@ RPMSENSE_TRIGGERPREIN
Definition rpmds.h:48
@ RPMSENSE_INTERP
Definition rpmds.h:31
@ RPMSENSE_TRIGGERUN
Definition rpmds.h:41
@ RPMSENSE_PREUNTRANS
Definition rpmds.h:44
@ RPMSENSE_FIND_REQUIRES
Definition rpmds.h:37
@ RPMSENSE_MISSINGOK
Definition rpmds.h:43
@ RPMSENSE_TRIGGERIN
Definition rpmds.h:40
@ RPMSENSE_TRIGGERPOSTUN
Definition rpmds.h:42
@ RPMSENSE_META
Definition rpmds.h:52
@ RPMSENSE_SCRIPT_PRE
Definition rpmds.h:32
@ RPMSENSE_SCRIPT_VERIFY
Definition rpmds.h:36
@ RPMSENSE_SCRIPT_PREUN
Definition rpmds.h:34
@ RPMSENSE_RPMLIB
Definition rpmds.h:47
@ RPMSENSE_SCRIPT_POST
Definition rpmds.h:33
@ RPMSENSE_POSTTRANS
Definition rpmds.h:28
@ RPMSENSE_PRETRANS
Definition rpmds.h:30
struct headerToken_s * Header
Definition rpmtypes.h:24
const char * rpmrichOpStr(rpmrichOp op)
int rpmdsRpmlib(rpmds *dsp, const void *tblp)
int rpmdsIsRich(rpmds dep)
int rpmdsRpmlibPool(rpmstrPool pool, rpmds *dsp, const void *tblp)
rpmRC rpmrichParseForTag(const char **dstrp, char **emsg, rpmrichParseFunction cb, void *cbdata, rpmTagVal tagN)
rpmRC rpmrichParse(const char **dstrp, char **emsg, rpmrichParseFunction cb, void *cbdata)
rpmRC rpmdsParseRichDep(rpmds dep, rpmds *leftds, rpmds *rightds, rpmrichOp *op, char **emsg)