rpm 6.1.90
The RPM Package Manager
Loading...
Searching...
No Matches
Dependency Set API.

How to compare dependencies. More...

Collaboration diagram for Dependency Set API.:

Files

file  rpmds.h

Enumerations

enum  rpmsenseFlags_e {
  RPMSENSE_ANY = 0 , RPMSENSE_LESS = (1 << 1) , RPMSENSE_GREATER = (1 << 2) , RPMSENSE_EQUAL = (1 << 3) ,
  RPMSENSE_POSTTRANS = (1 << 5) , RPMSENSE_PREREQ = (1 << 6) , RPMSENSE_PRETRANS = (1 << 7) , RPMSENSE_INTERP = (1 << 8) ,
  RPMSENSE_SCRIPT_PRE = (1 << 9) , RPMSENSE_SCRIPT_POST = (1 << 10) , RPMSENSE_SCRIPT_PREUN = (1 << 11) , RPMSENSE_SCRIPT_POSTUN = (1 << 12) ,
  RPMSENSE_SCRIPT_VERIFY = (1 << 13) , RPMSENSE_FIND_REQUIRES = (1 << 14) , RPMSENSE_FIND_PROVIDES = (1 << 15) , RPMSENSE_TRIGGERIN = (1 << 16) ,
  RPMSENSE_TRIGGERUN = (1 << 17) , RPMSENSE_TRIGGERPOSTUN = (1 << 18) , RPMSENSE_MISSINGOK = (1 << 19) , RPMSENSE_PREUNTRANS = (1 << 20) ,
  RPMSENSE_POSTUNTRANS = (1 << 21) , RPMSENSE_RPMLIB = (1 << 24) , RPMSENSE_TRIGGERPREIN = (1 << 25) , RPMSENSE_KEYRING = (1 << 26) ,
  RPMSENSE_CONFIG = (1 << 28) , RPMSENSE_META = (1 << 29)
}

Functions

RPM_PUBLIC_API rpmsenseFlags rpmSanitizeDSFlags (rpmTagVal tagN, rpmsenseFlags Flags)
RPM_PUBLIC_API rpmsenseFlags rpmParseDSFlags (const char *str, size_t len)
RPM_PUBLIC_API rpmds rpmdsLink (rpmds ds)
RPM_PUBLIC_API rpmds rpmdsFree (rpmds ds)
RPM_PUBLIC_API rpmds rpmdsNew (Header h, rpmTagVal tagN, int flags)
RPM_PUBLIC_API char * rpmdsNewDNEVR (const char *dspfx, const rpmds ds)
RPM_PUBLIC_API rpmds rpmdsThis (Header h, rpmTagVal tagN, rpmsenseFlags Flags)
RPM_PUBLIC_API rpmds rpmdsSingle (rpmTagVal tagN, const char *N, const char *EVR, rpmsenseFlags Flags)
RPM_PUBLIC_API rpmds rpmdsCurrent (rpmds ds)
RPM_PUBLIC_API int rpmdsPutToHeader (rpmds ds, Header h)
RPM_PUBLIC_API int rpmdsCount (const rpmds ds)
RPM_PUBLIC_API int rpmdsIx (const rpmds ds)
RPM_PUBLIC_API int rpmdsSetIx (rpmds ds, int ix)
RPM_PUBLIC_API const char * rpmdsDNEVR (const rpmds ds)
RPM_PUBLIC_API char rpmdsD (const rpmds ds)
RPM_PUBLIC_API rpmTagVal rpmdsDToTagN (char deptype)
RPM_PUBLIC_API const char * rpmdsN (const rpmds ds)
RPM_PUBLIC_API const char * rpmdsEVR (const rpmds ds)
RPM_PUBLIC_API int rpmdsTi (const rpmds ds)
RPM_PUBLIC_API rpmsenseFlags rpmdsFlags (const rpmds ds)
RPM_PUBLIC_API rpmTagVal rpmdsTagN (const rpmds ds)
RPM_PUBLIC_API rpmTagVal rpmdsTagEVR (const rpmds ds)
RPM_PUBLIC_API rpmTagVal rpmdsTagF (const rpmds ds)
RPM_PUBLIC_API rpmTagVal rpmdsTagTi (const rpmds ds)
RPM_PUBLIC_API unsigned int rpmdsInstance (rpmds ds)
RPM_PUBLIC_API int rpmdsIsWeak (rpmds ds)
RPM_PUBLIC_API int rpmdsIsReverse (rpmds ds)
RPM_PUBLIC_API int rpmdsIsSysuser (rpmds ds, char **sysuser)
RPM_PUBLIC_API rpm_color_t rpmdsColor (const rpmds ds)
RPM_PUBLIC_API rpm_color_t rpmdsSetColor (const rpmds ds, rpm_color_t color)
RPM_PUBLIC_API int rpmdsNext (rpmds ds)
RPM_PUBLIC_API rpmds rpmdsInit (rpmds ds)
RPM_PUBLIC_API int rpmdsFind (rpmds ds, const rpmds ods)
RPM_PUBLIC_API int rpmdsMerge (rpmds *dsp, rpmds ods)
RPM_PUBLIC_API int rpmdsSearch (rpmds ds, rpmds ods)
RPM_PUBLIC_API int rpmdsCompare (const rpmds A, const rpmds B)
RPM_PUBLIC_API int rpmdsAnyMatchesDep (const Header h, const rpmds req, int nopromote)
RPM_PUBLIC_API int rpmdsMatchesDep (const Header h, int ix, const rpmds req, int nopromote)
RPM_PUBLIC_API int rpmdsNVRMatchesDep (const Header h, const rpmds req, int nopromote)
RPM_PUBLIC_API rpmds rpmdsNewPool (rpmstrPool pool, Header h, rpmTagVal tagN, int flags)
RPM_PUBLIC_API rpmds rpmdsThisPool (rpmstrPool pool, Header h, rpmTagVal tagN, rpmsenseFlags Flags)
RPM_PUBLIC_API rpmds rpmdsSinglePool (rpmstrPool pool, rpmTagVal tagN, const char *N, const char *EVR, rpmsenseFlags Flags)
RPM_PUBLIC_API rpmds rpmdsSinglePoolTix (rpmstrPool pool, rpmTagVal tagN, const char *N, const char *EVR, rpmsenseFlags Flags, int triggerIndex)

Detailed Description

How to compare dependencies.

Enumeration Type Documentation

◆ rpmsenseFlags_e

Dependency Attributes.

Enumerator
RPMSENSE_POSTTRANS 

posttrans dependency

RPMSENSE_PRETRANS 

Pre-transaction dependency.

RPMSENSE_INTERP 

Interpreter used by scriptlet.

RPMSENSE_SCRIPT_PRE 

pre dependency.

RPMSENSE_SCRIPT_POST 

post dependency.

RPMSENSE_SCRIPT_PREUN 

preun dependency.

RPMSENSE_SCRIPT_POSTUN 

postun dependency.

RPMSENSE_SCRIPT_VERIFY 

verify dependency.

RPMSENSE_FIND_REQUIRES 

find-requires generated dependency.

RPMSENSE_FIND_PROVIDES 

find-provides generated dependency.

RPMSENSE_TRIGGERIN 

triggerin dependency.

RPMSENSE_TRIGGERUN 

triggerun dependency.

RPMSENSE_TRIGGERPOSTUN 

triggerpostun dependency.

RPMSENSE_MISSINGOK 

suggests/enhances hint.

RPMSENSE_PREUNTRANS 

preuntrans dependency.

RPMSENSE_POSTUNTRANS 

postuntrans dependency.

RPMSENSE_RPMLIB 

rpmlib(feature) dependency.

RPMSENSE_TRIGGERPREIN 

triggerprein dependency.

RPMSENSE_META 

meta dependency.

Function Documentation

◆ rpmdsAnyMatchesDep()

RPM_PUBLIC_API int rpmdsAnyMatchesDep ( const Header h,
const rpmds req,
int nopromote )

Compare package provides dependencies from header with a single dependency.

Parameters
hheader
reqdependency set
nopromoteunused
Returns
1 if any dependency overlaps, 0 otherwise

◆ rpmdsColor()

RPM_PUBLIC_API rpm_color_t rpmdsColor ( const rpmds ds)

Return current dependency color.

Parameters
dsdependency set
Returns
current dependency color

◆ rpmdsCompare()

RPM_PUBLIC_API int rpmdsCompare ( const rpmds A,
const rpmds B )

Compare two versioned dependency ranges, looking for overlap.

Parameters
A1st dependency
B2nd dependency
Returns
1 if dependencies overlap, 0 otherwise

◆ rpmdsCount()

RPM_PUBLIC_API int rpmdsCount ( const rpmds ds)

Return dependency set count.

Parameters
dsdependency set
Returns
current count

◆ rpmdsCurrent()

RPM_PUBLIC_API rpmds rpmdsCurrent ( rpmds ds)

Return a new dependency set of size 1 from the current iteration index

Parameters
dsdependency set
Returns
new dependency set

◆ rpmdsD()

RPM_PUBLIC_API char rpmdsD ( const rpmds ds)

Return one char indicating the type of the dependency.

Parameters
dsdependency set
Returns
character

◆ rpmdsDNEVR()

RPM_PUBLIC_API const char * rpmdsDNEVR ( const rpmds ds)

Return current formatted dependency string.

Parameters
dsdependency set
Returns
current dependency DNEVR, NULL on invalid

◆ rpmdsDToTagN()

RPM_PUBLIC_API rpmTagVal rpmdsDToTagN ( char deptype)

Return matching tagN for one char dependency type description.

Parameters
deptypecharacter
Returns
type of dependency

◆ rpmdsEVR()

RPM_PUBLIC_API const char * rpmdsEVR ( const rpmds ds)

Return current dependency epoch-version-release.

Parameters
dsdependency set
Returns
current dependency EVR, NULL on invalid

◆ rpmdsFind()

RPM_PUBLIC_API int rpmdsFind ( rpmds ds,
const rpmds ods )

Find a dependency set element using binary search.

Parameters
dsdependency set to search
odsdependency set element to find.
Returns
dependency index (or -1 if not found)

◆ rpmdsFlags()

RPM_PUBLIC_API rpmsenseFlags rpmdsFlags ( const rpmds ds)

Return current dependency flags.

Parameters
dsdependency set
Returns
current dependency flags, 0 on invalid

◆ rpmdsFree()

RPM_PUBLIC_API rpmds rpmdsFree ( rpmds ds)

Destroy a dependency set.

Parameters
dsdependency set
Returns
NULL always

◆ rpmdsInit()

RPM_PUBLIC_API rpmds rpmdsInit ( rpmds ds)

Initialize dependency set iterator.

Parameters
dsdependency set
Returns
dependency set

◆ rpmdsInstance()

RPM_PUBLIC_API unsigned int rpmdsInstance ( rpmds ds)

Return dependency header instance, ie whether the dependency comes from an installed header or not.

Parameters
dsdependency set
Returns
header instance of dependency (0 for not installed)

◆ rpmdsIsReverse()

RPM_PUBLIC_API int rpmdsIsReverse ( rpmds ds)

Return whether dependency is reversed

Parameters
dsdependency set
Returns
1 if reversed, 0 if not

◆ rpmdsIsSysuser()

RPM_PUBLIC_API int rpmdsIsSysuser ( rpmds ds,
char ** sysuser )

Return whether dependency represents a sysusers.d entry

Parameters
dsdependency set
[out]sysusersysusers.d line if true (malloced), may be NULL
Returns
1 if reversed, 0 if not

◆ rpmdsIsWeak()

RPM_PUBLIC_API int rpmdsIsWeak ( rpmds ds)

Return whether dependency is weak

Parameters
dsdependency set
Returns
1 if weak, 0 if not

◆ rpmdsIx()

RPM_PUBLIC_API int rpmdsIx ( const rpmds ds)

Return dependency set index.

Parameters
dsdependency set
Returns
current index

◆ rpmdsLink()

RPM_PUBLIC_API rpmds rpmdsLink ( rpmds ds)

Reference a dependency set instance.

Parameters
dsdependency set
Returns
new dependency set reference

◆ rpmdsMatchesDep()

RPM_PUBLIC_API int rpmdsMatchesDep ( const Header h,
int ix,
const rpmds req,
int nopromote )

Compare package provides dependencies from header with a single dependency.

Parameters
hheader
ixindex in header provides
reqdependency set
nopromoteunused
Returns
1 if any dependency overlaps, 0 otherwise

◆ rpmdsMerge()

RPM_PUBLIC_API int rpmdsMerge ( rpmds * dsp,
rpmds ods )

Merge a dependency set maintaining (N,EVR,Flags) sorted order.

Parameters
[out]*dsp(merged) dependency set
odsdependency set to merge
Returns
number of merged dependencies, -1 on error

◆ rpmdsN()

RPM_PUBLIC_API const char * rpmdsN ( const rpmds ds)

Return current dependency name.

Parameters
dsdependency set
Returns
current dependency name, NULL on invalid

◆ rpmdsNew()

RPM_PUBLIC_API rpmds rpmdsNew ( Header h,
rpmTagVal tagN,
int flags )

Create and load a dependency set.

Parameters
hheader
tagNtype of dependency
flagsunused
Returns
new dependency set

◆ rpmdsNewDNEVR()

RPM_PUBLIC_API char * rpmdsNewDNEVR ( const char * dspfx,
const rpmds ds )

Return new formatted dependency string.

Parameters
dspfxformatted dependency string prefix
dsdependency set
Returns
new formatted dependency (malloc'ed)

◆ rpmdsNewPool()

RPM_PUBLIC_API rpmds rpmdsNewPool ( rpmstrPool pool,
Header h,
rpmTagVal tagN,
int flags )

Create and load a dependency set.

Parameters
poolshared string pool (or NULL for private pool)
hheader
tagNtype of dependency
flagsunused
Returns
new dependency set

◆ rpmdsNext()

RPM_PUBLIC_API int rpmdsNext ( rpmds ds)

Return next dependency set iterator index.

Parameters
dsdependency set
Returns
dependency set iterator index, -1 on termination

◆ rpmdsNVRMatchesDep()

RPM_PUBLIC_API int rpmdsNVRMatchesDep ( const Header h,
const rpmds req,
int nopromote )

Compare package name-version-release from header with a single dependency.

Parameters
hheader
reqdependency set
nopromoteunused
Returns
1 if dependency overlaps, 0 otherwise

◆ rpmdsPutToHeader()

RPM_PUBLIC_API int rpmdsPutToHeader ( rpmds ds,
Header h )

Write content of the dependency set to the header

Parameters
dsdependency set
hheader
Returns
0 on success

◆ rpmdsSearch()

RPM_PUBLIC_API int rpmdsSearch ( rpmds ds,
rpmds ods )

Search a sorted dependency set for an element that overlaps. A boolean result is saved (if allocated) and accessible through rpmdsResult(ods) afterwards.

Parameters
dsdependency set to search
odsdependency set element to find.
Returns
dependency index (or -1 if not found)

◆ rpmdsSetColor()

RPM_PUBLIC_API rpm_color_t rpmdsSetColor ( const rpmds ds,
rpm_color_t color )

Return current dependency color.

Parameters
dsdependency set
colornew dependency color
Returns
previous dependency color

◆ rpmdsSetIx()

RPM_PUBLIC_API int rpmdsSetIx ( rpmds ds,
int ix )

Set dependency set index.

Parameters
dsdependency set
ixnew index
Returns
new index, -1 on error

◆ rpmdsSingle()

RPM_PUBLIC_API rpmds rpmdsSingle ( rpmTagVal tagN,
const char * N,
const char * EVR,
rpmsenseFlags Flags )

Create, load and initialize a dependency set of size 1.

Parameters
tagNtype of dependency
Nname
EVRepoch:version-release
Flagscomparison flags
Returns
new dependency set

◆ rpmdsSinglePool()

RPM_PUBLIC_API rpmds rpmdsSinglePool ( rpmstrPool pool,
rpmTagVal tagN,
const char * N,
const char * EVR,
rpmsenseFlags Flags )

Create, load and initialize a dependency set of size 1.

Parameters
poolstring pool (or NULL for private pool)
tagNtype of dependency
Nname
EVRepoch:version-release
Flagscomparison flags
Returns
new dependency set

◆ rpmdsSinglePoolTix()

RPM_PUBLIC_API rpmds rpmdsSinglePoolTix ( rpmstrPool pool,
rpmTagVal tagN,
const char * N,
const char * EVR,
rpmsenseFlags Flags,
int triggerIndex )

Create, load and initialize a trigger dependency set of size 1.

Parameters
poolstring pool (or NULL for private pool)
tagNtype of dependency
Nname
EVRepoch:version-release
Flagscomparison flags
triggerIndextrigger index
Returns
new dependency set

◆ rpmdsTagEVR()

RPM_PUBLIC_API rpmTagVal rpmdsTagEVR ( const rpmds ds)

Return current dependency type.

Parameters
dsdependency set
Returns
current dependency type version tag, 0 on invalid

◆ rpmdsTagF()

RPM_PUBLIC_API rpmTagVal rpmdsTagF ( const rpmds ds)

Return current dependency type.

Parameters
dsdependency set
Returns
current dependency type flags tag, 0 on invalid

◆ rpmdsTagN()

RPM_PUBLIC_API rpmTagVal rpmdsTagN ( const rpmds ds)

Return current dependency type.

Parameters
dsdependency set
Returns
current dependency type, 0 on invalid

◆ rpmdsTagTi()

RPM_PUBLIC_API rpmTagVal rpmdsTagTi ( const rpmds ds)

Return current dependency type.

Parameters
dsdependency set
Returns
current dependency type trigger index tag, 0 on invalid

◆ rpmdsThis()

RPM_PUBLIC_API rpmds rpmdsThis ( Header h,
rpmTagVal tagN,
rpmsenseFlags Flags )

Create, load and initialize a dependency for this header.

Parameters
hheader
tagNtype of dependency
Flagscomparison flags
Returns
new dependency set

◆ rpmdsThisPool()

RPM_PUBLIC_API rpmds rpmdsThisPool ( rpmstrPool pool,
Header h,
rpmTagVal tagN,
rpmsenseFlags Flags )

Create, load and initialize a dependency for this header.

Parameters
poolstring pool (or NULL for private pool)
hheader
tagNtype of dependency
Flagscomparison flags
Returns
new dependency set

◆ rpmdsTi()

RPM_PUBLIC_API int rpmdsTi ( const rpmds ds)

Return current dependency triggerindex.

Parameters
dsdependency set
Returns
current dependency trigger index, -1 on invalid

◆ rpmParseDSFlags()

RPM_PUBLIC_API rpmsenseFlags rpmParseDSFlags ( const char * str,
size_t len )

Convert a string to the sense flags

Parameters
strthe string
lenlength of the string
Returns
flags, zero for unknown relations

◆ rpmSanitizeDSFlags()

RPM_PUBLIC_API rpmsenseFlags rpmSanitizeDSFlags ( rpmTagVal tagN,
rpmsenseFlags Flags )

Return only those flags allowed for given type of dependencies

Parameters
tagNtype of dependency
Flagsflags
Returns
flags filtered to allowed bits