11 #include <rpm/rpmtypes.h> 12 #include <rpm/rpmps.h> 62 #define RPMSENSE_SENSEMASK 15 65 #define RPMSENSE_TRIGGER \ 66 (RPMSENSE_TRIGGERPREIN | RPMSENSE_TRIGGERIN | RPMSENSE_TRIGGERUN | RPMSENSE_TRIGGERPOSTUN) 68 #define _ALL_REQUIRES_MASK (\ 70 RPMSENSE_SCRIPT_PRE | \ 71 RPMSENSE_SCRIPT_POST | \ 72 RPMSENSE_SCRIPT_PREUN | \ 73 RPMSENSE_SCRIPT_POSTUN | \ 74 RPMSENSE_SCRIPT_VERIFY | \ 75 RPMSENSE_FIND_REQUIRES | \ 76 RPMSENSE_SCRIPT_PREP | \ 77 RPMSENSE_SCRIPT_BUILD | \ 78 RPMSENSE_SCRIPT_INSTALL | \ 79 RPMSENSE_SCRIPT_CLEAN | \ 84 #define _notpre(_x) ((_x) & ~RPMSENSE_PREREQ) 85 #define _INSTALL_ONLY_MASK \ 86 _notpre(RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POST|RPMSENSE_RPMLIB|RPMSENSE_KEYRING) 87 #define _ERASE_ONLY_MASK \ 88 _notpre(RPMSENSE_SCRIPT_PREUN|RPMSENSE_SCRIPT_POSTUN) 90 #define isLegacyPreReq(_x) (((_x) & _ALL_REQUIRES_MASK) == RPMSENSE_PREREQ) 91 #define isInstallPreReq(_x) ((_x) & _INSTALL_ONLY_MASK) 92 #define isErasePreReq(_x) ((_x) & _ERASE_ONLY_MASK) char * rpmdsNewDNEVR(const char *dspfx, const rpmds ds)
Return new formatted dependency string.
rpmds rpmdsInit(rpmds ds)
Initialize dependency set iterator.
int rpmdsNVRMatchesDep(const Header h, const rpmds req, int nopromote)
Compare package name-version-release from header with a single dependency.
rpmds rpmdsThis(Header h, rpmTag tagN, rpmsenseFlags Flags)
Create, load and initialize a dependency for this header.
int32_t rpmdsSetRefs(const rpmds ds, int32_t refs)
Return current dependency color.
time_t rpmdsSetBT(const rpmds ds, time_t BT)
Set dependency build time.
int rpmdsSetIx(rpmds ds, int ix)
Set dependency set index.
enum rpmTag_e rpmTag
Tags identify data in package headers.
int rpmdsIx(const rpmds ds)
Return dependency set index.
struct rpmps_s * rpmps
Transaction problems found while processing a transaction set/.
rpmds rpmdsFree(rpmds ds)
Destroy a dependency set.
rpmds rpmdsUnlink(rpmds ds, const char *msg)
Unreference a dependency set instance.
int32_t rpmdsRefs(const rpmds ds)
Return current dependency file refs.
int rpmdsFind(rpmds ds, const rpmds ods)
Find a dependency set element using binary search.
int rpmdsCount(const rpmds ds)
Return dependency set count.
rpmTag rpmdsTagN(const rpmds ds)
Return current dependency type.
int rpmdsSearch(rpmds ds, rpmds ods)
Search a sorted dependency set for an element that overlaps.
rpmds rpmdsNew(Header h, rpmTag tagN, int flags)
Create and load a dependency set.
int rpmdsCompare(const rpmds A, const rpmds B)
Compare two versioned dependency ranges, looking for overlap.
int rpmdsNoPromote(const rpmds ds)
Return current "Don't promote Epoch:" flag.
rpm_color_t rpmdsColor(const rpmds ds)
Return current dependency color.
int rpmdsNext(rpmds ds)
Return next dependency set iterator index.
int rpmdsRpmlib(rpmds *dsp, void *tblp)
Load rpmlib provides into a dependency set.
rpmds rpmdsLink(rpmds ds, const char *msg)
Reference a dependency set instance.
rpmsenseFlags_e
Dependency Attributes.
rpmsenseFlags rpmdsFlags(const rpmds ds)
Return current dependency flags.
int rpmdsSetNoPromote(rpmds ds, int nopromote)
Set "Don't promote Epoch:" flag.
const char * rpmdsEVR(const rpmds ds)
Return current dependency epoch-version-release.
int rpmdsMerge(rpmds *dsp, rpmds ods)
Merge a dependency set maintaining (N,EVR,Flags) sorted order.
const char * rpmdsDNEVR(const rpmds ds)
Return current formatted dependency string.
time_t rpmdsBT(const rpmds ds)
Return dependency build time.
rpmds rpmdsSingle(rpmTag tagN, const char *N, const char *EVR, rpmsenseFlags Flags)
Create, load and initialize a dependency set of size 1.
void rpmdsNotify(rpmds ds, const char *where, int rc)
Notify of results of dependency match.
int rpmdsAnyMatchesDep(const Header h, const rpmds req, int nopromote)
Compare package provides dependencies from header with a single dependency.
void rpmdsProblem(rpmps ps, const char *pkgNEVR, const rpmds ds, const fnpyKey *suggestedKeys, int adding)
Report a Requires: or Conflicts: dependency problem.
const char * rpmdsN(const rpmds ds)
Return current dependency name.
enum rpmsenseFlags_e rpmsenseFlags
Dependency Attributes.
struct headerToken_s * Header
RPM header and data retrieval types.
rpm_color_t rpmdsSetColor(const rpmds ds, rpm_color_t color)
Return current dependency color.