rpm  4.10.0
Enumerations | Functions
Dependency Set API.

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_RPMLIB = (1 << 24),
  RPMSENSE_TRIGGERPREIN = (1 << 25), RPMSENSE_KEYRING = (1 << 26), RPMSENSE_CONFIG = (1 << 28)
}
 Dependency Attributes. More...

Functions

rpmds rpmdsLink (rpmds ds)
 Reference a dependency set instance.
rpmds rpmdsFree (rpmds ds)
 Destroy a dependency set.
rpmds rpmdsNew (Header h, rpmTagVal tagN, int flags)
 Create and load a dependency set.
char * rpmdsNewDNEVR (const char *dspfx, const rpmds ds)
 Return new formatted dependency string.
rpmds rpmdsThis (Header h, rpmTagVal tagN, rpmsenseFlags Flags)
 Create, load and initialize a dependency for this header.
rpmds rpmdsSingle (rpmTagVal tagN, const char *N, const char *EVR, rpmsenseFlags Flags)
 Create, load and initialize a dependency set of size 1.
rpmds rpmdsCurrent (rpmds ds)
 Return a new dependency set of size 1 from the current iteration index.
int rpmdsCount (const rpmds ds)
 Return dependency set count.
int rpmdsIx (const rpmds ds)
 Return dependency set index.
int rpmdsSetIx (rpmds ds, int ix)
 Set dependency set index.
const char * rpmdsDNEVR (const rpmds ds)
 Return current formatted dependency string.
const char * rpmdsN (const rpmds ds)
 Return current dependency name.
const char * rpmdsEVR (const rpmds ds)
 Return current dependency epoch-version-release.
rpmsenseFlags rpmdsFlags (const rpmds ds)
 Return current dependency flags.
rpmTagVal rpmdsTagN (const rpmds ds)
 Return current dependency type.
unsigned int rpmdsInstance (rpmds ds)
 Return dependency header instance, ie whether the dependency comes from an installed header or not.
int rpmdsNoPromote (const rpmds ds)
 Return current "Don't promote Epoch:" flag.
int rpmdsSetNoPromote (rpmds ds, int nopromote)
 Set "Don't promote Epoch:" flag.
rpm_color_t rpmdsColor (const rpmds ds)
 Return current dependency color.
rpm_color_t rpmdsSetColor (const rpmds ds, rpm_color_t color)
 Return current dependency color.
void rpmdsNotify (rpmds ds, const char *where, int rc)
 Notify of results of dependency match.
int rpmdsNext (rpmds ds)
 Return next dependency set iterator index.
rpmds rpmdsInit (rpmds ds)
 Initialize dependency set iterator.
int rpmdsFind (rpmds ds, const rpmds ods)
 Find a dependency set element using binary search.
int rpmdsMerge (rpmds *dsp, rpmds ods)
 Merge a dependency set maintaining (N,EVR,Flags) sorted order.
int rpmdsSearch (rpmds ds, rpmds ods)
 Search a sorted dependency set for an element that overlaps.
int rpmdsCompare (const rpmds A, const rpmds B)
 Compare two versioned dependency ranges, looking for overlap.
int rpmdsAnyMatchesDep (const Header h, const rpmds req, int nopromote)
 Compare package provides dependencies from header with a single dependency.
int rpmdsMatchesDep (const Header h, int ix, const rpmds req, int nopromote)
 Compare package provides dependencies from header with a single dependency.
int rpmdsNVRMatchesDep (const Header h, const rpmds req, int nopromote)
 Compare package name-version-release from header with a single dependency.

Enumeration Type Documentation

Dependency Attributes.

Enumerator:
RPMSENSE_ANY 
RPMSENSE_LESS 
RPMSENSE_GREATER 
RPMSENSE_EQUAL 
RPMSENSE_POSTTRANS 

posttrans dependency

RPMSENSE_PREREQ 
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_RPMLIB 

rpmlib(feature) dependency.

RPMSENSE_TRIGGERPREIN 

triggerprein dependency.

RPMSENSE_KEYRING 
RPMSENSE_CONFIG 

Definition at line 25 of file rpmds.h.


Function Documentation

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

Compare package provides dependencies from header with a single dependency.

Parameters:
hheader
reqdependency set
nopromoteDon't promote Epoch: in comparison?
Returns:
1 if any dependency overlaps, 0 otherwise
rpm_color_t rpmdsColor ( const rpmds  ds)

Return current dependency color.

Parameters:
dsdependency set
Returns:
current dependency color
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
int rpmdsCount ( const rpmds  ds)

Return dependency set count.

Parameters:
dsdependency set
Returns:
current count
rpmds rpmdsCurrent ( rpmds  ds)

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

Parameters:
dsdependency set
Returns:
new dependency set
const char* rpmdsDNEVR ( const rpmds  ds)

Return current formatted dependency string.

Parameters:
dsdependency set
Returns:
current dependency DNEVR, NULL on invalid
const char* rpmdsEVR ( const rpmds  ds)

Return current dependency epoch-version-release.

Parameters:
dsdependency set
Returns:
current dependency EVR, NULL on invalid
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)
rpmsenseFlags rpmdsFlags ( const rpmds  ds)

Return current dependency flags.

Parameters:
dsdependency set
Returns:
current dependency flags, 0 on invalid
rpmds rpmdsFree ( rpmds  ds)

Destroy a dependency set.

Parameters:
dsdependency set
Returns:
NULL always
rpmds rpmdsInit ( rpmds  ds)

Initialize dependency set iterator.

Parameters:
dsdependency set
Returns:
dependency set
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)
int rpmdsIx ( const rpmds  ds)

Return dependency set index.

Parameters:
dsdependency set
Returns:
current index
rpmds rpmdsLink ( rpmds  ds)

Reference a dependency set instance.

Parameters:
dsdependency set
Returns:
new dependency set reference
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
nopromoteDon't promote Epoch: in comparison?
Returns:
1 if any dependency overlaps, 0 otherwise
int rpmdsMerge ( rpmds dsp,
rpmds  ods 
)

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

Return values:
*dsp(merged) dependency set
Parameters:
odsdependency set to merge
Returns:
(merged) dependency index
const char* rpmdsN ( const rpmds  ds)

Return current dependency name.

Parameters:
dsdependency set
Returns:
current dependency name, NULL on invalid
rpmds rpmdsNew ( Header  h,
rpmTagVal  tagN,
int  flags 
)

Create and load a dependency set.

Parameters:
hheader
tagNtype of dependency
flagsunused
Returns:
new dependency set
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)
int rpmdsNext ( rpmds  ds)

Return next dependency set iterator index.

Parameters:
dsdependency set
Returns:
dependency set iterator index, -1 on termination
int rpmdsNoPromote ( const rpmds  ds)

Return current "Don't promote Epoch:" flag.

This flag controls for Epoch: promotion when a dependency set is compared. If the flag is set (for already installed packages), then an unspecified value will be treated as Epoch: 0. Otherwise (for added packages), the Epoch: portion of the comparison is skipped if the value is not specified, i.e. an unspecified Epoch: is assumed to be equal in dependency comparisons.

Parameters:
dsdependency set
Returns:
current "Don't promote Epoch:" flag
void rpmdsNotify ( rpmds  ds,
const char *  where,
int  rc 
)

Notify of results of dependency match.

Parameters:
dsdependency set
wherewhere dependency was resolved (or NULL)
rc0 == YES, otherwise NO
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
nopromoteDon't promote Epoch: in comparison?
Returns:
1 if dependency overlaps, 0 otherwise
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)
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
int rpmdsSetIx ( rpmds  ds,
int  ix 
)

Set dependency set index.

Parameters:
dsdependency set
ixnew index
Returns:
current index
int rpmdsSetNoPromote ( rpmds  ds,
int  nopromote 
)

Set "Don't promote Epoch:" flag.

Parameters:
dsdependency set
nopromoteShould an unspecified Epoch: be treated as Epoch: 0?
Returns:
previous "Don't promote Epoch:" flag
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
rpmTagVal rpmdsTagN ( const rpmds  ds)

Return current dependency type.

Parameters:
dsdependency set
Returns:
current dependency type, 0 on invalid
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