RPMRC.


Files

file  rpmlib.h
 In Memoriam: Steve Taylor <staylor@redhat.com> 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 * rpmRcfiles
 The default rpmrc files to be read.
int rpmReadConfigFiles (const char *file, const char *target)
 Read macro configuration file(s) for a target.
void rpmGetArchInfo (const char **name, int *num)
void rpmGetOsInfo (const char **name, int *num)
int rpmMachineScore (int type, const char *name)
int rpmPlatformScore (const char *platform, void *mi_re, int mi_nre)
 Return score of a platform string.
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 rpmFreeRpmrc (void)
 Destroy rpmrc arch/os compatibility tables.

Functions

static void rpmSetVar (int var, const char *val)
 Set value of an rpmrc variable.
static int rpmReadRC (const char *rcfiles)
 Read rpmrc (and macro) configuration file(s).

Variables

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

Enumeration Type Documentation

enum rpm_machtable_e

Build and install arch/os table identifiers.

Deprecated:
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 522 of file rpmlib.h.


Function Documentation

void rpmFreeRpmrc ( void   ) 

Destroy rpmrc arch/os compatibility tables.

Todo:
Eliminate from API.

Definition at line 1805 of file rpmrc.c.

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

Referenced by build(), rpmcliFini(), and rpmspecQuery().

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

Deprecated:
Expand %{_host_cpu}/%{_target_cpu} for the canonical/current cpu. 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 1694 of file rpmrc.c.

References ARCH, and getMachineInfo().

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

Deprecated:
Expand %{_host_os}/%{_target_os} for the canonical/current os. 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 1699 of file rpmrc.c.

References getMachineInfo(), and OS.

int rpmMachineScore ( int  type,
const char *  name 
)

Deprecated:
Use rpmPlatformScore instead. 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.
Parameters:
type any of the RPM_MACHTABLE_* constants
name name
Returns:
arch score (0 is no match, lower is preferred)

Definition at line 1615 of file rpmrc.c.

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

Referenced by archScore().

int rpmPlatformScore ( const char *  platform,
void *  mi_re,
int  mi_nre 
)

Return score of a platform string.

A platform score measures the "nearness" of a platform string wrto configured platform patterns. The returned score is the line number of the 1st pattern in /etc/rpm/platform that matches the input string.

Parameters:
platform cpu-vendor-os platform string
mi_re pattern array (NULL uses /etc/rpm/platform patterns)
mi_nre no. of patterns
Returns:
platform score (0 is no match, lower is preferred)

Definition at line 1060 of file rpmrc.c.

References nplatpat, and platpat.

Referenced by rpmtsAddInstallElement().

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

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

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

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

References _, _free(), defaultsInitialized, doReadRC(), Ferror(), Fopen(), Fstrerror(), getenv(), RPMERR_RPMRC, rpmError, rpmExpand(), rpmGetVarArch(), rpmInitMacros(), rpmMacrofiles, rpmRcfiles, 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 1632 of file rpmrc.c.

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

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

References ARCH, currTables, defaultMachine(), OS, and rebuildCompatTables().

Referenced by buildForTarget(), rpmRebuildTargetVars(), and rpmShowRC().

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

Set value of an rpmrc variable.

Deprecated:
Use rpmDefineMacro() to change appropriate macro instead.

Definition at line 501 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 2013 of file rpmrc.c.

References _, _free(), 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, rpmcliRcfile, rpmdsCpuinfo(), rpmdsDNEVR(), rpmdsFree(), rpmdsFreePRCO(), rpmdsFromPRCO(), rpmdsGetconf(), rpmdsInit(), rpmdsNewPRCO(), rpmdsNext(), rpmdsRpmlib(), rpmdsSysinfo(), rpmdsUname(), rpmDumpMacroTable(), rpmExpand(), rpmGetVarArch(), rpmIsVerbose, rpmMacrofiles, rpmSetMachine(), rpmSetTables(), RPMTAG_PROVIDENAME, tables, and rpmOption::var.

Referenced by rpmcliAllArgCallback().


Variable Documentation

const char* rpmMacrofiles

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 52 of file macro.c.

Referenced by rpmReadRC(), and rpmShowRC().

const char* rpmRcfiles

The default rpmrc files to be read.

Deprecated:
The rpmrc files are no longer parsed by default.

Definition at line 27 of file rpmrc.c.

Referenced by init_rpm(), and rpmReadRC().


Generated on Fri Aug 31 12:48:33 2007 for rpm by  doxygen 1.5.1