lib/rpmrc.c File Reference

#include "system.h"
#include <stdarg.h>
#include <rpmlib.h>
#include <rpmmacro.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 struct machCacheEntry_smachCacheEntry
typedef struct machCache_smachCache
typedef struct machEquivInfo_smachEquivInfo
typedef struct machEquivTable_smachEquivTable
typedef struct defaultEntry_sdefaultEntry
typedef struct canonEntry_scanonEntry
typedef struct tableType_stableType

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 const 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 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 ":/etc/rpmrc:~/.rpmrc"
const char * macrofiles = MACROFILES
 List of macro files to read when configuring rpm.
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 Documentation

 
#define __power_pc (  )     0

Definition at line 13 of file rpmrc.c.

#define _TOPDIRMACRO   "%{_topdir}/"

#define ARCH   1

Definition at line 123 of file rpmrc.c.

#define OS   0

Definition at line 122 of file rpmrc.c.


Typedef Documentation

typedef struct canonEntry_s * canonEntry

typedef const char* cptr_t

Definition at line 30 of file rpmrc.c.

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


Function Documentation

static int addCanon ( canonEntry table,
int *  tableLen,
char *  line,
const char *  fn,
int  lineNum 
) [static]

Definition at line 327 of file rpmrc.c.

static int addDefault ( defaultEntry table,
int *  tableLen,
char *  line,
const char *  fn,
int  lineNum 
) [static]

Definition at line 381 of file rpmrc.c.

static void defaultMachine ( const char **  arch,
const char **  os 
) [static]

Definition at line 936 of file rpmrc.c.

static int doReadRC ( FD_t  fd,
const char *  urlfn 
) [static]

Definition at line 552 of file rpmrc.c.

static void freeRpmVar ( struct rpmvarValue orig  )  [static]

Definition at line 1215 of file rpmrc.c.

static void getMachineInfo ( int  type,
const char **  name,
int *  num 
) [static]

Definition at line 1365 of file rpmrc.c.

static const canonEntry lookupInCanonTable ( const char *  name,
const canonEntry  table,
int  tableLen 
) [static]

Definition at line 416 of file rpmrc.c.

static const char* lookupInDefaultTable ( const char *  name,
const defaultEntry  table,
int  tableLen 
) [static]

Definition at line 433 of file rpmrc.c.

static void machAddEquiv ( machEquivTable  table,
const char *  name,
int  distance 
) [static]

Definition at line 259 of file rpmrc.c.

static void machCacheEntryVisit ( machCache  cache,
machEquivTable  table,
const char *  name,
int  distance 
) [static]

Definition at line 278 of file rpmrc.c.

static machCacheEntry machCacheFindEntry ( const machCache  cache,
const char *  key 
) [static]

Definition at line 165 of file rpmrc.c.

static int machCompatCacheAdd ( char *  name,
const char *  fn,
int  linenum,
machCache  cache 
) [static]

Definition at line 176 of file rpmrc.c.

static machEquivInfo machEquivSearch ( const machEquivTable  table,
const char *  name 
) [static]

Definition at line 247 of file rpmrc.c.

static void machFindEquivs ( machCache  cache,
machEquivTable  table,
const char *  key 
) [static]

Definition at line 299 of file rpmrc.c.

static int optionCompare ( const void *  a,
const void *  b 
) [static]

Definition at line 157 of file rpmrc.c.

static void rebuildCompatTables ( int  type,
const char *  name 
) [static]

Definition at line 1357 of file rpmrc.c.

static const char* rpmGetVarArch ( int  var,
const char *  arch 
) [static]

Definition at line 1188 of file rpmrc.c.

void rpmRebuildTargetVars ( const char **  target,
const char **  canontarget 
) [static]

Definition at line 1403 of file rpmrc.c.

static void rpmSetVarArch ( int  var,
const char *  val,
const char *  arch 
) [static]

Definition at line 1240 of file rpmrc.c.

static void setDefaults ( void   )  [static]

Definition at line 513 of file rpmrc.c.

static void setPathDefault ( int  var,
const char *  macroname,
const char *  subdir 
) [static]

Definition at line 461 of file rpmrc.c.

static void setVarDefault ( int  var,
const char *  macroname,
const char *  val,
const char *  body 
) [static]

Definition at line 446 of file rpmrc.c.


Variable Documentation

cptr_t current[2] [static]

Definition at line 126 of file rpmrc.c.

int currTables[2] = { RPM_MACHTABLE_INSTOS, RPM_MACHTABLE_INSTARCH } [static]

Definition at line 129 of file rpmrc.c.

int defaultsInitialized = 0 [static]

Definition at line 135 of file rpmrc.c.

const char* defrcfiles = LIBRPMRC_FILENAME ":/etc/rpmrc:~/.rpmrc" [static]

Definition at line 25 of file rpmrc.c.

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 111 of file rpmrc.c.

int optionTableSize = sizeof(optionTable) / sizeof(*optionTable) [static]

Definition at line 120 of file rpmrc.c.

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 496 of file rpmrc.c.

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 100 of file rpmrc.c.

struct rpmvarValue values[RPMVAR_NUM] [static]

Definition at line 132 of file rpmrc.c.


Generated on Wed Dec 10 00:31:34 2008 for rpm by  doxygen 1.5.6