Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

# RPMRC.

## Files
file | rpmlib.h
file | macro.c
## RPMRC
enum | rpm_machtable_e { RPM_MACHTABLE_INSTARCH = 0, RPM_MACHTABLE_INSTOS = 1, RPM_MACHTABLE_BUILDARCH = 2, RPM_MACHTABLE_BUILDOS = 3 }
const char * | rpmGetVar (int var)
void | rpmSetVar (int var, const char *val)
int | rpmReadConfigFiles (const char *file, const char *target)
void | rpmGetArchInfo (const char **name, int *num)
void | rpmGetOsInfo (const char **name, int *num)
int | rpmMachineScore (int type, const char *name)
int | rpmShowRC (FILE *fp)
void | rpmSetTables (int archTable, int osTable)
void | rpmSetMachine (const char *arch, const char *os)
void | rpmGetMachine (const char **arch, const char **os)
void | rpmFreeRpmrc (void)
const char * | macrofiles
## Functions
static int | rpmReadRC (const char *rcfiles)
## Variables
const char * | macrofiles

## Enumeration Type Documentation

enum rpm_machtable_e

  | Build and install arch/os table identifiers. Todo: Eliminate from API. Enumeration values:
  RPM_MACHTABLE_INSTARCH | Install platform architecture.
  RPM_MACHTABLE_INSTOS | Install platform operating system.
  RPM_MACHTABLE_BUILDARCH | Build platform architecture.
  RPM_MACHTABLE_BUILDOS | Build platform operating system.
Definition at line 551 of file rpmlib.h.

## Function Documentation

void rpmFreeRpmrc | ( | void |  | ) |

| Destroy rpmrc arch/os compatibility tables. Todo: Eliminate from API. Definition at line 1501 of file rpmrc.c. References _free(), rpmvarValue::arch, ARCH, tableType_s::cache, machCache_s::cache, tableType_s::canons, tableType_s::canonsLength, machEquivTable_s::count, current, tableType_s::defaults, defaultsInitialized, tableType_s::defaultsLength, defaultEntry_s::defName, tableType_s::equiv, machCacheEntry_s::equivs, machEquivTable_s::list, machEquivInfo_s::name, machCacheEntry_s::name, defaultEntry_s::name, canonEntry_s::name, rpmvarValue::next, OS, RPM_MACHTABLE_COUNT, RPMVAR_NUM, canonEntry_s::short_name, machCache_s::size, tables, rpmvarValue::value, and values. Referenced by main().

void rpmGetArchInfo | ( | const char ** | name,
|  | int * | num
| ) |

  | Return current arch name and/or number. Todo: Generalize to extract arch component from target_platform macro. Return values:
  | name | address of arch name (or NULL)
  | num | address of arch number (or NULL)
Definition at line 1393 of file rpmrc.c. References ARCH, and getMachineInfo(). Referenced by archOkay(), checkForValidArchitectures(), parseSpec(), psmStage(), readLine(), rpmRebuildTargetVars(), and writeRPM().

void rpmGetMachine | ( | const char ** | arch,
|  | const char ** | os
| ) |

  | Return current arch/os names. Deprecated: Use rpmExpand on _target_* macros. Todo: Eliminate from API. Return values:
  | arch | address of arch name (or NULL)
  | os | address of os name (or NULL)
Definition at line 1299 of file rpmrc.c. References ARCH, current, and OS. Referenced by parseSpec().

void rpmGetOsInfo | ( | const char ** | name,
|  | int * | num
| ) |

  | Return current os name and/or number. Todo: Generalize to extract os component from target_platform macro. Return values:
  | name | address of os name (or NULL)
  | num | address of os number (or NULL)
Definition at line 1398 of file rpmrc.c. References getMachineInfo(), and OS. Referenced by checkForValidArchitectures(), parseSpec(), psmStage(), readLine(), rpmRebuildTargetVars(), and writeRPM().

const char* rpmGetVar | ( | int | var | ) |

| Return value of an rpmrc variable. Deprecated: Use rpmExpand() with appropriate macro expression. Todo: Eliminate from API. Definition at line 1209 of file rpmrc.c. References rpmGetVarArch(). Referenced by doReadRC(), rpmReadRC(), rpmShowRC(), setPathDefault(), setVarDefault(), and unsatisfiedDepend().

int rpmMachineScore | ( | int | type,
|  | const char * | name
| ) |

  | 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. Todo: Rewrite to use RE's against config.guess target platform output. Parameters:
  | type | any of the RPM_MACHTABLE_* constants
  | name | name
Returns: arch score (0 is no match, lower is preferred) Definition at line 1293 of file rpmrc.c. References machEquivSearch(), machEquivInfo_s::score, and tables. Referenced by archOkay(), archScore(), osOkay(), parseSpec(), and psGetArchScore().

int rpmReadConfigFiles | ( | const char * | file,
|  | const char * | target
| ) |

  | Read macro configuration file(s) for a target. Parameters:
  | file | colon separated files to read (NULL uses default)
  | target | target platform (NULL uses default)
Returns: 0 on success, -1 on error Definition at line 1663 of file rpmrc.c. References _free(), rpmExpand(), rpmReadRC(), rpmRebuildTargetVars(), and rpmSetMachine(). Referenced by build(), initrpm(), and main().

static int rpmReadRC | ( | const char * | rcfiles | ) | `[static]`

  | Read rpmrc (and macro) configuration file(s). Parameters:
  | rcfiles | colon separated files to read (NULL uses default)
Returns: 0 on succes Definition at line 1572 of file rpmrc.c. References _, _free(), defaultsInitialized, defrcfiles, doReadRC(), Ferror(), Fopen(), Fstrerror(), getenv(), RPMERR_RPMRC, rpmError, rpmGetVar(), rpmInitMacros(), rpmSetMachine(), RPMVAR_MACROFILES, setDefaults(), and xstrdup(). Referenced by rpmReadConfigFiles().

void rpmSetMachine | ( | const char * | arch,
|  | const char * | os
| ) |

  | Set current arch/os names. NULL as argument is set to the default value (munged uname()) pushed through a translation table (if appropriate). Deprecated: Use addMacro to set _target_* macros. Todo: Eliminate from API. Parameters:
  | arch | arch name (or NULL)
  | os | os name (or NULL)
Definition at line 1308 of file rpmrc.c. References _free(), ARCH, current, currTables, defaultMachine(), lookupInDefaultTable(), OS, rebuildCompatTables(), tables, and xstrdup(). Referenced by parseSpec(), rpmReadConfigFiles(), rpmReadRC(), rpmRebuildTargetVars(), and rpmShowRC().

void rpmSetTables | ( | int | archTable,
|  | int | osTable
| ) |

  | Deprecated: Use addMacro to set _target_* macros. Todo: Eliminate from API. # Note: Only used by build code. Parameters:
  | archTable |
  | osTable |
Definition at line 1276 of file rpmrc.c. References ARCH, currTables, defaultMachine(), OS, and rebuildCompatTables(). Referenced by buildForTarget(), rpmRebuildTargetVars(), and rpmShowRC().

void rpmSetVar | ( | int | var,
|  | const char * | val
| ) |

| Set value of an rpmrc variable. Deprecated: Use rpmDefineMacro() to change appropriate macro instead. Todo: Eliminate from API. Definition at line 1232 of file rpmrc.c. References freeRpmVar(), rpmvarValue::value, values, and xstrdup(). Referenced by setPathDefault(), and setVarDefault().

int rpmShowRC | ( | FILE * | fp | ) |

  | Display current rpmrc (and macro) configuration. Parameters:
  | fp | output file handle
Returns: 0 always Definition at line 1688 of file rpmrc.c. References ARCH, current, tableType_s::equiv, machEquivTable_s::list, machEquivInfo_s::name, rpmOption::name, optionTable, optionTableSize, OS, RPM_MACHTABLE_BUILDARCH, RPM_MACHTABLE_BUILDOS, RPM_MACHTABLE_INSTARCH, RPM_MACHTABLE_INSTOS, rpmDumpMacroTable(), rpmGetVar(), rpmIsVerbose, rpmSetMachine(), rpmSetTables(), rpmShowRpmlibProvides(), tables, and rpmOption::var. Referenced by main().

## Variable Documentation

const char* macrofiles

| List of macro files to read when configuring rpm. This is a colon separated list of files. URI's are permitted as well, identified by the token '://', so file paths must not begin with '//'. Definition at line 28 of file rpmrc.c.

const char* macrofiles

| List of macro files to read when configuring rpm. This is a colon separated list of files. URI's are permitted as well, identified by the token '://', so file paths must not begin with '//'. Definition at line 28 of file rpmrc.c. Referenced by rpmInitMacros().