#include "system.h"
#include <stdarg.h>
#include <ctype.h>
#include <rpmlib.h>
#include <rpmmacro.h>
#include "misc.h"
#include "debug.h"
Go to the source code of this file.
Data Structures | |
struct | canonEntry_s |
struct | defaultEntry_s |
struct | machCache_s |
struct | machCacheEntry_s |
struct | machEquivInfo_s |
struct | machEquivTable_s |
struct | rpmOption |
struct | rpmvarValue |
struct | tableType_s |
Defines | |
#define | __power_pc() 0 |
#define | OS 0 |
#define | ARCH 1 |
#define | _TOPDIRMACRO "%{_topdir}/" |
Typedefs | |
typedef const char * | cptr_t |
typedef machCacheEntry_s * | machCacheEntry |
typedef machCache_s * | machCache |
typedef machEquivInfo_s * | machEquivInfo |
typedef machEquivTable_s * | machEquivTable |
typedef defaultEntry_s * | defaultEntry |
typedef canonEntry_s * | canonEntry |
typedef tableType_s * | tableType |
Functions | |
int | doReadRC (FD_t fd, const char *urlfn) |
void | rpmSetVarArch (int var, const char *val, const char *arch) |
void | rebuildCompatTables (int type, const char *name) |
void | rpmRebuildTargetVars (const char **target, const char **canontarget) |
int | optionCompare (const void *a, const void *b) |
machCacheEntry | machCacheFindEntry (const machCache cache, const char *key) |
int | machCompatCacheAdd (char *name, const char *fn, int linenum, machCache cache) |
machEquivInfo | machEquivSearch (const machEquivTable table, const char *name) |
void | machAddEquiv (machEquivTable table, const char *name, int distance) |
void | machCacheEntryVisit (machCache cache, machEquivTable table, const char *name, int distance) |
void | machFindEquivs (machCache cache, machEquivTable table, const char *key) |
int | addCanon (canonEntry *table, int *tableLen, char *line, const char *fn, int lineNum) |
int | addDefault (defaultEntry *table, int *tableLen, char *line, const char *fn, int lineNum) |
canonEntry | lookupInCanonTable (const char *name, const canonEntry table, int tableLen) |
const char * | lookupInDefaultTable (const char *name, const defaultEntry table, int tableLen) |
void | setVarDefault (int var, const char *macroname, const char *val, const char *body) |
void | setPathDefault (int var, const char *macroname, const char *subdir) |
void | setDefaults (void) |
int | rpmPlatform (const char *platform) |
void | defaultMachine (const char **arch, const char **os) |
const char * | rpmGetVarArch (int var, const char *arch) |
const char * | rpmGetVar (int var) |
void | freeRpmVar (struct rpmvarValue *orig) |
void | rpmSetVar (int var, const char *val) |
void | rpmSetTables (int archTable, int osTable) |
int | rpmMachineScore (int type, const char *name) |
void | rpmGetMachine (const char **arch, const char **os) |
void | rpmSetMachine (const char *arch, const char *os) |
void | getMachineInfo (int type, const char **name, int *num) |
void | rpmGetArchInfo (const char **name, int *num) |
void | rpmGetOsInfo (const char **name, int *num) |
void | rpmFreeRpmrc (void) |
int | rpmReadRC (const char *rcfiles) |
int | rpmReadConfigFiles (const char *file, const char *target) |
int | rpmShowRC (FILE *fp) |
Variables | |
const char * | defrcfiles = LIBRPMRC_FILENAME ":" VENDORRPMRC_FILENAME ":/etc/rpmrc:~/.rpmrc" |
const char * | macrofiles = MACROFILES |
const char * | platform = "/etc/rpm/platform" |
const char ** | platpat = NULL |
int | nplatpat = 0 |
tableType_s | tables [RPM_MACHTABLE_COUNT] |
rpmOption | optionTable [] |
int | optionTableSize = sizeof(optionTable) / sizeof(*optionTable) |
cptr_t | current [2] |
int | currTables [2] = { RPM_MACHTABLE_INSTOS, RPM_MACHTABLE_INSTARCH } |
rpmvarValue | values [RPMVAR_NUM] |
int | defaultsInitialized = 0 |
const char * | prescriptenviron |
|
Definition at line 14 of file rpmrc.c. Referenced by defaultMachine(). |
|
|
|
Definition at line 129 of file rpmrc.c. Referenced by doReadRC(), rpmFreeRpmrc(), rpmGetArchInfo(), rpmGetMachine(), rpmGetVarArch(), rpmSetMachine(), rpmSetTables(), and rpmShowRC(). |
|
Definition at line 128 of file rpmrc.c. Referenced by rpmFreeRpmrc(), rpmGetMachine(), rpmGetOsInfo(), rpmSetMachine(), rpmSetTables(), and rpmShowRC(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 332 of file rpmrc.c. References _, canonEntry_s::name, canonEntry_s::num, RPMERR_RPMRC, rpmError, canonEntry_s::short_name, xrealloc(), and xstrdup(). Referenced by doReadRC(). |
|
Definition at line 386 of file rpmrc.c. References _, defaultEntry_s::defName, defaultEntry_s::name, RPMERR_RPMRC, rpmError, xrealloc(), and xstrdup(). Referenced by doReadRC(). |
|
Definition at line 1053 of file rpmrc.c. References __power_pc, _free(), Fclose(), Ferror(), Fopen(), Fread(), lookupInCanonTable(), platform, RPM_MACHTABLE_INSTARCH, RPM_MACHTABLE_INSTOS, rpmExpand(), rpmPlatform(), canonEntry_s::short_name, xcalloc(), and xisdigit(). Referenced by rpmRebuildTargetVars(), rpmSetMachine(), and rpmSetTables(). |
|
Definition at line 554 of file rpmrc.c. References _, _free(), addCanon(), addDefault(), addMacro(), alloca(), ARCH, rpmOption::archSpecific, current, Fclose(), fdSize(), Ferror(), Fopen(), Fread(), Fstrerror(), tableType_s::hasCanon, tableType_s::hasTranslate, rpmOption::localize, machCompatCacheAdd(), rpmOption::macroize, rpmOption::name, optionCompare(), optionTableSize, RMIL_RPMRC, RPMERR_RPMRC, rpmError, rpmGetPath(), rpmGetVar(), rpmRebuildTargetVars(), rpmSetVarArch(), RPMVAR_INCLUDE, RPMVAR_MACROFILES, RPMVAR_PROVIDES, rpmOption::var, xisspace(), and xmalloc(). Referenced by rpmReadRC(). |
|
Definition at line 1350 of file rpmrc.c. References _free(), rpmvarValue::arch, rpmvarValue::next, and rpmvarValue::value. Referenced by rpmSetVar(). |
|
Definition at line 1505 of file rpmrc.c. References _, current, currTables, lookupInCanonTable(), canonEntry_s::num, RPMMESS_WARNING, rpmMessage, and canonEntry_s::short_name. Referenced by rpmGetArchInfo(), and rpmGetOsInfo(). |
|
Definition at line 421 of file rpmrc.c. Referenced by defaultMachine(), and getMachineInfo(). |
|
Definition at line 438 of file rpmrc.c. References defaultEntry_s::defName, and defaultEntry_s::name. Referenced by rpmSetMachine(). |
|
Definition at line 264 of file rpmrc.c. References machEquivTable_s::count, machEquivTable_s::list, machEquivSearch(), xmalloc(), xrealloc(), and xstrdup(). Referenced by machCacheEntryVisit(), and machFindEquivs(). |
|
Definition at line 283 of file rpmrc.c. References machCacheEntry_s::count, machCacheEntry_s::equivs, machAddEquiv(), machCacheFindEntry(), and machCacheEntry_s::visited. Referenced by machFindEquivs(). |
|
Definition at line 170 of file rpmrc.c. References machCache_s::cache, machCacheEntry_s::name, and machCache_s::size. Referenced by machCacheEntryVisit(), and machCompatCacheAdd(). |
|
Definition at line 181 of file rpmrc.c. References _, _free(), machCache_s::cache, machCacheEntry_s::count, machCacheEntry_s::equivs, machCacheFindEntry(), machCacheEntry_s::name, RPMERR_RPMRC, rpmError, machCache_s::size, machCacheEntry_s::visited, xisspace(), xmalloc(), xrealloc(), and xstrdup(). Referenced by doReadRC(). |
|
Definition at line 252 of file rpmrc.c. References machEquivTable_s::count, machEquivTable_s::list, machEquivInfo_s::name, and xstrcasecmp(). Referenced by machAddEquiv(), and rpmMachineScore(). |
|
Definition at line 304 of file rpmrc.c. References _free(), machCache_s::cache, machEquivTable_s::count, machEquivTable_s::list, machAddEquiv(), machCacheEntryVisit(), machCache_s::size, and machCacheEntry_s::visited. Referenced by rebuildCompatTables(). |
|
Definition at line 162 of file rpmrc.c. References xstrcasecmp(). Referenced by doReadRC(). |
|
Definition at line 1497 of file rpmrc.c. References currTables, and machFindEquivs(). Referenced by rpmSetMachine(), and rpmSetTables(). |
|
Destroy rpmrc arch/os compatibility tables.
Definition at line 1641 of file rpmrc.c. References _free(), ARCH, rpmvarValue::arch, machCache_s::cache, tableType_s::cache, tableType_s::canons, tableType_s::canonsLength, machCacheEntry_s::count, machEquivTable_s::count, current, tableType_s::defaults, defaultsInitialized, tableType_s::defaultsLength, defaultEntry_s::defName, tableType_s::equiv, machCacheEntry_s::equivs, machEquivTable_s::list, canonEntry_s::name, defaultEntry_s::name, machCacheEntry_s::name, machEquivInfo_s::name, rpmvarValue::next, nplatpat, OS, platpat, canonEntry_s::short_name, machCache_s::size, and rpmvarValue::value. Referenced by main(). |
|
Return current arch name and/or number.
Definition at line 1533 of file rpmrc.c. References ARCH, and getMachineInfo(). Referenced by checkForValidArchitectures(), parseSpec(), readLine(), rpmpsmStage(), rpmRebuildTargetVars(), and writeRPM(). |
|
Return current arch/os names.
Definition at line 1437 of file rpmrc.c. References ARCH, current, and OS. Referenced by parseSpec(). |
|
Return current os name and/or number.
Definition at line 1538 of file rpmrc.c. References getMachineInfo(), and OS. Referenced by checkForValidArchitectures(), parseSpec(), readLine(), rpmpsmStage(), rpmRebuildTargetVars(), and writeRPM(). |
|
Return value of an rpmrc variable.
Definition at line 1344 of file rpmrc.c. References rpmGetVarArch(). Referenced by doReadRC(), rpmReadRC(), rpmShowRC(), setPathDefault(), setVarDefault(), and unsatisfiedDepend(). |
|
Definition at line 1323 of file rpmrc.c. References rpmvarValue::arch, ARCH, current, rpmvarValue::next, and rpmvarValue::value. Referenced by rpmGetVar(), and rpmRebuildTargetVars(). |
|
Return arch/os score of a name. An arch/os score measures the "nearness" of a name to the currently running (or defined) platform arch/os. For example, the score of arch "i586" on an i686 platform is (usually) 2. The arch/os score is used to select one of several otherwise identical packages using the arch/os tags from the header as hints of the intended platform for the package.
Definition at line 1431 of file rpmrc.c. References machEquivSearch(), and machEquivInfo_s::score. Referenced by addTE(), archOkay(), archScore(), osOkay(), and parseSpec(). |
|
Definition at line 778 of file rpmrc.c. References _free(), addMacro(), nplatpat, platform, platpat, rpmExpand(), rpmioSlurp(), xrealloc(), and xstrdup(). Referenced by defaultMachine(). |
|
Read macro configuration file(s) for a target.
Definition at line 1815 of file rpmrc.c. References _free(), rpmExpand(), rpmReadRC(), rpmRebuildTargetVars(), and rpmSetMachine(). Referenced by build(), initrpm(), main(), and rpmcliConfigured(). |
|
Definition at line 1543 of file rpmrc.c. References _free(), addMacro(), defaultMachine(), delMacro(), RMIL_RPMRC, RPM_MACHTABLE_BUILDARCH, RPM_MACHTABLE_BUILDOS, RPM_MACHTABLE_INSTARCH, RPM_MACHTABLE_INSTOS, rpmGetArchInfo(), rpmGetOsInfo(), rpmGetVarArch(), rpmSetMachine(), rpmSetTables(), RPMVAR_OPTFLAGS, xmalloc(), xstrcasecmp(), xstrdup(), and xtolower(). Referenced by doReadRC(), and rpmReadConfigFiles(). |
|
Set current arch/os names. NULL as argument is set to the default value (munged uname()) pushed through a translation table (if appropriate).
Definition at line 1446 of file rpmrc.c. References _free(), ARCH, current, currTables, defaultMachine(), lookupInDefaultTable(), OS, rebuildCompatTables(), and xstrdup(). Referenced by parseSpec(), rpmReadConfigFiles(), rpmReadRC(), rpmRebuildTargetVars(), and rpmShowRC(). |
|
Definition at line 1412 of file rpmrc.c. References ARCH, currTables, defaultMachine(), OS, and rebuildCompatTables(). Referenced by buildForTarget(), rpmRebuildTargetVars(), and rpmShowRC(). |
|
Set value of an rpmrc variable.
Definition at line 1367 of file rpmrc.c. References freeRpmVar(), rpmvarValue::value, and xstrdup(). Referenced by setPathDefault(), and setVarDefault(). |
|
Definition at line 1377 of file rpmrc.c. References _free(), rpmvarValue::arch, rpmvarValue::next, rpmvarValue::value, xmalloc(), and xstrdup(). Referenced by doReadRC(). |
|
Display current rpmrc (and macro) configuration.
Definition at line 1840 of file rpmrc.c. References ARCH, machEquivTable_s::count, current, machEquivTable_s::list, rpmOption::name, machEquivInfo_s::name, optionTableSize, OS, RPM_MACHTABLE_BUILDARCH, RPM_MACHTABLE_BUILDOS, RPM_MACHTABLE_INSTARCH, RPM_MACHTABLE_INSTOS, rpmDumpMacroTable(), rpmGetVar(), rpmIsVerbose, rpmSetMachine(), rpmSetTables(), rpmShowRpmlibProvides(), and rpmOption::var. Referenced by rpmcliAllArgCallback(). |
|
Definition at line 516 of file rpmrc.c. References addMacro(), prescriptenviron, RMIL_DEFAULT, RPMVAR_OPTFLAGS, setPathDefault(), and setVarDefault(). Referenced by rpmReadRC(). |
|
Definition at line 465 of file rpmrc.c. References _free(), addMacro(), alloca(), RMIL_DEFAULT, rpmGetPath(), rpmGetVar(), and rpmSetVar(). Referenced by setDefaults(). |
|
Definition at line 451 of file rpmrc.c. References addMacro(), RMIL_DEFAULT, rpmGetVar(), and rpmSetVar(). Referenced by setDefaults(). |
|
Definition at line 132 of file rpmrc.c. Referenced by doReadRC(), getMachineInfo(), rpmFreeRpmrc(), rpmGetMachine(), rpmGetVarArch(), rpmSetMachine(), and rpmShowRC(). |
|
Definition at line 135 of file rpmrc.c. Referenced by getMachineInfo(), rebuildCompatTables(), rpmSetMachine(), and rpmSetTables(). |
|
Definition at line 141 of file rpmrc.c. Referenced by rpmFreeRpmrc(), and rpmReadRC(). |
|
Definition at line 24 of file rpmrc.c. Referenced by rpmReadRC(). |
|
Definition at line 34 of file rpmrc.c. Referenced by rpmFreeRpmrc(), and rpmPlatform(). |
|
Initial value: { { "include", RPMVAR_INCLUDE, 0, 1, 0, 2 }, { "macrofiles", RPMVAR_MACROFILES, 0, 0, 0, 1 }, { "optflags", RPMVAR_OPTFLAGS, 1, 0, 1, 0 }, { "provides", RPMVAR_PROVIDES, 0, 0, 0, 0 }, } |
|
Definition at line 126 of file rpmrc.c. Referenced by doReadRC(), and rpmShowRC(). |
|
Definition at line 30 of file rpmrc.c. Referenced by defaultMachine(), and rpmPlatform(). |
|
Definition at line 32 of file rpmrc.c. Referenced by rpmFreeRpmrc(), and rpmPlatform(). |
|
Initial value: "\n\ RPM_SOURCE_DIR=\"%{_sourcedir}\"\n\ RPM_BUILD_DIR=\"%{_builddir}\"\n\ RPM_OPT_FLAGS=\"%{optflags}\"\n\ RPM_ARCH=\"%{_arch}\"\n\ RPM_OS=\"%{_os}\"\n\ export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS\n\ RPM_DOC_DIR=\"%{_docdir}\"\n\ export RPM_DOC_DIR\n\ RPM_PACKAGE_NAME=\"%{name}\"\n\ RPM_PACKAGE_VERSION=\"%{version}\"\n\ RPM_PACKAGE_RELEASE=\"%{release}\"\n\ export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE\n\ %{?buildroot:RPM_BUILD_ROOT=\"%{buildroot}\"\n\ export RPM_BUILD_ROOT\n}\ " Definition at line 499 of file rpmrc.c. Referenced by setDefaults(). |
|
Initial value: { { "arch", 1, 0 }, { "os", 1, 0 }, { "buildarch", 0, 1 }, { "buildos", 0, 1 } } |
|
|