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),
55 typedef 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))
164 rpmds
rpmdsSingle(rpmTagVal tagN,
const char * N,
const char * EVR, rpmsenseFlags Flags);
215 char rpmdsD(
const rpmds ds);
229 const char *
rpmdsN(
const rpmds ds);
236 const char *
rpmdsEVR(
const rpmds ds);
323 rpm_color_t
rpmdsSetColor(
const rpmds ds, rpm_color_t color);
345 int rpmdsFind(rpmds ds,
const rpmds ods);
442 Header h, rpmTagVal tagN, rpmsenseFlags Flags);
454 const char * N,
const char * EVR, rpmsenseFlags Flags);
467 const char * N,
const char * EVR,
468 rpmsenseFlags Flags,
int triggerIndex);
496 typedef enum rpmrichOp_e {
498 RPMRICHOP_SINGLE = 1,
504 RPMRICHOP_WITHOUT = 7,
508 typedef enum rpmrichParseType_e {
509 RPMRICH_PARSE_SIMPLE = 1,
510 RPMRICH_PARSE_ENTER = 2,
511 RPMRICH_PARSE_LEAVE = 3,
515 typedef rpmRC (*rpmrichParseFunction) (
void *cbdata, rpmrichParseType type,
516 const char *n,
int nl,
const char *e,
int el, rpmsenseFlags sense,
517 rpmrichOp op,
char **emsg);
527 rpmRC rpmrichParse(
const char **dstrp,
char **emsg, rpmrichParseFunction cb,
void *cbdata);
538 rpmRC rpmrichParseForTag(
const char **dstrp,
char **emsg, rpmrichParseFunction cb,
void *cbdata, rpmTagVal tagN);
rpmds rpmdsCurrent(rpmds ds)
int rpmdsMatchesDep(const Header h, int ix, const rpmds req, int nopromote)
rpmRC rpmrichParseForTag(const char **dstrp, char **emsg, rpmrichParseFunction cb, void *cbdata, rpmTagVal tagN)
rpmds rpmdsNewPool(rpmstrPool pool, Header h, rpmTagVal tagN, int flags)
rpmTagVal rpmdsTagN(const rpmds ds)
rpmRC rpmdsParseRichDep(rpmds dep, rpmds *leftds, rpmds *rightds, rpmrichOp *op, char **emsg)
rpmTagVal rpmdsTagTi(const rpmds ds)
char * rpmdsNewDNEVR(const char *dspfx, const rpmds ds)
int rpmdsFind(rpmds ds, const rpmds ods)
int rpmdsMerge(rpmds *dsp, rpmds ods)
int rpmdsIx(const rpmds ds)
int rpmdsNVRMatchesDep(const Header h, const rpmds req, int nopromote)
rpmds rpmdsLink(rpmds ds)
int rpmdsCpuinfoPool(rpmstrPool pool, rpmds *dsp)
int rpmdsUname(rpmds *dsp)
int rpmdsCpuinfo(rpmds *dsp)
int rpmdsRpmlib(rpmds *dsp, const void *tblp)
int rpmdsRpmlibPool(rpmstrPool pool, rpmds *dsp, const void *tblp)
rpmsenseFlags rpmdsFlags(const rpmds ds)
rpmsenseFlags_e
Definition: rpmds.h:22
int rpmdsSetIx(rpmds ds, int ix)
int rpmdsIsWeak(rpmds ds)
rpmTagVal rpmdsTagEVR(const rpmds ds)
const char * rpmdsN(const rpmds ds)
int rpmdsSearch(rpmds ds, rpmds ods)
int rpmdsAnyMatchesDep(const Header h, const rpmds req, int nopromote)
rpmds rpmdsSinglePoolTix(rpmstrPool pool, rpmTagVal tagN, const char *N, const char *EVR, rpmsenseFlags Flags, int triggerIndex)
rpmds rpmdsThisPool(rpmstrPool pool, Header h, rpmTagVal tagN, rpmsenseFlags Flags)
rpmds rpmdsThis(Header h, rpmTagVal tagN, rpmsenseFlags Flags)
struct headerToken_s * Header
Definition: rpmtypes.h:24
int rpmdsCount(const rpmds ds)
char rpmdsD(const rpmds ds)
rpmds rpmdsSinglePool(rpmstrPool pool, rpmTagVal tagN, const char *N, const char *EVR, rpmsenseFlags Flags)
rpmds rpmdsSingle(rpmTagVal tagN, const char *N, const char *EVR, rpmsenseFlags Flags)
rpmTagVal rpmdsDToTagN(char deptype)
rpmds rpmdsFree(rpmds ds)
rpmsenseFlags rpmParseDSFlags(const char *str, size_t len)
rpmds rpmdsNew(Header h, rpmTagVal tagN, int flags)
rpm_color_t rpmdsColor(const rpmds ds)
int rpmdsPutToHeader(rpmds ds, Header h)
int rpmdsIsRich(rpmds dep)
const char * rpmrichOpStr(rpmrichOp op)
int rpmdsCompare(const rpmds A, const rpmds B)
rpmTagVal rpmdsTagF(const rpmds ds)
rpmsenseFlags rpmSanitizeDSFlags(rpmTagVal tagN, rpmsenseFlags Flags)
rpmds rpmdsInit(rpmds ds)
const char * rpmdsEVR(const rpmds ds)
const char * rpmdsDNEVR(const rpmds ds)
unsigned int rpmdsInstance(rpmds ds)
rpm_color_t rpmdsSetColor(const rpmds ds, rpm_color_t color)
int rpmdsIsSysuser(rpmds ds, char **sysuser)
int rpmdsIsReverse(rpmds ds)
int rpmdsTi(const rpmds ds)
int rpmdsUnamePool(rpmstrPool pool, rpmds *dsp)
rpmRC rpmrichParse(const char **dstrp, char **emsg, rpmrichParseFunction cb, void *cbdata)