rpm 5.2.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

Files | Typedefs | Functions | Variables
RPMDS Dependency Set API.
Collaboration diagram for RPMDS Dependency Set API.:

## Files
file | rpmds.c
file | rpmds.h
| Structure(s) used for dependency tag sets.
file | rpmlib.h
| In Memoriam: Steve Taylor stayl.nosp@m.or@r.nosp@m.edhat.nosp@m..com was here, now he's not.
file | rpmds.c

## Typedefs
typedef struct rpmds_s * | rpmds
| Dependency tag sets from a header, so that a header can be discarded early. More...
typedef struct rpmPRCO_s * | rpmPRCO
| Container for commonly extracted dependency set(s). More...

## Functions
int | dpkgEVRcmp (const char *a, const char *b)
| Segmented string compare. More...
int | dpkgEVRparse (const char *evrstr, EVR_t evr)
| Split EVR string into epoch, version, and release components. More...
int | dpkgEVRcompare (const EVR_t a, const EVR_t b)
| Compare EVR containers. More...
EVR_t | rpmEVRnew (rpmuint32_t Flags, int initialize)
| Create a new EVR container. More...
int | rpmEVRcmp (const char *a, const char *b)
| Segmented string compare. More...
int | rpmEVRparse (const char *evrstr, EVR_t evr)
| Split EVR string into epoch, version, and release components. More...
int | rpmEVRcompare (const EVR_t a, const EVR_t b)
| Compare EVR containers for equality. More...
int | rpmEVRoverlap (EVR_t a, EVR_t b)
| Compare EVR containers for overlap. More...
nsType | rpmnsArch (const char *str)
| Is string a known arch suffix? More...
nsType | rpmnsProbe (const char *str)
| Is string a known probe namespace? More...
nsType | rpmnsClassify (const char *str)
| Classify a string as a dependency type. More...
int | rpmnsParse (const char *str, rpmns ns)
| Split NS string into namespace, name and arch components. More...

## Variables
int | _rpmds_debug
const char * | _sysinfo_path
int | _rpmds_nopromote
int(* | rpmvercmp )(const char *a, const char *b)
| Segmented string compare vector. More...

## RPMDS
rpmds | rpmdsUnlink (rpmds ds, const char *msg)
| Unreference a dependency set instance. More...
rpmds | rpmdsLink (rpmds ds, const char *msg)
| Reference a dependency set instance. More...
rpmds | rpmdsFree (rpmds ds)
| Destroy a dependency set. More...
rpmds | rpmdsNew (Header h, rpmTag tagN, int flags)
| Create and load a dependency set. More...
const char * | rpmdsNewN (rpmds ds)
| Return N string, expanded if necessary. More...
char * | rpmdsNewDNEVR (const char *dspfx, rpmds ds)
| Return new formatted dependency string. More...
rpmds | rpmdsThis (Header h, rpmTag tagN, evrFlags Flags)
| Create, load and initialize a dependency for this header. More...
rpmds | rpmdsSingle (rpmTag tagN, const char *N, const char *EVR, evrFlags Flags)
| Create, load and initialize a dependency set of size 1. More...
int | rpmdsCount (const rpmds ds)
| Return dependency set count. More...
int | rpmdsIx (const rpmds ds)
| Return dependency set index. More...
int | rpmdsSetIx (rpmds ds, int ix)
| Set dependency set index. More...
const char * | rpmdsDNEVR (const rpmds ds)
| Return current formatted dependency string. More...
const char * | rpmdsN (rpmds ds)
| Return current dependency name. More...
const char * | rpmdsEVR (const rpmds ds)
| Return current dependency epoch-version-release. More...
evrFlags | rpmdsFlags (const rpmds ds)
| Return current dependency flags. More...
rpmTag | rpmdsTagN (const rpmds ds)
| Return current dependency type. More...
const char * | rpmdsA (const rpmds ds)
| Return current dependency arch. More...
time_t | rpmdsBT (const rpmds ds)
| Return dependency build time. More...
time_t | rpmdsSetBT (const rpmds ds, time_t BT)
| Set dependency build time. More...
nsType | rpmdsNSType (const rpmds ds)
| Return dependency class type. More...
int | rpmdsNoPromote (const rpmds ds)
| Return current "Don't promote Epoch:" flag. More...
int | rpmdsSetNoPromote (rpmds ds, int nopromote)
| Set "Don't promote Epoch:" flag. More...
void * | rpmdsSetEVRparse (rpmds ds, int(*EVRparse)(const char *everstr, EVR_t evr))
| Set EVR parsing function. More...
void * | rpmdsSetEVRcmp (rpmds ds, int(*EVRcmp)(const char *a, const char *b))
| Set EVR comparison function. More...
rpmuint32_t | rpmdsColor (const rpmds ds)
| Return current dependency color. More...
rpmuint32_t | rpmdsSetColor (const rpmds ds, rpmuint32_t color)
| Set current dependency color. More...
void * | rpmdsExclude (const rpmds ds)
| Return dependency exclude patterns. More...
int | rpmdsNExclude (const rpmds ds)
| Return no. More...
void * | rpmdsInclude (const rpmds ds)
| Return dependency include patterns. More...
int | rpmdsNInclude (const rpmds ds)
| Return no. More...
rpmuint32_t | rpmdsRefs (const rpmds ds)
| Return current dependency file refs. More...
rpmuint32_t | rpmdsSetRefs (const rpmds ds, rpmuint32_t refs)
| Set current dependency file refs. More...
rpmint32_t | rpmdsResult (const rpmds ds)
| Return current dependency comparison result. More...
rpmint32_t | rpmdsSetResult (const rpmds ds, rpmint32_t result)
| Set current dependency comparison result. More...
void | rpmdsNotify (rpmds ds, const char *where, int rc)
| Notify of results of dependency match. More...
int | rpmdsNext (rpmds ds)
| Return next dependency set iterator index. More...
rpmds | rpmdsInit (rpmds ds)
| Initialize dependency set iterator. More...
int | rpmdsFind (rpmds ds, const rpmds ods)
| Find a dependency set element using binary search. More...
int | rpmdsMerge (rpmds *dsp, rpmds ods)
| Merge a dependency set maintaining (N,EVR,Flags) sorted order. More...
int | rpmdsSearch (rpmds ds, rpmds ods)
| Search a sorted dependency set for an element that overlaps. More...
int | rpmdsCpuinfo (rpmds *dsp, const char *fn)
| Load /proc/cpuinfo provides into a dependency set. More...
int | rpmdsRpmlib (rpmds *dsp, void *tblp)
| Load rpmlib provides into a dependency set. More...
int | rpmdsSysinfo (rpmPRCO PRCO, const char *fn)
| Load sysinfo dependencies into a dependency set. More...
int | rpmdsGetconf (rpmds *dsp, const char *path)
| Load getconf provides into a dependency set. More...
int | rpmdsMergePRCO (void *context, rpmds ds)
| Merge provides/requires/conflicts/obsoletes dependencies. More...
rpmPRCO | rpmdsFreePRCO (rpmPRCO PRCO)
| Free dependency set(s) container. More...
rpmPRCO | rpmdsNewPRCO (Header h)
| Create dependency set(s) container. More...
rpmds | rpmdsFromPRCO (rpmPRCO PRCO, rpmTag tagN)
| Retrieve a dependency set from container. More...
int | rpmdsELF (const char *fn, int flags, int(*add)(void *context, rpmds ds), void *context)
| Extract ELF dependencies from a file. More...
int | rpmdsLdconfig (rpmPRCO PRCO, const char *fn)
| Load /etc/ld.so.cache provides into a dependency set. More...
int | rpmdsPipe (rpmds *dsp, rpmTag tagN, const char *cmd)
| Load provides from a pipe into a dependency set. More...
int | rpmdsCompare (const rpmds A, const rpmds B)
| Compare two versioned dependency ranges, looking for overlap. More...
int | rpmdsMatch (const rpmds A, rpmds B)
| Compare A against every member of B, looking for 1st match. More...
void | rpmdsProblem (rpmps ps, const char *pkgNEVR, const rpmds ds, const fnpyKey *suggestedKeys, int adding)
| Report a Requires: or Conflicts: dependency problem. More...
int | rpmdsAnyMatchesDep (const Header h, const rpmds req, int nopromote)
| Compare package provides dependencies from header with a single dependency. More...
int | rpmdsNVRMatchesDep (const Header h, const rpmds req, int nopromote)
| Compare package name-version-release from header with a single dependency. More...
int | rpmdsNegateRC (const rpmds ds, int rc)
| Negate return code for negated comparisons. More...
const char * | rpmdsType (const rpmds ds)
| Return current dependency type name. More...
static int | rpmdsPrint (rpmds ds, FILE *fp)
| Print current dependency set contents. More...
static int | rpmdsPrintResults (rpmds ds, FILE *fp)
| Print current dependency set results. More...
static int | rpmdsPrintClosure (rpmds P, rpmds R, FILE *fp)
| Check Provides: against Requires: and print closure results. More...

## Detailed Description

## Typedef Documentation

typedef struct rpmds_s* rpmds

Dependency tag sets from a header, so that a header can be discarded early.

Definition at line 23 of file rpmtypes.h.

typedef struct rpmPRCO_s* rpmPRCO

Container for commonly extracted dependency set(s).

Definition at line 28 of file rpmtypes.h.

## Function Documentation

int dpkgEVRcmp | ( | const char * | a,
|  | const char * | b
| ) |  |

Segmented string compare.

Parameters

  a | 1st string
  b | 2nd string

Returns
  +1 if a is "newer", 0 if equal, -1 if b is "newer"

Definition at line 33 of file rpmdpkg.c.

References dpkgEVRctype(), and xisdigit().

Referenced by dpkgEVRcompare().

int dpkgEVRcompare | ( | const EVR_t | a,
|  | const EVR_t | b
| ) |  |

Compare EVR containers.

Parameters

  a | 1st EVR container
  b | 2nd EVR container

Returns
  +1 if a is "newer", 0 if equal, -1 if b is "newer"

Definition at line 66 of file rpmdpkg.c.

References dpkgEVRcmp().

int dpkgEVRparse | ( | const char * | evrstr,
|  | EVR_t | evr
| ) |  |

Split EVR string into epoch, version, and release components.

Parameters

  evrstr | [epoch:]version[-release] string

Return values

  *evr | parse results

Returns
  0 always

Definition at line 61 of file rpmdpkg.c.

References rpmEVRparse().

const char* rpmdsA | ( | const rpmds | ds | ) |

Return current dependency arch.

Parameters

  ds | dependency set

Returns
  current dependency arch, NULL on invalid

Definition at line 698 of file rpmds.c.

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

Compare package provides dependencies from header with a single dependency.

Parameters

  h | header
  req | dependency set
  nopromote | Don't promote Epoch: in comparison?

Returns
  1 if any dependency overlaps, 0 otherwise

Definition at line 3854 of file rpmds.c.

References rpmdsCompare(), rpmdsFlags(), rpmdsFree(), rpmdsInit(), rpmdsNew(), rpmdsNext(), rpmdsSetNoPromote(), RPMNS_TYPE_ARCH, RPMSENSE_SENSEMASK, and RPMTAG_PROVIDENAME.

Referenced by rpmtsAddObsoletes(), rpmtsSolve(), and unsatisfiedDepend().

time_t rpmdsBT | ( | const rpmds | ds | ) |

Return dependency build time.

Parameters

  ds | dependency set

Returns
  dependency build time, 0 on invalid

Definition at line 707 of file rpmds.c.

Referenced by rpmds_BT().

rpmuint32_t rpmdsColor | ( | const rpmds | ds | ) |

Return current dependency color.

Parameters

  ds | dependency set

Returns
  current dependency color (0 if not set)

Definition at line 776 of file rpmds.c.

Referenced by checkPackageDeps(), rpmalAddProvides(), rpmds_Color(), and rpmtsAddObsoletes().

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

Compare two versioned dependency ranges, looking for overlap.

Parameters

  A | 1st dependency
  B | 2nd dependency

Returns
  1 if dependencies overlap, 0 otherwise

Definition at line 3709 of file rpmds.c.

References _, _free(), alloca(), rpmdsEVRorder(), rpmdsFlags(), rpmdsNAcmp(), rpmEVRparse(), rpmlog(), RPMLOG_DEBUG, RPMLOG_WARNING, RPMSENSE_EQUAL, RPMSENSE_GREATER, RPMSENSE_LESS, RPMSENSE_NOTEQUAL, RPMSENSE_SENSEMASK, rpmvercmp, and xstrdup().

Referenced by cacheStashLatest(), rpmalAllSatisfiesDepend(), rpmds_richcompare(), rpmdsAnyMatchesDep(), rpmdsMatch(), rpmdsNVRMatchesDep(), rpmdsSearch(), rpmHeadersIdentical(), and rpmtsAddInstallElement().

int rpmdsCount | ( | const rpmds | ds | ) |

Return dependency set count.

Parameters

  ds | dependency set

Returns
  current count

Definition at line 623 of file rpmds.c.

Referenced by main(), rpmalMakeIndex(), rpmds_Count(), rpmds_length(), rpmfcGenerateDepends(), rpmfcPrint(), and rpmteColorDS().

int rpmdsCpuinfo | ( | rpmds * | dsp,
|  | const char * | fn
| ) |  |

Load /proc/cpuinfo provides into a dependency set.

Return values

  *dsp | (loaded) depedency set

Parameters

  fn | path to file (NULL uses /proc/cpuinfo)

Returns
  0 on success

Definition at line 1293 of file rpmds.c.

References _cpuinfo_path, _free(), _isspace, _PROC_CPUINFO, cpuinfo_s::done, cpuinfo_s::name, rpmdsCpuinfoCtagFlags(), rpmdsNSAdd(), rpmExpand(), rpmiobFree(), rpmiobSlurp(), RPMSENSE_EQUAL, and xstrdup().

Referenced by main(), rpmds_Cpuinfo(), rpmShowRC(), and unsatisfiedDepend().

const char* rpmdsDNEVR | ( | const rpmds | ds | ) |

Return current formatted dependency string.

Parameters

  ds | dependency set

Returns
  current dependency DNEVR, NULL on invalid

Definition at line 644 of file rpmds.c.

Referenced by missingokTag(), printDeps(), rpmdepPrint(), rpmds_DNEVR(), rpmds_print(), rpmds_subscript(), rpmdsPrint(), rpmdsPrintResults(), rpmdsProblem(), rpmfcPrint(), rpmfiBuildFDeps(), rpmShowRC(), rpmts_SolveCallback(), rpmtsAddInstallElement(), rpmtsAddObsoletes(), and unsatisfiedDepend().

int rpmdsELF | ( | const char * | fn,
|  | int | flags,
|  | int(*)(void *context, rpmds ds) | add,
|  | void * | context
| ) |  |

Extract ELF dependencies from a file.

Parameters

  fn | file name
  flags | 1: skip provides 2: skip requires
  *add | add(arg, ds) saves next provide/require elf dependency.
  context | add() callback context

Returns
  0 on success

Extract ELF dependencies from a file.

Return values

  t | soname dependency

Parameters

  s | elf string (NULL uses "")
  isElf64 | is this an ELF64 symbol?

Definition at line 2887 of file rpmds.c.

References _free(), DT_GNU_HASH, rpmdsFree(), rpmdsSingle(), RPMELF_FLAG_SKIPPROVIDES, RPMELF_FLAG_SKIPREQUIRES, rpmExpandNumeric(), RPMTAG_PROVIDENAME, RPMTAG_PROVIDES, RPMTAG_REQUIRENAME, stpcpy(), and xstrdup().

Referenced by main(), rpmdsLdconfig(), rpmfcELF(), and unsatisfiedDepend().

const char* rpmdsEVR | ( | const rpmds | ds | ) |

Return current dependency epoch-version-release.

Parameters

  ds | dependency set

Returns
  current dependency EVR, NULL on invalid

Definition at line 667 of file rpmds.c.

Referenced by rpmds_compare(), rpmds_EVR(), rpmds_iternext(), rpmdsProblem(), rpmfcFileDep(), rpmfcGenerateDepends(), rpmtsAddObsoletes(), rpmtsCheck(), runImmedTriggers(), and unsatisfiedDepend().

void* rpmdsExclude | ( | const rpmds | ds | ) |

Return dependency exclude patterns.

Parameters

  ds | dependency set

Returns
  dependency exclude patterns (NULL if not set)

Definition at line 806 of file rpmds.c.

int rpmdsFind | ( | rpmds | ds,
|  | const rpmds | ods
| ) |  |

Find a dependency set element using binary search.

Parameters

  ds | dependency set to search
  ods | dependency set element to find.

Returns
  dependency index (or -1 if not found)

Definition at line 986 of file rpmds.c.

Referenced by rpmds_Find(), rpmdsMerge(), and rpmfcApply().

evrFlags rpmdsFlags | ( | const rpmds | ds | ) |

Return current dependency flags.

Parameters

  ds | dependency set

Returns
  current dependency flags, 0 on invalid

Definition at line 678 of file rpmds.c.

Referenced by handleOneTrigger(), missingokTag(), printDeps(), rpmds_Flags(), rpmds_iternext(), rpmdsAnyMatchesDep(), rpmdsCompare(), rpmdsNVRMatchesDep(), rpmfcFileDep(), rpmtsOrder(), runImmedTriggers(), unsatisfiedDepend(), and zapRelation().

rpmds rpmdsFree | ( | rpmds | ds | ) |

Destroy a dependency set.

Parameters

  ds | dependency set

Returns
  NULL on last dereference

Referenced by cacheStashLatest(), checkPackageSet(), ensureOlder(), freeItem(), freePackage(), handleOneTrigger(), main(), missingokTag(), printDeps(), rpmalDel(), rpmalFree(), rpmds_dealloc(), rpmds_free(), rpmds_Sort(), rpmdsAnyMatchesDep(), rpmdsELF(), rpmdsFreePRCO(), rpmdsLdconfig(), rpmdsNSAdd(), rpmdsNVRMatchesDep(), rpmdsPipe(), rpmdsRpmlib(), rpmdsSysinfoFile(), rpmfcApply(), rpmfcFini(), rpmfcGenerateDepends(), rpmfcHelper(), rpmfcSCRIPT(), rpmfiBuildFDeps(), rpmHeadersIdentical(), rpmnsClean(), rpmpsmFini(), rpmShowRC(), rpmtsAddInstallElement(), rpmtsAddObsoletes(), runImmedTriggers(), runTriggersLoop(), and unsatisfiedDepend().

rpmPRCO rpmdsFreePRCO | ( | rpmPRCO | PRCO | ) |

Free dependency set(s) container.

Parameters

  PRCO | dependency set(s) container

Returns
  NULL

Definition at line 2793 of file rpmds.c.

References _free(), and rpmdsFree().

Referenced by main(), rpmds_Ldconfig(), rpmds_Sysinfo(), rpmShowRC(), rpmteCleanDS(), rpmtsFini(), and unsatisfiedDepend().

rpmds rpmdsFromPRCO | ( | rpmPRCO | PRCO,
|  | rpmTag | tagN
| ) |  |

Retrieve a dependency set from container.

Parameters

  PRCO | dependency set(s) container
  tagN | type of dependency set

Returns
  dependency set (or NULL)

Definition at line 2843 of file rpmds.c.

References RPMTAG_CONFLICTNAME, RPMTAG_DIRNAMES, RPMTAG_FILELINKTOS, RPMTAG_NAME, RPMTAG_OBSOLETENAME, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, and RPMTAG_TRIGGERNAME.

Referenced by main(), rpmds_Ldconfig(), rpmds_Sysinfo(), rpmShowRC(), rpmteDS(), rpmtsCheck(), rpmtsOrder(), and unsatisfiedDepend().

int rpmdsGetconf | ( | rpmds * | dsp,
|  | const char * | path
| ) |  |

Load getconf provides into a dependency set.

Return values

  *dsp | (loaded) depedency set

Parameters

  path | getconf path (NULL uses /)

Returns
  0 on success

Definition at line 2658 of file rpmds.c.

References _free(), _GETCONF_PATH, _getconf_path, conf::call, conf::call_name, conf::CONFSTR, errno, EXIT_FAILURE, conf::name, conf::PATHCONF, rpmdsNSAdd(), rpmExpand(), RPMSENSE_EQUAL, conf::SYSCONF, xmalloc(), and xstrdup().

Referenced by main(), rpmds_Getconf(), rpmShowRC(), and unsatisfiedDepend().

void* rpmdsInclude | ( | const rpmds | ds | ) |

Return dependency include patterns.

Parameters

  ds | dependency set

Returns
  dependency include patterns (NULL if not set)

Definition at line 816 of file rpmds.c.

rpmds rpmdsInit | ( | rpmds | ds | ) |

Initialize dependency set iterator.

Parameters

  ds | dependency set

Returns
  dependency set

Definition at line 930 of file rpmds.c.

Referenced by checkPackageDeps(), handleOneTrigger(), missingokTag(), printDeps(), rpmalAddProvides(), rpmdepPrint(), rpmds_iternext(), rpmds_print(), rpmdsAnyMatchesDep(), rpmdsMatch(), rpmdsMerge(), rpmdsPrint(), rpmdsPrintClosure(), rpmdsPrintResults(), rpmShowRC(), rpmteColorDS(), rpmtsAddObsoletes(), rpmtsCheck(), rpmtsOrder(), runImmedTriggers(), and runTriggersLoop().

int rpmdsIx | ( | const rpmds | ds | ) |

Return dependency set index.

Parameters

  ds | dependency set

Returns
  current index

Definition at line 628 of file rpmds.c.

Referenced by addRelation(), rpmalAddProvides(), rpmdepPrint(), rpmds_Find(), rpmds_Ix(), rpmdsPrint(), rpmdsPrintResults(), and rpmdsSearch().

int rpmdsLdconfig | ( | rpmPRCO | PRCO,
|  | const char * | fn
| ) |  |

Load /etc/ld.so.cache provides into a dependency set.

Todo:
  Add dependency colors, and attach to file.

Return values

  *PRCO | provides/requires/conflicts/obsoletes depedency set(s)

Parameters

  fn | cache file name (NULL uses /etc/ld.so.cache)

Returns
  0 on success

Definition at line 3178 of file rpmds.c.

References _free(), _isspace, _LD_SO_CACHE, _ldconfig_cache, _SBIN_LDCONFIG_P, rpmdsELF(), rpmdsFree(), rpmdsMerge(), rpmdsMergePRCO(), rpmdsSingle(), rpmExpand(), RPMTAG_PROVIDENAME, and xstrdup().

Referenced by main(), and rpmds_Ldconfig().

rpmds rpmdsLink | ( | rpmds | ds,
|  | const char * | msg
| ) |  |

Reference a dependency set instance.

Parameters

  ds | dependency set
  msg |

Returns
  new dependency set reference

Referenced by handleOneTrigger(), main(), rpmalAdd(), rpmds_Ldconfig(), rpmds_Sysinfo(), rpmdsDup(), rpmdsNew(), rpmdsSingle(), rpmdsThis(), rpmte_DS(), rpmtsAddObsoletes(), and runImmedTriggers().

int rpmdsMatch | ( | const rpmds | A,
|  | rpmds | B
| ) |  |

Compare A against every member of B, looking for 1st match.

Parameters

  A | 1st dependency
  B | 2nd dependency

Returns
  1 if some dependency overlaps, 0 otherwise

Definition at line 3814 of file rpmds.c.

References rpmdsCompare(), rpmdsInit(), and rpmdsNext().

Referenced by handleOneTrigger().

int rpmdsMerge | ( | rpmds * | dsp,
|  | rpmds | ods
| ) |  |

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

Return values

  *dsp | (merged) dependency set

Parameters

  ods | dependency set to merge

Returns
  0 on success

Definition at line 1018 of file rpmds.c.

References _free(), rpmdsDup(), rpmdsDupArgv(), rpmdsFind(), rpmdsInit(), rpmdsNext(), and xmalloc().

Referenced by rpmds_Merge(), rpmds_Sort(), rpmdsLdconfig(), rpmdsMergePRCO(), rpmdsNSAdd(), rpmdsPipe(), rpmdsRpmlib(), rpmfcGenerateDepends(), rpmfcHelper(), rpmfcMergePR(), and rpmfcSCRIPT().

int rpmdsMergePRCO | ( | void * | context,
|  | rpmds | ds
| ) |  |

Merge provides/requires/conflicts/obsoletes dependencies.

Parameters

  context | merge dependency set(s) container
  ds | dependency set to merge

Returns
  0 on success

Definition at line 2756 of file rpmds.c.

References rpmdsMerge(), rpmdsTagN(), rpmdsTagName(), RPMTAG_CONFLICTNAME, RPMTAG_DIRNAMES, RPMTAG_FILELINKTOS, RPMTAG_OBSOLETENAME, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, and RPMTAG_TRIGGERNAME.

Referenced by main(), rpmdsLdconfig(), rpmdsSysinfoFile(), and unsatisfiedDepend().

const char* rpmdsN | ( | rpmds | ds | ) |

Return current dependency name.

Parameters

  ds | dependency set

Returns
  current dependency name, NULL on invalid

Definition at line 655 of file rpmds.c.

References rpmdsNewN().

Referenced by checkPackageDeps(), cmpItem(), handleOneTrigger(), rpmalAllFileSatisfiesDepend(), rpmalAllSatisfiesDepend(), rpmds_iternext(), rpmds_N(), rpmdsProblem(), rpmfcFileDep(), rpmfcGenerateDepends(), rpmtsAddObsoletes(), rpmtsCheck(), rpmtsOrder(), rpmtsSolve(), runImmedTriggers(), runTriggersLoop(), and unsatisfiedDepend().

int rpmdsNegateRC | ( | const rpmds | ds,
|  | int | rc
| ) |  |

Negate return code for negated comparisons.

Parameters

  ds | dependency set
  rc | postive return code

Returns
  return code

Definition at line 3983 of file rpmds.c.

Referenced by handleOneTrigger(), rpmtsCheck(), and unsatisfiedDepend().

rpmds rpmdsNew | ( | Header | h,
|  | rpmTag | tagN,
|  | int | flags
| ) |  |

Create and load a dependency set.

Parameters

  h | header
  tagN | type of dependency
  flags | scareMem(0x1), nofilter(0x2)

Returns
  new dependency set

Definition at line 228 of file rpmds.c.

References _free(), _rpmds_nopromote, alloca(), rpmDataType_u::argv, argvFree(), _HE_s::c, headerGet(), _HE_s::p, rpmDataType_u::ptr, rpmdsDupArgv(), rpmdsGetPool(), rpmdsLink(), rpmdsTagName(), rpmdsThis(), rpmGenPath(), RPMSENSE_EQUAL, RPMTAG_ARCH, RPMTAG_BASENAMES, RPMTAG_BUILDTIME, RPMTAG_CONFLICTFLAGS, RPMTAG_CONFLICTNAME, RPMTAG_CONFLICTVERSION, RPMTAG_DIRINDEXES, RPMTAG_DIRNAMES, RPMTAG_ENHANCESFLAGS, RPMTAG_ENHANCESNAME, RPMTAG_ENHANCESVERSION, RPMTAG_FILELINKTOS, RPMTAG_NAME, RPMTAG_OBSOLETEFLAGS, RPMTAG_OBSOLETENAME, RPMTAG_OBSOLETEVERSION, RPMTAG_PROVIDEFLAGS, RPMTAG_PROVIDENAME, RPMTAG_PROVIDEVERSION, RPMTAG_REQUIREFLAGS, RPMTAG_REQUIRENAME, RPMTAG_REQUIREVERSION, RPMTAG_SUGGESTSFLAGS, RPMTAG_SUGGESTSNAME, RPMTAG_SUGGESTSVERSION, RPMTAG_TRIGGERFLAGS, RPMTAG_TRIGGERNAME, RPMTAG_TRIGGERVERSION, rpmDataType_u::str, _HE_s::tag, rpmDataType_u::ui32p, urlPath(), xcalloc(), and xstrdup().

Referenced by checkPackageSet(), handleOneTrigger(), hdr_dsFromHeader(), missingokTag(), printDeps(), rpmds_init(), rpmdsAnyMatchesDep(), rpmdsNewPRCO(), rpmfcGenerateDepends(), rpmfiBuildFDeps(), rpmpsmStage(), and runTriggersLoop().

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

Return new formatted dependency string.

Parameters

  dspfx | formatted dependency string prefix
  ds | dependency set

Returns
  new formatted dependency (malloc'ed)

Definition at line 425 of file rpmds.c.

References _rpmns_N_at_A, rpmdsNewN(), RPMSENSE_EQUAL, RPMSENSE_GREATER, RPMSENSE_LESS, RPMSENSE_NOTEQUAL, RPMSENSE_SENSEMASK, stpcpy(), and xmalloc().

Referenced by rpmdsNext(), rpmdsSingle(), rpmdsThis(), and zapRelation().

const char* rpmdsNewN | ( | rpmds | ds | ) |

Return N string, expanded if necessary.

Parameters

  ds | dependency set

Returns
  new N string (malloc'ed)

Definition at line 411 of file rpmds.c.

References rpmnsParse().

Referenced by rpmdsN(), and rpmdsNewDNEVR().

rpmPRCO rpmdsNewPRCO | ( | Header | h | ) |

Create dependency set(s) container.

Parameters

  h | header

Returns
  0 on success

Definition at line 2818 of file rpmds.c.

References rpmdsNew(), RPMTAG_CONFLICTNAME, RPMTAG_DIRNAMES, RPMTAG_FILELINKTOS, RPMTAG_NAME, RPMTAG_OBSOLETENAME, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, RPMTAG_TRIGGERNAME, and xcalloc().

Referenced by addTE(), main(), rpmds_Ldconfig(), rpmds_Sysinfo(), rpmShowRC(), rpmtsPRCO(), and unsatisfiedDepend().

int rpmdsNExclude | ( | const rpmds | ds | ) |

Return no.

of dependency exclude patterns.

Parameters

  ds | dependency set

Returns
  dependency exclude patterns (0 if not set)

Definition at line 811 of file rpmds.c.

int rpmdsNext | ( | rpmds | ds | ) |

Return next dependency set iterator index.

Parameters

  ds | dependency set

Returns
  dependency set iterator index, -1 on termination

Definition at line 899 of file rpmds.c.

References _free(), and rpmdsNewDNEVR().

Referenced by checkPackageDeps(), handleOneTrigger(), missingokTag(), printDeps(), rpmalAddProvides(), rpmalAllSatisfiesDepend(), rpmdepPrint(), rpmds_iternext(), rpmds_print(), rpmds_subscript(), rpmdsAnyMatchesDep(), rpmdsMatch(), rpmdsMerge(), rpmdsPrint(), rpmdsPrintClosure(), rpmdsPrintResults(), rpmdsSearch(), rpmfcPrint(), rpmfiBuildFDeps(), rpmShowRC(), rpmteColorDS(), rpmtsAddObsoletes(), rpmtsCheck(), rpmtsOrder(), runImmedTriggers(), and runTriggersLoop().

int rpmdsNInclude | ( | const rpmds | ds | ) |

Return no.

of dependency include patterns.

Parameters

  ds | dependency set

Returns
  dependency include patterns (0 if not set)

Definition at line 821 of file rpmds.c.

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

  ds | dependency set

Returns
  current "Don't promote Epoch:" flag

Definition at line 733 of file rpmds.c.

void rpmdsNotify | ( | rpmds | ds,
|  | const char * | where,
|  | int | rc
| ) |  |

Notify of results of dependency match.

Parameters

  ds | dependency set
  where | where dependency was resolved (or NULL)
  rc | 0 == YES, otherwise NO

Definition at line 886 of file rpmds.c.

References _, rpmdsTagName(), rpmlog(), and RPMLOG_DEBUG.

Referenced by rpmalAllFileSatisfiesDepend(), rpmalAllSatisfiesDepend(), rpmds_Notify(), and unsatisfiedDepend().

nsType rpmdsNSType | ( | const rpmds | ds | ) |

Return dependency class type.

Parameters

  ds | dependency set

Returns
  dependency class type

Definition at line 725 of file rpmds.c.

References RPMNS_TYPE_UNKNOWN.

Referenced by addRelation(), rpmtsCheck(), and unsatisfiedDepend().

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

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

Parameters

  h | header
  req | dependency set
  nopromote | Don't promote Epoch: in comparison?

Returns
  1 if dependency overlaps, 0 otherwise

Definition at line 3907 of file rpmds.c.

References _free(), alloca(), headerGet(), headerNEVRA(), _HE_s::p, rpmDataType_u::ptr, rpmdsCompare(), rpmdsFlags(), rpmdsFree(), rpmdsSetNoPromote(), rpmdsSingle(), RPMSENSE_EQUAL, RPMSENSE_SENSEMASK, RPMTAG_DISTEPOCH, RPMTAG_EPOCH, RPMTAG_PROVIDENAME, stpcpy(), rpmDataType_u::str, _HE_s::tag, and rpmDataType_u::ui32p.

Referenced by ensureOlder().

int rpmdsPipe | ( | rpmds * | dsp,
|  | rpmTag | tagN,
|  | const char * | cmd
| ) |  |

Load provides from a pipe into a dependency set.

Return values

  *dsp | (loaded) depedency set

Parameters

  tagN | rpmds tag (0 uses RPMTAG_PROVIDENAME).
  cmd | popen cmd to run (NULL loads perl provides)

Returns
  0 on success

Definition at line 3526 of file rpmds.c.

References _, _free(), _isspace, _PERL_PROVIDES, _perldeps_cmd, rpmdsFree(), rpmdsMerge(), rpmdsSingle(), rpmEVRflags(), rpmExpand(), RPMTAG_PROVIDENAME, xisalnum(), and xstrdup().

Referenced by main().

static int rpmdsPrint | ( | rpmds | ds,
|  | FILE * | fp
| ) |  |
| inline static

Print current dependency set contents.

Parameters

  ds | dependency set
  fp | file handle (NULL uses stderr)

Returns
  0 always

Definition at line 759 of file rpmds.h.

References rpmdsDNEVR(), rpmdsInit(), rpmdsIx(), rpmdsNext(), and rpmdsType().

static int rpmdsPrintClosure | ( | rpmds | P,
|  | rpmds | R,
|  | FILE * | fp
| ) |  |
| inline static

Check Provides: against Requires: and print closure results.

Parameters

  P | Provides: dependency set
  R | Requires: dependency set
  fp | file handle (NULL uses stderr)

Returns
  0 always

Definition at line 803 of file rpmds.h.

References rpmdsInit(), rpmdsNext(), rpmdsPrintResults(), rpmdsSearch(), and rpmdsSetResult().

Referenced by main().

static int rpmdsPrintResults | ( | rpmds | ds,
|  | FILE * | fp
| ) |  |
| inline static

Print current dependency set results.

Parameters

  ds | dependency set
  fp | file handle (NULL uses stderr)

Returns
  0 always

Definition at line 778 of file rpmds.h.

References rpmdsDNEVR(), rpmdsInit(), rpmdsIx(), rpmdsNext(), rpmdsResult(), and rpmdsType().

Referenced by rpmdsPrintClosure().

void rpmdsProblem | ( | rpmps | ps,
|  | const char * | pkgNEVR,
|  | const rpmds | ds,
|  | const fnpyKey * | suggestedKeys,
|  | int | adding
| ) |  |

Report a Requires: or Conflicts: dependency problem.

Parameters

  ps | transaction set problems
  pkgNEVR | package name/epoch/version/release
  ds | dependency set
  suggestedKeys | filename or python object address
  adding | dependency problem is from added package set?

Definition at line 3826 of file rpmds.c.

References D_, rpmdsDNEVR(), rpmdsEVR(), rpmdsN(), rpmlog(), RPMLOG_DEBUG, RPMPROB_CONFLICT, RPMPROB_REQUIRES, and rpmpsAppend().

Referenced by checkPackageDeps().

rpmuint32_t rpmdsRefs | ( | const rpmds | ds | ) |

Return current dependency file refs.

Parameters

  ds | dependency set

Returns
  current dependency file refs (0 if not set)

Definition at line 826 of file rpmds.c.

Referenced by rpmds_Refs().

rpmint32_t rpmdsResult | ( | const rpmds | ds | ) |

Return current dependency comparison result.

Parameters

  ds | dependency set

Returns
  current dependency result (0 if not set)

Definition at line 856 of file rpmds.c.

Referenced by rpmds_Result(), and rpmdsPrintResults().

int rpmdsRpmlib | ( | rpmds * | dsp,
|  | void * | tblp
| ) |  |

Load rpmlib provides into a dependency set.

Return values

  *dsp | (loaded) depedency set

Parameters

  tblp | rpmlib provides table (NULL uses internal table)

Returns
  0 on success

Definition at line 1530 of file rpmds.c.

References rpmlibProvides_s::featureEVR, rpmlibProvides_s::featureFlags, rpmlibProvides_s::featureName, rpmdsFree(), rpmdsMerge(), rpmdsSingle(), rpmlibProvides, and RPMTAG_PROVIDENAME.

Referenced by main(), rpmds_Rpmlib(), rpmShowRC(), and unsatisfiedDepend().

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

  ds | dependency set to search
  ods | dependency set element to find.

Returns
  dependency index (or -1 if not found)

Definition at line 1096 of file rpmds.c.

References rpmdsCompare(), rpmdsIx(), rpmdsNext(), rpmdsSetIx(), and rpmdsSetResult().

Referenced by rpmds_Search(), rpmdsPrintClosure(), and unsatisfiedDepend().

time_t rpmdsSetBT | ( | const rpmds | ds,
|  | time_t | BT
| ) |  |

Set dependency build time.

Parameters

  ds | dependency set
  BT | build time

Returns
  dependency build time, 0 on invalid

Definition at line 715 of file rpmds.c.

rpmuint32_t rpmdsSetColor | ( | const rpmds | ds,
|  | rpmuint32_t | color
| ) |  |

Set current dependency color.

Parameters

  ds | dependency set
  color | new dependency color

Returns
  previous dependency color

Definition at line 787 of file rpmds.c.

References xcalloc().

Referenced by rpmteColorDS().

void* rpmdsSetEVRcmp | ( | rpmds | ds,
|  | int(*)(const char *a, const char *b) | EVRcmp
| ) |  |

Set EVR comparison function.

Parameters

  ds | dependency set
  EVRcmp | EVR comparison function (NULL uses default)

Returns
  previous EVR comparison function

Definition at line 765 of file rpmds.c.

void* rpmdsSetEVRparse | ( | rpmds | ds,
|  | int(*)(const char *everstr, EVR_t evr) | EVRparse
| ) |  |

Set EVR parsing function.

Parameters

  ds | dependency set
  EVRparse | EVR parsing function (NULL uses default)

Returns
  previous EVR parsing function

int rpmdsSetIx | ( | rpmds | ds,
|  | int | ix
| ) |  |

Set dependency set index.

Parameters

  ds | dependency set
  ix | new index

Returns
  current index

Definition at line 633 of file rpmds.c.

Referenced by rpmalAllSatisfiesDepend(), rpmds_Find(), rpmds_subscript(), rpmdsSearch(), rpmfcPrint(), rpmfiBuildFDeps(), and zapRelation().

int rpmdsSetNoPromote | ( | rpmds | ds,
|  | int | nopromote
| ) |  |

Set "Don't promote Epoch:" flag.

Parameters

  ds | dependency set
  nopromote | Should an unspecified Epoch: be treated as Epoch: 0?

Returns
  previous "Don't promote Epoch:" flag

Definition at line 742 of file rpmds.c.

Referenced by checkPackageSet(), handleOneTrigger(), rpmds_SetNoPromote(), rpmdsAnyMatchesDep(), and rpmdsNVRMatchesDep().

rpmuint32_t rpmdsSetRefs | ( | const rpmds | ds,
|  | rpmuint32_t | refs
| ) |  |

Set current dependency file refs.

Parameters

  ds | dependency set
  refs | new dependency refs

Returns
  previous dependency refs

Definition at line 837 of file rpmds.c.

References xcalloc().

Referenced by rpmteColorDS().

rpmint32_t rpmdsSetResult | ( | const rpmds | ds,
|  | rpmint32_t | result
| ) |  |

Set current dependency comparison result.

Parameters

  ds | dependency set
  result | new dependency result

Returns
  previous dependency result

Definition at line 867 of file rpmds.c.

References xcalloc().

Referenced by rpmdsPrintClosure(), and rpmdsSearch().

rpmds rpmdsSingle | ( | rpmTag | tagN,
|  | const char * | N,
|  | const char * | EVR,
|  | evrFlags | Flags
| ) |  |

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

Parameters

  tagN | type of dependency
  N | name
  EVR | epoch:version-release
  Flags | comparison/context flags

Returns
  new dependency set

Definition at line 596 of file rpmds.c.

References rpmdsGetPool(), rpmdsLink(), rpmdsNewDNEVR(), rpmdsTagName(), xcalloc(), and xmalloc().

Referenced by ensureOlder(), rpmds_iternext(), rpmds_Single(), rpmdsELF(), rpmdsLdconfig(), rpmdsNSAdd(), rpmdsNVRMatchesDep(), rpmdsPipe(), rpmdsRpmlib(), rpmdsSysinfoFile(), rpmfcApply(), rpmfcGenerateDepends(), rpmfcHelper(), rpmfcSCRIPT(), and unsatisfiedDepend().

int rpmdsSysinfo | ( | rpmPRCO | PRCO,
|  | const char * | fn
| ) |  |

Load sysinfo dependencies into a dependency set.

Return values

  *PRCO | provides/requires/conflicts/obsoletes depedency set(s)

Parameters

  fn | path to file (NULL uses /etc/rpm/sysinfo)

Returns
  0 on success

Definition at line 1699 of file rpmds.c.

References _ETC_RPM_SYSINFO, _free(), _sysinfo_path, alloca(), rpmdsSysinfoFile(), rpmExpand(), rpmGetPath(), RPMTAG_PROVIDENAME, Stat(), tagValue(), and xstrdup().

Referenced by main(), rpmds_Sysinfo(), rpmShowRC(), and rpmtsPRCO().

rpmTag rpmdsTagN | ( | const rpmds | ds | ) |

Return current dependency type.

Parameters

  ds | dependency set

Returns
  current dependency type, 0 on invalid

Definition at line 689 of file rpmds.c.

Referenced by addRelation(), rpmds_iternext(), rpmds_TagN(), rpmdsMergePRCO(), rpmdsType(), rpmfcFileDep(), rpmfcMergePR(), rpmtsSolve(), and unsatisfiedDepend().

rpmds rpmdsThis | ( | Header | h,
|  | rpmTag | tagN,
|  | evrFlags | Flags
| ) |  |

Create, load and initialize a dependency for this header.

Parameters

  h | header
  tagN | type of dependency
  Flags | comparison flags

Returns
  new dependency set

Definition at line 504 of file rpmds.c.

References _free(), alloca(), headerGet(), headerNEVRA(), _HE_s::p, rpmDataType_u::ptr, rpmdsGetPool(), rpmdsLink(), rpmdsNewDNEVR(), rpmdsTagName(), RPMTAG_ARCH, RPMTAG_BUILDTIME, RPMTAG_DISTEPOCH, RPMTAG_EPOCH, RPMTAG_NAME, RPMTAG_PROVIDENAME, stpcpy(), rpmDataType_u::str, _HE_s::tag, rpmDataType_u::ui32p, and xmalloc().

Referenced by cacheStashLatest(), hdr_dsOfHeader(), parseSpec(), rpmdsNew(), rpmHeadersIdentical(), and rpmtsAddInstallElement().

const char* rpmdsType | ( | const rpmds | ds | ) |

Return current dependency type name.

Parameters

  ds | dependency set

Returns
  current dependency type name

Definition at line 154 of file rpmds.c.

References rpmdsTagN(), and rpmdsTagName().

Referenced by rpmdepPrint(), rpmdsPrint(), and rpmdsPrintResults().

rpmds rpmdsUnlink | ( | rpmds | ds,
|  | const char * | msg
| ) |  |

Unreference a dependency set instance.

Parameters

  ds | dependency set
  msg |

Returns
  NULL on last dereference

int rpmEVRcmp | ( | const char * | a,
|  | const char * | b
| ) |  |

Segmented string compare.

Parameters

  a | 1st string
  b | 2nd string

Returns
  +1 if a is "newer", 0 if equal, -1 if b is "newer"

Definition at line 79 of file rpmevr.c.

References _invert_digits_alphas_comparison, MAX, xisdigit(), and xisrpmalpha().

int rpmEVRcompare | ( | const EVR_t | a,
|  | const EVR_t | b
| ) |  |

Compare EVR containers for equality.

Parameters

  a | 1st EVR container
  b | 2nd EVR container

Returns
  +1 if a is "newer", 0 if equal, -1 if b is "newer"

Definition at line 262 of file rpmevr.c.

References compare_values(), and rpmEVRorder().

Referenced by labelCompare(), pointRpmEVR(), and rpmEVRoverlap().

EVR_t rpmEVRnew | ( | rpmuint32_t | Flags,
|  | int | initialize
| ) |  |

Create a new EVR container.

Parameters

  Flags | EVR inequality flags
  initialize | Should empty defaults be initialized?

Returns
  initialized EVR container

Definition at line 24 of file rpmevr.c.

References xcalloc().

Referenced by labelCompare(), nwlookupTag(), and wnlookupTag().

int rpmEVRoverlap | ( | EVR_t | a,
|  | EVR_t | b
| ) |  |

Compare EVR containers for overlap.

Parameters

  a | 1st EVR container
  b | 2nd EVR container

Returns
  1 if EVR inequalities overlap, 0 otherwise

Definition at line 292 of file rpmevr.c.

References rpmEVRcompare(), RPMSENSE_EQUAL, RPMSENSE_GREATER, RPMSENSE_LESS, and RPMSENSE_NOTEQUAL.

Referenced by nwlookupTag(), and wnlookupTag().

int rpmEVRparse | ( | const char * | evrstr,
|  | EVR_t | evr
| ) |  |

Split EVR string into epoch, version, and release components.

Parameters

  evrstr | [epoch:]version[-release] string

Return values

  *evr | parse results

Returns
  0 always

Definition at line 171 of file rpmevr.c.

References mireRegexec(), mireSetEOptions(), rpmEVRmire(), and xstrdup().

Referenced by dpkgEVRparse(), nwlookupTag(), parseRCPOT(), pointRpmEVR(), rpmdsCompare(), and wnlookupTag().

nsType rpmnsArch | ( | const char * | str | ) |

Is string a known arch suffix?

Parameters

  str | string

Returns
  RPMNS_TYPE_ARCH if known arch, else RPMNS_TYPE_UNKNOWN

Definition at line 63 of file rpmns.c.

References _free(), rpmExpand(), RPMNS_TYPE_ARCH, RPMNS_TYPE_UNKNOWN, rpmnsArches, and xisspace().

Referenced by rpmnsClassify(), and rpmtsInitIterator().

nsType rpmnsClassify | ( | const char * | str | ) |

Classify a string as a dependency type.

Parameters

  str | string like "bing(bang).boom"

Returns
  dependency type

Definition at line 173 of file rpmns.c.

References _rpmns_N_at_A, RPMNS_TYPE_ARCH, RPMNS_TYPE_COMPOUND, RPMNS_TYPE_DSO, RPMNS_TYPE_FUNCTION, RPMNS_TYPE_NAMESPACE, RPMNS_TYPE_PATH, RPMNS_TYPE_STRING, RPMNS_TYPE_UNKNOWN, RPMNS_TYPE_VERSION, rpmnsArch(), rpmnsProbe(), _rpmnsProbes_s::Type, and xisdigit().

Referenced by rpmnsParse().

int rpmnsParse | ( | const char * | str,
|  | rpmns | ns
| ) |  |

Split NS string into namespace, name and arch components.

Parameters

  str | string like "bing(bang).boom"

Return values

  *ns | parse results

Returns
  0 always

Definition at line 209 of file rpmns.c.

References _rpmns_N_at_A, rpmExpand(), RPMNS_TYPE_ACCESS, RPMNS_TYPE_ARCH, RPMNS_TYPE_COMPOUND, RPMNS_TYPE_CONFIG, RPMNS_TYPE_CPUINFO, RPMNS_TYPE_DIGEST, RPMNS_TYPE_DISKSPACE, RPMNS_TYPE_DSO, RPMNS_TYPE_ENVVAR, RPMNS_TYPE_FUNCTION, RPMNS_TYPE_GETCONF, RPMNS_TYPE_GNUPG, RPMNS_TYPE_GROUP, RPMNS_TYPE_MACRO, RPMNS_TYPE_MOUNTED, RPMNS_TYPE_NAMESPACE, RPMNS_TYPE_PATH, RPMNS_TYPE_RPMLIB, RPMNS_TYPE_RUNNING, RPMNS_TYPE_SANITY, RPMNS_TYPE_SIGNATURE, RPMNS_TYPE_SONAME, RPMNS_TYPE_STRING, RPMNS_TYPE_TAG, RPMNS_TYPE_UNAME, RPMNS_TYPE_UNKNOWN, RPMNS_TYPE_USER, RPMNS_TYPE_VCHECK, RPMNS_TYPE_VERIFY, RPMNS_TYPE_VERSION, and rpmnsClassify().

Referenced by rpmdsNewN().

nsType rpmnsProbe | ( | const char * | str | ) |

Is string a known probe namespace?

Parameters

  str | string

Returns
  nsType if known probe, else RPMNS_TYPE_UNKNOWN

Definition at line 158 of file rpmns.c.

References _rpmnsProbes_s::NS, RPMNS_TYPE_UNKNOWN, rpmnsProbes, and _rpmnsProbes_s::Type.

Referenced by rpmnsClassify().

## Variable Documentation

int _rpmds_debug

Definition at line 115 of file rpmds.c.

int _rpmds_nopromote

Definition at line 118 of file rpmds.c.

const char* _sysinfo_path

Definition at line 1684 of file rpmds.c.

Referenced by rpmdsSysinfo(), rpmnsClean(), and rpmShowRC().

int(* rpmvercmp)(const char *a, const char *b)

Segmented string compare vector.

Parameters

  a | 1st string
  b | 2nd string

Returns
  +1 if a is "newer", 0 if equal, -1 if b is "newer"

Definition at line 330 of file rpmevr.c.

Referenced by compare_values(), rpmdsCompare(), and rpmVersionCompare().