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

RPMRC.


Files

file  macro.c
file  rpmlib.h
 In Memoriam: Steve Taylor <staylor@redhat.com> was here, now he's not.


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)

Functions

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


Function Documentation

void rpmFreeRpmrc void   
 

Destroy rpmrc arch/os compatibility tables.

Todo:
Eliminate from API.

Definition at line 1641 of file rpmrc.c.

References _free(), rpmvarValue::arch, ARCH, tableType_s::cache, machCache_s::cache, tableType_s::canons, tableType_s::canonsLength, machEquivTable_s::count, machCacheEntry_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, nplatpat, OS, platpat, canonEntry_s::short_name, machCache_s::size, and rpmvarValue::value.

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 1533 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 1437 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 1538 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 1344 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 1431 of file rpmrc.c.

References machEquivSearch(), and machEquivInfo_s::score.

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

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

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

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

References _free(), ARCH, current, currTables, defaultMachine(), lookupInDefaultTable(), OS, rebuildCompatTables(), 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 1412 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 1367 of file rpmrc.c.

References freeRpmVar(), rpmvarValue::value, 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 1840 of file rpmrc.c.

References ARCH, machEquivTable_s::count, current, machEquivTable_s::list, machEquivInfo_s::name, rpmOption::name, optionTableSize, OS, RPM_MACHTABLE_BUILDARCH, RPM_MACHTABLE_BUILDOS, RPM_MACHTABLE_INSTARCH, RPM_MACHTABLE_INSTOS, rpmDumpMacroTable(), rpmGetVar(), rpmIsVerbose, rpmSetMachine(), rpmSetTables(), rpmShowRpmlibProvides(), 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 40 of file rpmmacro.h.


Generated on Sun Oct 26 13:02:10 2003 for rpm by doxygen1.2.18