rpmlib.h File Reference

In Memoriam: Steve Taylor stayl.nosp@m.or@r.nosp@m.edhat.nosp@m..com was here, now he's not. More...

`#include <popt.h>`
`#include <rpm/rpmio.h>`
`#include <rpm/header.h>`
`#include <rpm/rpmtag.h>`
`#include <rpm/rpmds.h>`
`#include <rpm/rpmpgp.h>`
Include dependency graph for rpmlib.h:

Go to the source code of this file.

## Variables

struct rpmMacroContext_s * | rpmGlobalMacroContext
struct rpmMacroContext_s * | rpmCLIMacroContext
const char *const | RPMVERSION
const char *const | rpmNAME
const char *const | rpmEVR
const int | rpmFLAGS

## RPMRC

#define | RPM_MACHTABLE_COUNT 4
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...
int | rpmReadConfigFiles (const char *file, const char *target)
| Read macro configuration file(s) for a target. More...
void | rpmGetArchInfo (const char **name, int *num)
| Return current arch name and/or number. More...
int | rpmGetArchColor (const char *arch)
| Return color for an arch. More...
void | rpmGetOsInfo (const char **name, int *num)
| Return current os name and/or number. More...
int | rpmMachineScore (int type, const char *name)
| Return arch/os score of a name. More...
int | rpmShowRC (FILE *fp)
| Display current rpmrc (and macro) configuration. More...
void | rpmFreeRpmrc (void)
| Destroy rpmrc arch/os compatibility tables. More...
int | rpmVersionCompare (Header first, Header second)
| Compare headers to determine which header is "newer". More...
rpmRC | headerCheck (rpmts ts, const void *uh, size_t uc, char **msg)
| Check header consistency, performing headerGetEntry() the hard way. More...
rpmRC | rpmReadHeader (rpmts ts, FD_t fd, Header *hdrp, char **msg)
| Return checked and loaded header. More...
rpmRC | rpmReadPackageFile (rpmts ts, FD_t fd, const char *fn, Header *hdrp)
| Return package header from file handle, verifying digests/signatures. More...
rpmRC | rpmInstallSourcePackage (rpmts ts, FD_t fd, char **specFilePtr, char **cookie)
| Install source package. More...
int | rpmvercmp (const char *a, const char *b)
| Segmented string compare for version or release strings. More...

## Detailed Description

In Memoriam: Steve Taylor stayl.nosp@m.or@r.nosp@m.edhat.nosp@m..com was here, now he's not.

Definition in file rpmlib.h.

## Macro Definition Documentation

#define RPM_MACHTABLE_COUNT 4

No. of arch/os tables.

Definition at line 51 of file rpmlib.h.

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

## Function Documentation

rpmRC headerCheck | ( | rpmts | ts,
|  | const void * | uh,
|  | size_t | uc,
|  | char ** | msg
| ) |  |

Check header consistency, performing headerGetEntry() the hard way.

Sanity checks on the header are performed while looking for a header-only digest or signature to verify the blob. If found, the digest or signature is verified.

Parameters

  ts | transaction set
  uh | unloaded header blob
  uc | no. of bytes in blob (or 0 to disable)

Return values

  *msg | verification error message (or NULL)

Returns
  RPMRC_OK on success

void rpmFreeRpmrc | ( | void |  | ) |

Destroy rpmrc arch/os compatibility tables.

Todo:
  Eliminate from API.

Referenced by build(), and main().

int rpmGetArchColor | ( | const char * | arch | ) |

Return color for an arch.

Parameters

  arch | name of an architecture

Returns
  color color of arch, -1 if the arch couldn't be determined

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)

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)

rpmRC rpmInstallSourcePackage | ( | rpmts | ts,
|  | FD_t | fd,
|  | char ** | specFilePtr,
|  | char ** | cookie
| ) |  |

Install source package.

Parameters

  ts | transaction set
  fd | file handle

Return values

  specFilePtr | address of spec file name (or NULL)
  cookie | address of cookie pointer (or NULL)

Returns
  rpmRC return code

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)

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

Referenced by build(), and main().

rpmRC rpmReadHeader | ( | rpmts | ts,
|  | FD_t | fd,
|  | Header * | hdrp,
|  | char ** | msg
| ) |  |

Return checked and loaded header.

Parameters

  ts | transaction set
  fd | file handle

Return values

  hdrp | address of header (or NULL)
  *msg | verification error message (or NULL)

Returns
  RPMRC_OK on success

rpmRC rpmReadPackageFile | ( | rpmts | ts,
|  | FD_t | fd,
|  | const char * | fn,
|  | Header * | hdrp
| ) |  |

Return package header from file handle, verifying digests/signatures.

Parameters

  ts | transaction set
  fd | file handle
  fn | file name

Return values

  hdrp | address of header (or NULL)

Returns
  RPMRC_OK on success

Referenced by main(), and process_package().

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

Display current rpmrc (and macro) configuration.

Parameters

  fp | output file handle

Returns
  0 always

int rpmvercmp | ( | const char * | a,
|  | const char * | b
| ) |  |

Segmented string compare for version or release strings.

Parameters

  a | 1st string
  b | 2nd string

Returns
  +1 if a is "newer", 0 if equal, -1 if b is "newer"

int rpmVersionCompare | ( | Header | first,
|  | Header | second
| ) |  |

Compare headers to determine which header is "newer".

Parameters

  first | 1st header
  second | 2nd header

Returns
  result of comparison

## Variable Documentation

struct rpmMacroContext_s* rpmCLIMacroContext

const char* const rpmEVR

Referenced by printVersion().

const int rpmFLAGS

struct rpmMacroContext_s* rpmGlobalMacroContext

const char* const rpmNAME

const char* const RPMVERSION