#include "system.h"#include <stdarg.h>#include <ctype.h>#include <rpmlib.h>#include <rpmmacro.h>#include <rpmlua.h>#include "misc.h"#include "debug.h"Go to the source code of this file.
Data Structures | |
| struct | machCacheEntry_s |
| struct | machCache_s |
| struct | machEquivInfo_s |
| struct | machEquivTable_s |
| struct | rpmvarValue |
| struct | rpmOption |
| struct | defaultEntry_s |
| struct | canonEntry_s |
| 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 | |
| static int | doReadRC (FD_t fd, const char *urlfn) |
| static void | rpmSetVarArch (int var, const char *val, const char *arch) |
| static void | rebuildCompatTables (int type, const char *name) |
| static void | rpmRebuildTargetVars (const char **target, const char **canontarget) |
| static int | optionCompare (const void *a, const void *b) |
| static machCacheEntry | machCacheFindEntry (const machCache cache, const char *key) |
| static int | machCompatCacheAdd (char *name, const char *fn, int linenum, machCache cache) |
| static machEquivInfo | machEquivSearch (const machEquivTable table, const char *name) |
| static void | machAddEquiv (machEquivTable table, const char *name, int distance) |
| static void | machCacheEntryVisit (machCache cache, machEquivTable table, const char *name, int distance) |
| static void | machFindEquivs (machCache cache, machEquivTable table, const char *key) |
| static int | addCanon (canonEntry *table, int *tableLen, char *line, const char *fn, int lineNum) |
| static int | addDefault (defaultEntry *table, int *tableLen, char *line, const char *fn, int lineNum) |
| static canonEntry | lookupInCanonTable (const char *name, const canonEntry table, int tableLen) |
| static const char * | lookupInDefaultTable (const char *name, const defaultEntry table, int tableLen) |
| static void | setVarDefault (int var, const char *macroname, const char *val, const char *body) |
| static void | setPathDefault (int var, const char *macroname, const char *subdir) |
| static void | setDefaults (void) |
| static int | rpmPlatform (const char *platform) |
| static void | defaultMachine (const char **arch, const char **os) |
| static const char * | rpmGetVarArch (int var, const char *arch) |
| const char * | rpmGetVar (int var) |
| Return value of an rpmrc variable. | |
| static void | freeRpmVar (struct rpmvarValue *orig) |
| void | rpmSetVar (int var, const char *val) |
| Set value of an rpmrc variable. | |
| void | rpmSetTables (int archTable, int osTable) |
| int | rpmMachineScore (int type, const char *name) |
| Return arch/os score of a name. | |
| void | rpmGetMachine (const char **arch, const char **os) |
| Return current arch/os names. | |
| void | rpmSetMachine (const char *arch, const char *os) |
| Set current arch/os names. | |
| static void | getMachineInfo (int type, const char **name, int *num) |
| void | rpmGetArchInfo (const char **name, int *num) |
| Return current arch name and/or number. | |
| void | rpmGetOsInfo (const char **name, int *num) |
| Return current os name and/or number. | |
| void | rpmFreeRpmrc (void) |
| Destroy rpmrc arch/os compatibility tables. | |
| static int | rpmReadRC (const char *rcfiles) |
| Read rpmrc (and macro) configuration file(s). | |
| int | rpmReadConfigFiles (const char *file, const char *target) |
| Read macro configuration file(s) for a target. | |
| int | rpmShowRC (FILE *fp) |
| Display current rpmrc (and macro) configuration. | |
Variables | |
| static const char * | defrcfiles = LIBRPMRC_FILENAME ":" VENDORRPMRC_FILENAME ":/etc/rpmrc:~/.rpmrc" |
| const char * | macrofiles = MACROFILES |
| List of macro files to read when configuring rpm. | |
| static const char * | platform = "/etc/rpm/platform" |
| static const char ** | platpat = NULL |
| static int | nplatpat = 0 |
| static struct tableType_s | tables [RPM_MACHTABLE_COUNT] |
| static struct rpmOption | optionTable [] |
| static int | optionTableSize = sizeof(optionTable) / sizeof(*optionTable) |
| static cptr_t | current [2] |
| static int | currTables [2] = { RPM_MACHTABLE_INSTOS, RPM_MACHTABLE_INSTARCH } |
| static struct rpmvarValue | values [RPMVAR_NUM] |
| static int | defaultsInitialized = 0 |
| static const char * | prescriptenviron |
| #define __power_pc | ( | ) | 0 |
| #define _TOPDIRMACRO "%{_topdir}/" |
Referenced by setPathDefault().
| #define ARCH 1 |
Definition at line 130 of file rpmrc.c.
Referenced by doReadRC(), rpmGetArchInfo(), rpmGetMachine(), rpmGetVarArch(), rpmSetMachine(), rpmSetTables(), and rpmShowRC().
| #define OS 0 |
Definition at line 129 of file rpmrc.c.
Referenced by rpmGetMachine(), rpmGetOsInfo(), rpmSetMachine(), rpmSetTables(), and rpmShowRC().
| typedef struct canonEntry_s * canonEntry |
| typedef struct defaultEntry_s * defaultEntry |
| typedef struct machCache_s * machCache |
| typedef struct machCacheEntry_s * machCacheEntry |
| typedef struct machEquivInfo_s * machEquivInfo |
| typedef struct machEquivTable_s * machEquivTable |
| typedef struct tableType_s * tableType |
| static int addCanon | ( | canonEntry * | table, | |
| int * | tableLen, | |||
| char * | line, | |||
| const char * | fn, | |||
| int | lineNum | |||
| ) | [static] |
Definition at line 333 of file rpmrc.c.
References _, canonEntry_s::name, canonEntry_s::num, RPMERR_RPMRC, rpmError, canonEntry_s::short_name, strtoul, xrealloc(), and xstrdup().
Referenced by doReadRC().
| static int addDefault | ( | defaultEntry * | table, | |
| int * | tableLen, | |||
| char * | line, | |||
| const char * | fn, | |||
| int | lineNum | |||
| ) | [static] |
Definition at line 387 of file rpmrc.c.
References _, defaultEntry_s::defName, defaultEntry_s::name, RPMERR_RPMRC, rpmError, xrealloc(), and xstrdup().
Referenced by doReadRC().
| static void defaultMachine | ( | const char ** | arch, | |
| const char ** | os | |||
| ) | [static] |
Definition at line 1098 of file rpmrc.c.
References __power_pc, _free(), tableType_s::canons, tableType_s::canonsLength, Fclose(), Ferror(), Fopen(), Fread(), lookupInCanonTable(), platform, RPM_MACHTABLE_INSTARCH, RPM_MACHTABLE_INSTOS, rpmExpand(), rpmPlatform(), canonEntry_s::short_name, tables, xcalloc(), and xisdigit().
Referenced by rpmRebuildTargetVars(), rpmSetMachine(), and rpmSetTables().
| static int doReadRC | ( | FD_t | fd, | |
| const char * | urlfn | |||
| ) | [static] |
Definition at line 555 of file rpmrc.c.
References _, _free(), addCanon(), addDefault(), addMacro(), alloca(), ARCH, rpmOption::archSpecific, current, Fclose(), fdSize(), Ferror(), Fopen(), Fread(), Fstrerror(), rpmOption::localize, machCompatCacheAdd(), rpmOption::macroize, rpmOption::name, next, optionCompare(), optionTable, optionTableSize, RMIL_RPMRC, RPM_MACHTABLE_COUNT, RPMERR_RPMRC, rpmError, rpmGetPath(), rpmGetVar(), rpmRebuildTargetVars(), rpmSetVarArch(), RPMVAR_INCLUDE, RPMVAR_MACROFILES, RPMVAR_PROVIDES, tables, rpmOption::var, xisspace(), and xmalloc().
Referenced by rpmReadRC().
| static void freeRpmVar | ( | struct rpmvarValue * | orig | ) | [static] |
Definition at line 1385 of file rpmrc.c.
References _free(), rpmvarValue::arch, rpmvarValue::next, next, and rpmvarValue::value.
Referenced by rpmSetVar().
| static void getMachineInfo | ( | int | type, | |
| const char ** | name, | |||
| int * | num | |||
| ) | [static] |
Definition at line 1541 of file rpmrc.c.
References _, current, currTables, lookupInCanonTable(), canonEntry_s::num, RPMMESS_WARNING, rpmMessage, canonEntry_s::short_name, and tables.
Referenced by rpmGetArchInfo(), and rpmGetOsInfo().
| static canonEntry lookupInCanonTable | ( | const char * | name, | |
| const canonEntry | table, | |||
| int | tableLen | |||
| ) | [static] |
| static const char* lookupInDefaultTable | ( | const char * | name, | |
| const defaultEntry | table, | |||
| int | tableLen | |||
| ) | [static] |
Definition at line 439 of file rpmrc.c.
References defaultEntry_s::defName.
Referenced by rpmSetMachine().
| static void machAddEquiv | ( | machEquivTable | table, | |
| const char * | name, | |||
| int | distance | |||
| ) | [static] |
Definition at line 265 of file rpmrc.c.
References machEquivTable_s::count, machEquivTable_s::list, machEquivSearch(), machEquivInfo_s::name, machEquivInfo_s::score, xmalloc(), xrealloc(), and xstrdup().
Referenced by machCacheEntryVisit().
| static void machCacheEntryVisit | ( | machCache | cache, | |
| machEquivTable | table, | |||
| const char * | name, | |||
| int | distance | |||
| ) | [static] |
Definition at line 284 of file rpmrc.c.
References machCacheEntry_s::count, machCacheEntry_s::equivs, machAddEquiv(), machCacheFindEntry(), and machCacheEntry_s::visited.
| static machCacheEntry machCacheFindEntry | ( | const machCache | cache, | |
| const char * | key | |||
| ) | [static] |
Definition at line 171 of file rpmrc.c.
References machCache_s::cache, machCacheEntry_s::name, and machCache_s::size.
Referenced by machCacheEntryVisit(), and machCompatCacheAdd().
| static int machCompatCacheAdd | ( | char * | name, | |
| const char * | fn, | |||
| int | linenum, | |||
| machCache | cache | |||
| ) | [static] |
Definition at line 182 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().
| static machEquivInfo machEquivSearch | ( | const machEquivTable | table, | |
| const char * | name | |||
| ) | [static] |
Definition at line 253 of file rpmrc.c.
References machEquivTable_s::count, machEquivTable_s::list, machEquivInfo_s::name, and xstrcasecmp().
Referenced by machAddEquiv(), and rpmMachineScore().
| static void machFindEquivs | ( | machCache | cache, | |
| machEquivTable | table, | |||
| const char * | key | |||
| ) | [static] |
Definition at line 305 of file rpmrc.c.
References _free(), machCache_s::cache, machEquivTable_s::count, machEquivTable_s::list, machEquivInfo_s::name, machCache_s::size, and machCacheEntry_s::visited.
Referenced by rebuildCompatTables().
| static int optionCompare | ( | const void * | a, | |
| const void * | b | |||
| ) | [static] |
| static void rebuildCompatTables | ( | int | type, | |
| const char * | name | |||
| ) | [static] |
Definition at line 1533 of file rpmrc.c.
References currTables, machFindEquivs(), and tables.
Referenced by rpmSetMachine(), and rpmSetTables().
| static const char* rpmGetVarArch | ( | int | var, | |
| const char * | arch | |||
| ) | [static] |
Definition at line 1358 of file rpmrc.c.
References ARCH, current, next, and values.
Referenced by rpmGetVar(), and rpmRebuildTargetVars().
| static int rpmPlatform | ( | const char * | platform | ) | [static] |
Definition at line 779 of file rpmrc.c.
References _free(), addMacro(), nplatpat, platpat, rpmExpand(), rpmioSlurp(), xrealloc(), and xstrdup().
Referenced by defaultMachine().
| static void rpmRebuildTargetVars | ( | const char ** | target, | |
| const char ** | canontarget | |||
| ) | [static] |
Definition at line 1579 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().
| static void rpmSetVarArch | ( | int | var, | |
| const char * | val, | |||
| const char * | arch | |||
| ) | [static] |
| static void setDefaults | ( | void | ) | [static] |
Definition at line 517 of file rpmrc.c.
References addMacro(), prescriptenviron, RMIL_DEFAULT, RPMVAR_OPTFLAGS, setPathDefault(), and setVarDefault().
Referenced by rpmReadRC().
| static void setPathDefault | ( | int | var, | |
| const char * | macroname, | |||
| const char * | subdir | |||
| ) | [static] |
Definition at line 466 of file rpmrc.c.
References _free(), _TOPDIRMACRO, addMacro(), alloca(), body(), RMIL_DEFAULT, rpmGetPath(), rpmGetVar(), and rpmSetVar().
Referenced by setDefaults().
| static void setVarDefault | ( | int | var, | |
| const char * | macroname, | |||
| const char * | val, | |||
| const char * | body | |||
| ) | [static] |
Definition at line 452 of file rpmrc.c.
References addMacro(), RMIL_DEFAULT, rpmGetVar(), and rpmSetVar().
Referenced by setDefaults().
Definition at line 133 of file rpmrc.c.
Referenced by doReadRC(), getMachineInfo(), rpmGetMachine(), rpmGetVarArch(), rpmSetMachine(), and rpmShowRC().
int currTables[2] = { RPM_MACHTABLE_INSTOS, RPM_MACHTABLE_INSTARCH } [static] |
Definition at line 136 of file rpmrc.c.
Referenced by getMachineInfo(), rebuildCompatTables(), rpmSetMachine(), and rpmSetTables().
int defaultsInitialized = 0 [static] |
const char* defrcfiles = LIBRPMRC_FILENAME ":" VENDORRPMRC_FILENAME ":/etc/rpmrc:~/.rpmrc" [static] |
int nplatpat = 0 [static] |
struct rpmOption optionTable[] [static] |
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 118 of file rpmrc.c.
Referenced by doReadRC(), and rpmShowRC().
int optionTableSize = sizeof(optionTable) / sizeof(*optionTable) [static] |
const char** platpat = NULL [static] |
const char* prescriptenviron [static] |
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 500 of file rpmrc.c.
Referenced by setDefaults().
struct tableType_s tables[RPM_MACHTABLE_COUNT] [static] |
Initial value:
{
{ "arch", 1, 0 },
{ "os", 1, 0 },
{ "buildarch", 0, 1 },
{ "buildos", 0, 1 }
}
Definition at line 107 of file rpmrc.c.
Referenced by defaultMachine(), doReadRC(), getMachineInfo(), rebuildCompatTables(), rpmFreeRpmrc(), rpmMachineScore(), rpmSetMachine(), and rpmShowRC().
struct rpmvarValue values[RPMVAR_NUM] [static] |
Definition at line 139 of file rpmrc.c.
Referenced by rpmGetVarArch(), rpmSetVar(), and rpmSetVarArch().
1.5.2