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

# RPMRC.

## Files

file | macro.c
file | rpmlib.h

## 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

int | rpmReadRC (const char *rcfiles)

## 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 554 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.

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 RPMTRANS_FLAG_DIRSTASH, RPMTRANS_FLAG_KEEPOBSOLETE, and RPMTRANS_FLAG_MULTILIB.

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.

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 RPMTRANS_FLAG_APPLYONLY, RPMTRANS_FLAG_CHAINSAW, RPMTRANS_FLAG_COMMIT, RPMTRANS_FLAG_NOMD5, RPMTRANS_FLAG_NOPAYLOAD, RPMTRANS_FLAG_NOPOST, RPMTRANS_FLAG_NOPOSTUN, RPMTRANS_FLAG_NOPRE, RPMTRANS_FLAG_NOPREUN, RPMTRANS_FLAG_NOTRIGGERIN, RPMTRANS_FLAG_NOTRIGGERPOSTUN, RPMTRANS_FLAG_NOTRIGGERPREIN, RPMTRANS_FLAG_NOTRIGGERUN, RPMTRANS_FLAG_PKGCOMMIT, RPMTRANS_FLAG_PKGUNDO, RPMTRANS_FLAG_REPACKAGE, RPMTRANS_FLAG_REVERSE, and RPMTRANS_FLAG_UNDO.

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.

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.

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.

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, 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.

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.

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.

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.

## 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 547 of file rpmlib.h.