|
rpm
5.4.10
|
#include "system.h"#include <rpmiotypes.h>#include <rpmio_internal.h>#include <rpmcb.h>#include <rpmmacro.h>#include <argv.h>#include <set.h>#include <rpmtypes.h>#include <rpmtag.h>#include <rpmds.h>#include "debug.h"
Go to the source code of this file.
Data Structures | |
| struct | cpuinfo_s |
| struct | rpmlibProvides_s |
| struct | _conf_s |
Macros | |
| #define | DT_GNU_HASH 0x6ffffef5 |
| #define | _RPMIOB_INTERNAL |
| #define | _RPMDS_INTERNAL |
| #define | _RPMEVR_INTERNAL |
| #define | _RPMPRCO_INTERNAL |
| #define | _isspace(_c) ((_c) == ' ' || (_c) == '\t' || (_c) == '\r' || (_c) == '\n') |
| #define | _PROC_CPUINFO "/proc/cpuinfo" |
| #define | _ETC_RPM_SYSINFO SYSCONFIGDIR "/sysinfo" |
| #define | _GETCONF_PATH "/" |
| #define | _SBIN_LDCONFIG_P "/sbin/ldconfig -p" |
| #define | _LD_SO_CACHE "/etc/ld.so.cache" |
| #define | _PERL_PROVIDES "/usr/bin/find /usr/lib/perl5 | /usr/lib/rpm/perl.prov" |
Enumerations | |
| enum | _conf_e { SYSCONF, CONFSTR, PATHCONF } |
Functions | |
| static const char * | rpmdsTagName (rpmTag tagN) |
| Return dependency set type string. | |
| const char * | rpmdsType (const rpmds ds) |
| Return current dependency type name. | |
| static void | rpmdsFini (void *_ds) |
| static rpmds | rpmdsGetPool (rpmioPool pool) |
| static const char ** | rpmdsDupArgv (const char **argv, int argc) |
| rpmds | rpmdsNew (Header h, rpmTag tagN, int flags) |
| Create and load a dependency set. | |
| const char * | rpmdsNewN (rpmds ds) |
| Return N string, expanded if necessary. | |
| char * | rpmdsNewDNEVR (const char *dspfx, rpmds ds) |
| Return new formatted dependency string. | |
| rpmds | rpmdsThis (Header h, rpmTag tagN, evrFlags Flags) |
| Create, load and initialize a dependency for this header. | |
| rpmds | rpmdsSingle (rpmTag tagN, const char *N, const char *EVR, evrFlags Flags) |
| Create, load and initialize a dependency set of size 1. | |
| 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. | |
| evrFlags | rpmdsFlags (const rpmds ds) |
| Return current dependency flags. | |
| rpmTag | rpmdsTagN (const rpmds ds) |
| Return current dependency type. | |
| const char * | rpmdsA (const rpmds ds) |
| Return current dependency arch. | |
| time_t | rpmdsBT (const rpmds ds) |
| Return dependency build time. | |
| time_t | rpmdsSetBT (const rpmds ds, time_t BT) |
| Set dependency build time. | |
| nsType | rpmdsNSType (const rpmds ds) |
| Return dependency class type. | |
| int | rpmdsNoPromote (const rpmds ds) |
| Return current "Don't promote Epoch:" flag. | |
| int | rpmdsSetNoPromote (rpmds ds, int nopromote) |
| Set "Don't promote Epoch:" flag. | |
| void * | rpmdsSetEVRparse (rpmds ds, int(*EVRparse)(const char *evrstr, EVR_t evr)) |
| void * | rpmdsSetEVRcmp (rpmds ds, int(*EVRcmp)(const char *a, const char *b)) |
| Set EVR comparison function. | |
| rpmuint32_t | rpmdsColor (const rpmds ds) |
| Return current dependency color. | |
| rpmuint32_t | rpmdsSetColor (const rpmds ds, rpmuint32_t color) |
| Set current dependency color. | |
| void * | rpmdsExclude (const rpmds ds) |
| Return dependency exclude patterns. | |
| int | rpmdsNExclude (const rpmds ds) |
| Return no. | |
| void * | rpmdsInclude (const rpmds ds) |
| Return dependency include patterns. | |
| int | rpmdsNInclude (const rpmds ds) |
| Return no. | |
| rpmuint32_t | rpmdsRefs (const rpmds ds) |
| Return current dependency file refs. | |
| rpmuint32_t | rpmdsSetRefs (const rpmds ds, rpmuint32_t refs) |
| Set current dependency file refs. | |
| rpmint32_t | rpmdsResult (const rpmds ds) |
| Return current dependency comparison result. | |
| rpmint32_t | rpmdsSetResult (const rpmds ds, rpmint32_t result) |
| Set current dependency comparison result. | |
| 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. | |
| static rpmds | rpmdsDup (const rpmds ods) |
| 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. | |
| static void | rpmdsNSAdd (rpmds *dsp, const char *NS, const char *N, const char *EVR, evrFlags Flags) |
| Merge a single provides, wrapping N as "NS(N)". | |
| static int | rpmdsCpuinfoCtagFlags (const char *name) |
| Return dependency format to use for a cpuinfo line. | |
| int | rpmdsCpuinfo (rpmds *dsp, const char *fn) |
| Load /proc/cpuinfo provides into a dependency set. | |
| int | rpmdsRpmlib (rpmds *dsp, void *tblp) |
| Load rpmlib provides into a dependency set. | |
| static int | rpmdsSysinfoFile (rpmPRCO PRCO, const char *fn, rpmTag tagN) |
| Merge contents of a sysinfo tag file into sysinfo dependencies. | |
| int | rpmdsSysinfo (rpmPRCO PRCO, const char *fn) |
| Load sysinfo dependencies into a dependency set. | |
| int | rpmdsGetconf (rpmds *dsp, const char *path) |
| Load getconf provides into a dependency set. | |
| int | rpmdsMergePRCO (void *context, rpmds ds) |
| Merge provides/requires/conflicts/obsoletes dependencies. | |
| rpmPRCO | rpmdsFreePRCO (rpmPRCO PRCO) |
| Free dependency set(s) container. | |
| rpmPRCO | rpmdsNewPRCO (Header h) |
| Create dependency set(s) container. | |
| rpmds | rpmdsFromPRCO (rpmPRCO PRCO, rpmTag tagN) |
| Retrieve a dependency set from container. | |
| int | rpmdsELF (const char *fn, int flags, int(*add)(void *context, rpmds ds), void *context) |
| Return a soname dependency constructed from an elf string. | |
| int | rpmdsLdconfig (rpmPRCO PRCO, const char *fn) |
| Load /etc/ld.so.cache provides into a dependency set. | |
| int | rpmdsUname (rpmds *dsp, const struct utsname *un) |
| int | rpmdsPipe (rpmds *dsp, rpmTag tagN, const char *cmd) |
| Load provides from a pipe into a dependency set. | |
| static int | rpmdsNAcmp (rpmds A, rpmds B) |
| static const char * | rpmdsEVRorder (void) |
| Return precedence permutation string. | |
| int | rpmdsCompare (const rpmds A, const rpmds B) |
| Compare two versioned dependency ranges, looking for overlap. | |
| int | rpmdsMatch (const rpmds A, rpmds B) |
| Compare A against every member of B, looking for 1st match. | |
| void | rpmdsProblem (rpmps ps, const char *pkgNEVR, const rpmds ds, const fnpyKey *suggestedKeys, int adding) |
| Report a Requires: or Conflicts: dependency problem. | |
| int | rpmdsAnyMatchesDep (const Header h, 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. | |
| int | rpmdsNegateRC (const rpmds ds, int rc) |
| Negate return code for negated comparisons. | |
Variables | |
| static int | _noisy_range_comparison_debug_message = 0 |
| Enable noisy range comparison debugging message? | |
| int | _rpmds_debug = 0 |
| int | _rpmds_nopromote = 1 |
| int | _rpmds_unspecified_epoch_noise = 0 |
| rpmioPool | _rpmdsPool |
| static struct cpuinfo_s | ctags [] |
| const char * | _cpuinfo_path = NULL |
| static struct rpmlibProvides_s | rpmlibProvides [] |
| const char * | _sysinfo_path = NULL |
| static const char * | _sysinfo_tags [] |
| static struct _conf_s | vars [] |
| static const char * | _getconf_path = NULL |
| static const char * | _ldconfig_cmd = "/sbin/ldconfig -p" |
| static const char * | _ldconfig_cache = NULL |
| static const char * | _perldeps_cmd = NULL |
| const char * | evr_tuple_order = NULL |
Definition in file rpmds.c.
| #define _ETC_RPM_SYSINFO SYSCONFIGDIR "/sysinfo" |
Definition at line 1739 of file rpmds.c.
Referenced by rpmdsSysinfo().
| #define _GETCONF_PATH "/" |
Definition at line 2713 of file rpmds.c.
Referenced by rpmdsGetconf().
| #define _isspace | ( | _c | ) | ((_c) == ' ' || (_c) == '\t' || (_c) == '\r' || (_c) == '\n') |
Definition at line 113 of file rpmds.c.
Referenced by rpmdsCpuinfo(), rpmdsLdconfig(), rpmdsPipe(), and rpmdsSysinfoFile().
| #define _LD_SO_CACHE "/etc/ld.so.cache" |
Definition at line 3812 of file rpmds.c.
Referenced by rpmdsLdconfig().
| #define _PERL_PROVIDES "/usr/bin/find /usr/lib/perl5 | /usr/lib/rpm/perl.prov" |
Definition at line 4160 of file rpmds.c.
Referenced by rpmdsPipe().
| #define _PROC_CPUINFO "/proc/cpuinfo" |
Definition at line 1317 of file rpmds.c.
Referenced by rpmdsCpuinfo().
| #define _SBIN_LDCONFIG_P "/sbin/ldconfig -p" |
Definition at line 3808 of file rpmds.c.
Referenced by rpmdsLdconfig().
| #define DT_GNU_HASH 0x6ffffef5 |
Definition at line 82 of file rpmds.c.
Referenced by rpmdsELF().
|
static |
Return dependency format to use for a cpuinfo line.
| name | field name |
Definition at line 1298 of file rpmds.c.
References cpuinfo_s::done, cpuinfo_s::flags, and cpuinfo_s::name.
Referenced by rpmdsCpuinfo().
Definition at line 954 of file rpmds.c.
References headerLink(), rpmdsDupArgv(), rpmdsGetPool(), rpmdsLink(), RPMTAG_BASENAMES, RPMTAG_DIRNAMES, RPMTAG_FILEPATHS, and xmalloc.
Referenced by rpmdsMerge().
|
static |
Definition at line 210 of file rpmds.c.
References stpcpy(), and xmalloc.
Referenced by rpmdsDup(), rpmdsMerge(), and rpmdsNew().
|
static |
Return precedence permutation string.
Definition at line 4330 of file rpmds.c.
References evr_tuple_order, rpmExpand(), and xstrdup().
Referenced by rpmdsCompare().
|
static |
Definition at line 167 of file rpmds.c.
References _free(), headerFree(), and mireFreeAll().
Referenced by rpmdsGetPool().
Definition at line 193 of file rpmds.c.
References _rpmdsPool, rpmdsFini(), rpmioGetPool(), and rpmioNewPool().
Referenced by rpmdsDup(), rpmdsNew(), rpmdsSingle(), and rpmdsThis().
Definition at line 4297 of file rpmds.c.
Referenced by rpmdsCompare().
|
static |
Merge a single provides, wrapping N as "NS(N)".
| *dsp | (loaded) dependency set |
| NS | dependency name space |
| N | name |
| EVR | epoch:version-release |
| Flags | comparison/context flags |
Definition at line 1183 of file rpmds.c.
References alloca(), rpmdsFree(), rpmdsMerge(), rpmdsSingle(), RPMTAG_PROVIDENAME, and stpcpy().
Referenced by rpmdsCpuinfo(), rpmdsGetconf(), and rpmdsUname().
Merge contents of a sysinfo tag file into sysinfo dependencies.
| *PRCO | provides/requires/conflicts/obsoletes depedency set(s) |
| fn | path to file |
| tagN | dependency set tag |
Definition at line 1615 of file rpmds.c.
References _, _isspace, Fclose(), fdGetFILE, Ferror(), Fopen(), rpmdsFree(), rpmdsMergePRCO(), rpmdsSingle(), rpmEVRflags(), RPMTAG_DIRNAMES, RPMTAG_FILELINKTOS, RPMTAG_PROVIDENAME, and xisalnum().
Referenced by rpmdsSysinfo().
|
static |
Return dependency set type string.
| tagN | dependency set tag |
Definition at line 139 of file rpmds.c.
References RPMTAG_BASENAMES, RPMTAG_CONFLICTNAME, RPMTAG_DIRNAMES, RPMTAG_ENHANCESNAME, RPMTAG_FILELINKTOS, RPMTAG_OBSOLETENAME, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, RPMTAG_SUGGESTSNAME, RPMTAG_TRIGGERNAME, and tagName().
Referenced by rpmdsMergePRCO(), rpmdsNew(), rpmdsNotify(), rpmdsSingle(), rpmdsThis(), and rpmdsType().
| int rpmdsUname | ( | rpmds * | dsp, |
| const struct utsname * | un | ||
| ) |
Definition at line 4120 of file rpmds.c.
References rpmdsNSAdd(), and RPMSENSE_EQUAL.
Referenced by main(), rpmds_Uname(), rpmShowRC(), and unsatisfiedDepend().
| const char* _cpuinfo_path = NULL |
Definition at line 1321 of file rpmds.c.
Referenced by rpmdsCpuinfo().
|
static |
Definition at line 2715 of file rpmds.c.
Referenced by rpmdsGetconf().
|
static |
Definition at line 3814 of file rpmds.c.
Referenced by rpmdsLdconfig().
|
static |
|
static |
Definition at line 4162 of file rpmds.c.
Referenced by rpmdsPipe().
| int _rpmds_unspecified_epoch_noise = 0 |
Definition at line 130 of file rpmds.c.
Referenced by showVerifyPackage().
| rpmioPool _rpmdsPool |
Definition at line 191 of file rpmds.c.
Referenced by rpmdsGetPool().
|
static |
| const char* evr_tuple_order = NULL |
Definition at line 4323 of file rpmds.c.
Referenced by rpmcliFini(), rpmdsEVRorder(), and rpmEVRorder().
|
static |
Definition at line 1459 of file rpmds.c.
Referenced by rpmdsRpmlib().
1.8.1.2