rpm  5.4.15
Data Structures | Macros | Functions | Variables
hdrNVR.c File Reference
#include "system.h"
#include <rpmiotypes.h>
#include <rpmmacro.h>
#include "header_internal.h"
#include "debug.h"
Include dependency graph for hdrNVR.c:

Go to the source code of this file.

Data Structures

struct  tagMacro
 Macros to be defined from per-header tag values. More...
 

Macros

#define _RPMTAG_INTERNAL
 

Functions

int headerMacrosLoad (Header h)
 Define per-header macros. More...
 
int headerMacrosUnload (Header h)
 Define per-header macros. More...
 
int headerNEVRA (Header h, const char **np, const char **ep, const char **vp, const char **rp, const char **ap)
 Return name, epoch, version, release, arch strings from header. More...
 
rpmuint32_t hGetColor (Header h)
 Return header color. More...
 
void headerMergeLegacySigs (Header h, const Header sigh)
 Translate and merge legacy signature tags into header. More...
 
Header headerRegenSigHeader (const Header h, int noArchiveSize)
 Regenerate signature header. More...
 

Variables

static struct tagMacro tagMacros []
 

Macro Definition Documentation

#define _RPMTAG_INTERNAL

Definition at line 10 of file hdrNVR.c.

Function Documentation

int headerMacrosLoad ( Header  h)
int headerMacrosUnload ( Header  h)
void headerMergeLegacySigs ( Header  h,
const Header  sigh 
)
int headerNEVRA ( Header  h,
const char **  np,
const char **  ep,
const char **  vp,
const char **  rp,
const char **  ap 
)

Return name, epoch, version, release, arch strings from header.

Parameters
hheader
Return values
*npname pointer (or NULL)
*epepoch pointer (or NULL)
*vpversion pointer (or NULL)
*rprelease pointer (or NULL)
*aparch pointer (or NULL)
Returns
0 always

Definition at line 162 of file hdrNVR.c.

References _free(), alloca(), _HE_s::c, headerGet(), headerIsEntry(), _HE_s::p, rpmDataType_u::ptr, RPM_STRING_TYPE, RPMTAG_ARCH, RPMTAG_NAME, RPMTAG_RELEASE, RPMTAG_SOURCERPM, RPMTAG_VERSION, rpmDataType_u::str, _HE_s::t, _HE_s::tag, and xstrdup().

Referenced by doSetupMacro(), genSourceRpmName(), hGetNVRA(), providePackageNVR(), rpmdsNVRMatchesDep(), rpmdsThis(), and writeRPM().

Header headerRegenSigHeader ( const Header  h,
int  noArchiveSize 
)

Regenerate signature header.

Todo:
Remove headerSort() through headerInitIterator() modifies h.
Parameters
hheader
noArchiveSizedon't copy archive size tag (pre rpm-4.1)
Returns
regenerated signature header

Definition at line 313 of file hdrNVR.c.

References _free(), alloca(), HEADER_SIGBASE, HEADER_TAGBASE, headerFini(), headerInit(), headerIsEntry(), headerNew(), headerNext(), headerPut(), _HE_s::p, rpmDataType_u::ptr, RPMSIGTAG_MD5, RPMSIGTAG_PAYLOADSIZE, RPMSIGTAG_SIZE, RPMTAG_ARCHIVESIZE, RPMTAG_DSAHEADER, RPMTAG_ECDSAHEADER, RPMTAG_RSAHEADER, RPMTAG_SHA1HEADER, RPMTAG_SIGMD5, RPMTAG_SIGSIZE, and _HE_s::tag.

Referenced by rpmpsmStage().

rpmuint32_t hGetColor ( Header  h)

Return header color.

Parameters
hheader
Returns
header color

Definition at line 223 of file hdrNVR.c.

References _free(), alloca(), _HE_s::c, headerGet(), i, _HE_s::p, rpmDataType_u::ptr, RPMTAG_FILECOLORS, _HE_s::tag, and rpmDataType_u::ui32p.

Referenced by rpmtsAddInstallElement(), rpmtsAddObsoletes(), and rpmtsAddUpgrades().

Variable Documentation

struct tagMacro tagMacros[]
static
Initial value:
= {
{ "name", RPMTAG_NAME },
{ "version", RPMTAG_VERSION },
{ "release", RPMTAG_RELEASE },
{ "distepoch", RPMTAG_DISTEPOCH },
{ "epoch", RPMTAG_EPOCH },
{ "arch", RPMTAG_ARCH },
{ "os", RPMTAG_OS },
{ NULL, (rpmTag) 0 }
}
enum rpmTag_e rpmTag
Definition: rpmtag.h:470

Referenced by headerMacrosLoad(), and headerMacrosUnload().