rpm
5.2.1
|
#include "system.h"
#include <stdarg.h>
#include <rpmio.h>
#include <rpmcb.h>
#include <mire.h>
#include <argv.h>
#include <rpmlua.h>
#include <rpmluaext.h>
#include <rpmmacro.h>
#include <rpmtypes.h>
#include <rpmtag.h>
#include <rpmevr.h>
#include <rpmds.h>
#include <rpmcli.h>
#include <rpmsyck.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 | defaultEntry_s |
struct | canonEntry_s |
struct | tableType_s |
struct | cpu_vendor_os_gnu |
Defines | |
#define | __power_pc() 0 |
#define | _RPMIOB_INTERNAL /* XXX for rpmiobSlurp */ |
#define | _MIRE_INTERNAL |
#define | _RPMEVR_INTERNAL |
#define | _RPMDS_INTERNAL |
#define | RPM_MACHTABLE_COUNT 4 |
#define | OS 0 |
#define | ARCH 1 |
#define | _TOPDIRMACRO "%{_topdir}/" |
Typedefs | |
typedef const char * | cptr_t |
typedef struct machCacheEntry_s * | machCacheEntry |
typedef struct machCache_s * | machCache |
typedef struct machEquivInfo_s * | machEquivInfo |
typedef struct machEquivTable_s * | machEquivTable |
typedef struct defaultEntry_s * | defaultEntry |
typedef struct canonEntry_s * | canonEntry |
typedef struct tableType_s * | tableType |
typedef struct cpu_vendor_os_gnu * | CVOG_t |
Enumerations | |
enum | rpm_machtable_e { RPM_MACHTABLE_INSTARCH = 0, RPM_MACHTABLE_INSTOS = 1, RPM_MACHTABLE_BUILDARCH = 2, RPM_MACHTABLE_BUILDOS = 3 } |
Build and install arch/os table identifiers. More... | |
Functions | |
static void | rpmRebuildTargetVars (const char **target, const char **canontarget) |
static machCacheEntry | machCacheFindEntry (const machCache cache, const char *key) |
static void | machAddEquiv (machEquivTable table, const char *name, int distance) |
static void | machCacheEntryVisit (machCache cache, machEquivTable table, const char *name, int distance) |
static void | rebuildCompatTables (int type, const char *name) |
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 | addMacroDefault (const char *macroname, const char *val, const char *body) |
static void | setPathDefault (const char *macroname, const char *subdir) |
static void | setDefaults (void) |
static int | parseCVOG (const char *str, CVOG_t *cvogp) |
static rpmRC | rpmPlatform (const char *platform) |
Read and configure /etc/rpm/platform patterns. | |
int | rpmPlatformScore (const char *platform, void *mi_re, int mi_nre) |
static void | defaultMachine (const char **arch, const char **os) |
static void | rpmSetTables (int archTable, int osTable) |
static void | rpmSetMachine (const char *arch, const char *os) |
static void | getMachineInfo (int type, const char **name, int *num) |
void | rpmFreeRpmrc (void) |
static int | rpmReadRC (const char *macrofiles) |
Read macro configuration file(s). | |
int | rpmReadConfigFiles (const char *file, const char *target) |
int | rpmShowRC (FILE *fp) |
Variables | |
static const char * | configTarget = NULL |
static const char * | platform = "/platform" |
void * | platpat = NULL |
int | nplatpat = 0 |
rpmds | cpuinfoP |
static struct tableType_s | tables [4] |
static cptr_t | current [2] |
static int | currTables [2] = { RPM_MACHTABLE_INSTOS, RPM_MACHTABLE_INSTARCH } |
static int | defaultsInitialized = 0 |
static const char * | ___build_pre |
#define __power_pc | ( | ) | 0 |
#define _MIRE_INTERNAL |
#define _RPMDS_INTERNAL |
#define _RPMEVR_INTERNAL |
#define _RPMIOB_INTERNAL /* XXX for rpmiobSlurp */ |
#define _TOPDIRMACRO "%{_topdir}/" |
Referenced by setPathDefault().
#define ARCH 1 |
Definition at line 127 of file rpmrc.c.
Referenced by getMachineInfo(), rpmFreeRpmrc(), rpmRebuildTargetVars(), rpmSetMachine(), rpmSetTables(), and rpmShowRC().
#define OS 0 |
Definition at line 126 of file rpmrc.c.
Referenced by rpmFreeRpmrc(), rpmRebuildTargetVars(), rpmSetMachine(), rpmSetTables(), and rpmShowRC().
#define RPM_MACHTABLE_COUNT 4 |
typedef struct canonEntry_s * canonEntry |
typedef struct cpu_vendor_os_gnu * CVOG_t |
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 void addMacroDefault | ( | const char * | macroname, |
const char * | val, | ||
const char * | body | ||
) | [static] |
Definition at line 266 of file rpmrc.c.
References addMacro(), and RMIL_DEFAULT.
Referenced by setDefaults().
static void defaultMachine | ( | const char ** | arch, |
const char ** | os | ||
) | [static] |
Definition at line 665 of file rpmrc.c.
References _free(), configTarget, cpu_vendor_os_gnu::cpu, cpu_vendor_os_gnu::os, parseCVOG(), platform, rpmExpand(), rpmGetPath(), rpmPlatform(), RPMRC_OK, and cpu_vendor_os_gnu::str.
Referenced by rpmRebuildTargetVars(), rpmSetMachine(), and rpmSetTables().
static void getMachineInfo | ( | int | type, |
const char ** | name, | ||
int * | num | ||
) | [static] |
Definition at line 869 of file rpmrc.c.
References _free(), ARCH, argvCount(), argvFree(), argvSplit(), current, currTables, lookupInCanonTable(), name, nplatpat, canonEntry_s::num, platpat, rpmExpand(), rpmPlatformScore(), and canonEntry_s::short_name.
Referenced by rpmRebuildTargetVars().
static canonEntry lookupInCanonTable | ( | const char * | name, |
const canonEntry | table, | ||
int | tableLen | ||
) | [static] |
Definition at line 236 of file rpmrc.c.
Referenced by getMachineInfo().
static const char* lookupInDefaultTable | ( | const char * | name, |
const defaultEntry | table, | ||
int | tableLen | ||
) | [static] |
Definition at line 253 of file rpmrc.c.
References defaultEntry_s::defName, and name.
Referenced by rpmSetMachine().
static void machAddEquiv | ( | machEquivTable | table, |
const char * | name, | ||
int | distance | ||
) | [static] |
Definition at line 156 of file rpmrc.c.
References machEquivTable_s::count, tableType_s::equiv, machEquivTable_s::list, machEquivInfo_s::name, machEquivInfo_s::score, xmalloc(), xrealloc(), xstrcasecmp(), and xstrdup().
Referenced by machCacheEntryVisit(), and rebuildCompatTables().
static void machCacheEntryVisit | ( | machCache | cache, |
machEquivTable | table, | ||
const char * | name, | ||
int | distance | ||
) | [static] |
Definition at line 184 of file rpmrc.c.
References machCacheEntry_s::count, machCacheEntry_s::equivs, machAddEquiv(), machCacheFindEntry(), and machCacheEntry_s::visited.
Referenced by rebuildCompatTables().
static machCacheEntry machCacheFindEntry | ( | const machCache | cache, |
const char * | key | ||
) | [static] |
Definition at line 145 of file rpmrc.c.
References machCache_s::cache, machCacheEntry_s::name, and machCache_s::size.
Referenced by machCacheEntryVisit().
Definition at line 374 of file rpmrc.c.
References _free(), cpu_vendor_os_gnu::cpu, cpu_vendor_os_gnu::gnu, cpu_vendor_os_gnu::os, cpu_vendor_os_gnu::str, cpu_vendor_os_gnu::vendor, xcalloc(), and xstrdup().
Referenced by defaultMachine(), and rpmPlatform().
static void rebuildCompatTables | ( | int | type, |
const char * | name | ||
) | [static] |
Definition at line 205 of file rpmrc.c.
References _free(), machCache_s::cache, tableType_s::cache, machEquivTable_s::count, currTables, tableType_s::equiv, tableType_s::key, machEquivTable_s::list, machAddEquiv(), machCacheEntryVisit(), name, machEquivInfo_s::name, machCache_s::size, and machCacheEntry_s::visited.
Referenced by rpmSetMachine(), and rpmSetTables().
void rpmFreeRpmrc | ( | void | ) |
< No. of arch/os tables.
Definition at line 1000 of file rpmrc.c.
References _free(), 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, mireFreeAll(), machCacheEntry_s::name, machEquivInfo_s::name, defaultEntry_s::name, canonEntry_s::name, nplatpat, OS, platpat, RPM_MACHTABLE_COUNT, canonEntry_s::short_name, and machCache_s::size.
Referenced by main(), rpmcliFini(), and rpmspecQuery().
static rpmRC rpmPlatform | ( | const char * | platform | ) | [static] |
Read and configure /etc/rpm/platform patterns.
platform | path to platform patterns |
Definition at line 431 of file rpmrc.c.
References _free(), addMacro(), cpu_vendor_os_gnu::cpu, cpu_vendor_os_gnu::gnu, mireAppend(), mireFreeAll(), nplatpat, cpu_vendor_os_gnu::os, parseCVOG(), platpat, rpmExpand(), rpmiobFree(), rpmiobSlurp(), RPMMIRE_REGEX, RPMMIRE_STRCMP, RPMRC_FAIL, RPMRC_OK, cpu_vendor_os_gnu::str, cpu_vendor_os_gnu::vendor, and xisspace().
Referenced by defaultMachine().
int rpmPlatformScore | ( | const char * | platform, |
void * | mi_re, | ||
int | mi_nre | ||
) |
Definition at line 644 of file rpmrc.c.
References mireRegexec(), nplatpat, and platpat.
Referenced by archScore(), getMachineInfo(), platformScore(), and rpmtsAddInstallElement().
int rpmReadConfigFiles | ( | const char * | file, |
const char * | target | ||
) |
Definition at line 1091 of file rpmrc.c.
References _free(), configTarget, rpmExpand(), rpmluaGetGlobalState(), rpmluaGetPrintBuffer(), rpmMacrofiles, rpmReadRC(), rpmRebuildTargetVars(), and rpmSetMachine().
Referenced by init_rpm(), main(), rpmcliConfigured(), and rpmspecQuery().
static void rpmRebuildTargetVars | ( | const char ** | target, |
const char ** | canontarget | ||
) | [static] |
Definition at line 913 of file rpmrc.c.
References _free(), addMacro(), ARCH, defaultMachine(), delMacro(), getMachineInfo(), OS, RMIL_RPMRC, RPM_MACHTABLE_BUILDARCH, RPM_MACHTABLE_BUILDOS, RPM_MACHTABLE_INSTARCH, RPM_MACHTABLE_INSTOS, rpmSetMachine(), rpmSetTables(), xmalloc(), xstrcasecmp(), xstrdup(), and xtolower().
Referenced by rpmReadConfigFiles().
static void rpmSetMachine | ( | const char * | arch, |
const char * | os | ||
) | [static] |
Definition at line 828 of file rpmrc.c.
References _free(), ARCH, current, currTables, defaultMachine(), lookupInDefaultTable(), OS, rebuildCompatTables(), and xstrdup().
Referenced by rpmReadConfigFiles(), and rpmRebuildTargetVars().
int rpmShowRC | ( | FILE * | fp | ) |
Definition at line 1141 of file rpmrc.c.
References _, _free(), _sysinfo_path, ARCH, machEquivTable_s::count, cpuinfoP, current, tableType_s::equiv, machEquivTable_s::list, machEquivInfo_s::name, nplatpat, OS, platpat, RPM_MACHTABLE_BUILDARCH, RPM_MACHTABLE_BUILDOS, RPM_MACHTABLE_INSTOS, rpmdsCpuinfo(), rpmdsDNEVR(), rpmdsFree(), rpmdsFreePRCO(), rpmdsFromPRCO(), rpmdsGetconf(), rpmdsInit(), rpmdsNewPRCO(), rpmdsNext(), rpmdsRpmlib(), rpmdsSysinfo(), rpmdsUname(), rpmDumpMacroTable(), rpmExpand(), rpmIsDebug, rpmIsVerbose, rpmluaFiles, rpmluaPath, rpmMacrofiles, and RPMTAG_PROVIDENAME.
Referenced by rpmcliAllArgCallback().
static void setDefaults | ( | void | ) | [static] |
Definition at line 315 of file rpmrc.c.
References ___build_pre, addMacro(), addMacroDefault(), RMIL_DEFAULT, setPathDefault(), USRPREFIX, and VARPREFIX.
Referenced by rpmReadRC().
static void setPathDefault | ( | const char * | macroname, |
const char * | subdir | ||
) | [static] |
Definition at line 276 of file rpmrc.c.
References _TOPDIRMACRO, addMacro(), alloca(), and RMIL_DEFAULT.
Referenced by setDefaults().
const char* ___build_pre [static] |
"\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 291 of file rpmrc.c.
Referenced by setDefaults().
const char* configTarget = NULL [static] |
Definition at line 38 of file rpmrc.c.
Referenced by defaultMachine(), and rpmReadConfigFiles().
Definition at line 824 of file depends.c.
Referenced by rpmShowRC().
Definition at line 130 of file rpmrc.c.
Referenced by getMachineInfo(), rpmFreeRpmrc(), rpmSetMachine(), and rpmShowRC().
int currTables[2] = { RPM_MACHTABLE_INSTOS, RPM_MACHTABLE_INSTARCH } [static] |
Definition at line 133 of file rpmrc.c.
Referenced by getMachineInfo(), rebuildCompatTables(), rpmSetMachine(), and rpmSetTables().
int defaultsInitialized = 0 [static] |
Definition at line 136 of file rpmrc.c.
Referenced by rpmFreeRpmrc(), and rpmReadRC().
int nplatpat = 0 |
Definition at line 46 of file rpmrc.c.
Referenced by getMachineInfo(), rpmFreeRpmrc(), rpmPlatform(), rpmPlatformScore(), rpmShowRC(), and rpmtsAddInstallElement().
const char* platform = "/platform" [static] |
Definition at line 41 of file rpmrc.c.
Referenced by archScore(), defaultMachine(), parseSpec(), platformScore(), and rpmtsAddInstallElement().
void* platpat = NULL |
Definition at line 44 of file rpmrc.c.
Referenced by getMachineInfo(), rpmFreeRpmrc(), rpmPlatform(), rpmPlatformScore(), rpmShowRC(), and rpmtsAddInstallElement().
struct tableType_s tables[4] [static] |