RPMRC.


Files

file  rpmlib.h
 In Memoriam: Steve Taylor <[email protected]> was here, now he's not.
file  macro.c

RPMRC

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...
const char * rpmGetVar (int var)
 Return value of an rpmrc variable.
void rpmSetVar (int var, const char *val)
 Set value of an rpmrc variable.
int rpmReadConfigFiles (const char *file, const char *target)
 Read macro configuration file(s) for a target.
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.
int rpmMachineScore (int type, const char *name)
 Return arch/os score of a name.
int rpmShowRC (FILE *fp)
 Display current rpmrc (and macro) configuration.
void rpmSetTables (int archTable, int osTable)
void rpmSetMachine (const char *arch, const char *os)
 Set current arch/os names.
void rpmGetMachine (const char **arch, const char **os)
 Return current arch/os names.
void rpmFreeRpmrc (void)
 Destroy rpmrc arch/os compatibility tables.

Functions

static int rpmReadRC (const char *rcfiles)
 Read rpmrc (and macro) configuration file(s).

Variables

const char * macrofiles
 List of macro files to read when configuring rpm.

Enumeration Type Documentation

enum rpm_machtable_e

Build and install arch/os table identifiers.

Todo:
Eliminate from API.
Enumerator:
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 601 of file rpmlib.h.


Function Documentation

void rpmFreeRpmrc ( void   ) 

Destroy rpmrc arch/os compatibility tables.

Todo:
Eliminate from API.

Definition at line 1677 of file rpmrc.c.

References _free(), tableType_s::equiv, machEquivTable_s::list, machEquivInfo_s::name, nplatpat, platpat, RPM_MACHTABLE_COUNT, and tables.

Referenced by build(), and 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 1569 of file rpmrc.c.

References ARCH, and getMachineInfo().

Referenced by checkForValidArchitectures(), parseSpec(), readLine(), rpmpsmStage(), 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 1473 of file rpmrc.c.

References ARCH, current, and OS.

Referenced by archFilter(), and 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 1574 of file rpmrc.c.

References getMachineInfo(), and OS.

Referenced by checkForValidArchitectures(), parseSpec(), readLine(), rpmpsmStage(), 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 1379 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 1467 of file rpmrc.c.

References machEquivSearch(), machEquivInfo_s::score, and tables.

Referenced by addTE(), archFilter(), archOkay(), archScore(), osOkay(), and parseSpec().

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

References _free(), rpmExpand(), rpmReadRC(), rpmRebuildTargetVars(), and rpmSetMachine().

Referenced by build(), init_rpm(), main(), and rpmcliConfigured().

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

References _free(), ARCH, current, currTables, defaultMachine(), lookupInDefaultTable(), OS, rebuildCompatTables(), tables, and xstrdup().

Referenced by archFilter(), 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 1448 of file rpmrc.c.

References rpmvarValue::arch, ARCH, currTables, defaultMachine(), OS, and rebuildCompatTables().

Referenced by archFilter(), 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 1402 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 1881 of file rpmrc.c.

References ARCH, machEquivTable_s::count, 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 rpmcliAllArgCallback().


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.


Generated on Fri Oct 12 08:44:57 2007 for rpm by  doxygen 1.5.2