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

build/parsePreamble.c File Reference

Parse tags in global section from spec file. More...

#include "system.h"
#include <rpmio_internal.h>
#include <rpmbuild.h>
#include "debug.h"

Go to the source code of this file.

Data Structures

struct  optionalTag
struct  PreambleRec_s
struct  tokenBits_s

Defines

#define SINGLE_TOKEN_ONLY

Typedefs

typedef struct tokenBits_s *  tokenBits
typedef struct PreambleRec_s *  PreambleRec

Functions

void addOrAppendListEntry (Header h, int_32 tag, char *line)
int parseSimplePart (char *line, char **name, int *flag)
int parseYesNo (const char *s)
int parseBits (const char *s, const tokenBits tokbits, rpmsenseFlags *bp)
char* findLastChar (char *s)
int isMemberInEntry (Header h, const char *name, rpmTag tag)
int checkForValidArchitectures (Spec spec)
int checkForRequired (Header h, const char *NVR)
 Check that required tags are present in header. More...

int checkForDuplicates (Header h, const char *NVR)
 Check that no duplicate tags are present in header. More...

void fillOutMainPackage (Header h)
int readIcon (Header h, const char *file)
spectag stashSt (Spec spec, Header h, int tag, const char *lang)
int handlePreambleTag (Spec spec, Package pkg, int tag, const char *macro, const char *lang)
void initPreambleList (void)
int findPreambleTag (Spec spec, int *tag, const char **macro, char *lang)
int parsePreamble (Spec spec, int initialPackage)

Variables

rpmTag copyTagsDuringParse []
rpmTag requiredTags []
struct tokenBits_s installScriptBits []
struct tokenBits_s buildScriptBits []
struct optionalTag  optionalTags []
int noLang
struct PreambleRec_s preambleList []


Detailed Description

Parse tags in global section from spec file.

Definition in file parsePreamble.c.


Define Documentation

#define SINGLE_TOKEN_ONLY
 

Value:

if (multiToken) { \
    rpmError(RPMERR_BADSPEC, _("line %d: Tag takes single token only: %s\n"), \
             spec->lineNum, spec->line); \
    return RPMERR_BADSPEC; \
}

Definition at line 421 of file parsePreamble.c.


Typedef Documentation

typedef struct PreambleRec_s * PreambleRec
 

typedef struct tokenBits_s * tokenBits
 


Function Documentation

void addOrAppendListEntry ( Header h,
int_32 tag,
char * line ) [static]
 

Definition at line 48 of file parsePreamble.c.

Referenced by handlePreambleTag().

int checkForDuplicates ( Header h,
const char * NVR ) [static]
 

Check that no duplicate tags are present in header.

Parameters:
h   header
NVR   package name-version-release
Returns:
0 if OK

Definition at line 279 of file parsePreamble.c.

Referenced by parsePreamble().

int checkForRequired ( Header h,
const char * NVR ) [static]
 

Check that required tags are present in header.

Parameters:
h   header
NVR   package name-version-release
Returns:
0 if OK

Definition at line 255 of file parsePreamble.c.

Referenced by parsePreamble().

int checkForValidArchitectures ( Spec spec ) [static]
 

Definition at line 211 of file parsePreamble.c.

Referenced by parsePreamble().

void fillOutMainPackage ( Header h ) [static]
 

Definition at line 316 of file parsePreamble.c.

Referenced by parsePreamble().

char * findLastChar ( char * s ) [inline, static]
 

Definition at line 172 of file parsePreamble.c.

Referenced by handlePreambleTag().

int findPreambleTag ( Spec spec,
int * tag,
const char ** macro,
char * lang ) [static]
 

Definition at line 755 of file parsePreamble.c.

Referenced by parsePreamble().

int handlePreambleTag ( Spec spec,
Package pkg,
int tag,
const char * macro,
const char * lang ) [static]
 

Definition at line 434 of file parsePreamble.c.

Referenced by parsePreamble().

void initPreambleList ( void ) [inline, static]
 

Definition at line 745 of file parsePreamble.c.

Referenced by findPreambleTag().

int isMemberInEntry ( Header h,
const char * name,
rpmTag tag ) [static]
 

Definition at line 190 of file parsePreamble.c.

Referenced by checkForValidArchitectures().

int parseBits ( const char * s,
const tokenBits tokbits,
rpmsenseFlags * bp ) [static]
 

Definition at line 136 of file parsePreamble.c.

Referenced by handlePreambleTag().

int parseSimplePart ( char * line,
char ** name,
int * flag ) [static]
 

Definition at line 65 of file parsePreamble.c.

Referenced by parsePreamble().

int parseYesNo ( const char * s ) [inline, static]
 

Definition at line 97 of file parsePreamble.c.

Referenced by handlePreambleTag().

int readIcon ( Header h,
const char * file ) [static]
 

Definition at line 333 of file parsePreamble.c.

Referenced by handlePreambleTag().


Variable Documentation

struct tokenBits_s buildScriptBits [static]
 

Initial value:

 {
    { "prep",           RPMSENSE_SCRIPT_PREP },
    { "build",          RPMSENSE_SCRIPT_BUILD },
    { "install",        RPMSENSE_SCRIPT_INSTALL },
    { "clean",          RPMSENSE_SCRIPT_CLEAN },
    { NULL, 0 }
}

Definition at line 126 of file parsePreamble.c.

rpmTag copyTagsDuringParse [static]
 

Initial value:

 {
    RPMTAG_EPOCH,
    RPMTAG_VERSION,
    RPMTAG_RELEASE,
    RPMTAG_LICENSE,
    RPMTAG_PACKAGER,
    RPMTAG_DISTRIBUTION,
    RPMTAG_DISTURL,
    RPMTAG_VENDOR,
    RPMTAG_ICON,
    RPMTAG_URL,
    RPMTAG_CHANGELOGTIME,
    RPMTAG_CHANGELOGNAME,
    RPMTAG_CHANGELOGTEXT,
    RPMTAG_PREFIXES,
    0
}

Definition at line 16 of file parsePreamble.c.

struct tokenBits_s installScriptBits [static]
 

Initial value:

 {
    { "interp",         RPMSENSE_INTERP },
    { "prereq",         RPMSENSE_PREREQ },
    { "preun",          RPMSENSE_SCRIPT_PREUN },
    { "pre",            RPMSENSE_SCRIPT_PRE },
    { "postun",         RPMSENSE_SCRIPT_POSTUN },
    { "post",           RPMSENSE_SCRIPT_POST },
    { "rpmlib",         RPMSENSE_RPMLIB },
    { "verify",         RPMSENSE_SCRIPT_VERIFY },
    { NULL, 0 }
}

Definition at line 112 of file parsePreamble.c.

int noLang
 

Definition at line 429 of file parsePreamble.c.

struct optionalTag optionalTags [static]
 

struct PreambleRec_s preambleList [static]
 

Definition at line 697 of file parsePreamble.c.

rpmTag requiredTags [static]
 

Initial value:

 {
    RPMTAG_NAME,
    RPMTAG_VERSION,
    RPMTAG_RELEASE,
    RPMTAG_SUMMARY,
    RPMTAG_GROUP,
    RPMTAG_LICENSE,
    0
}

Definition at line 36 of file parsePreamble.c.


Generated at Thu Sep 6 11:25:44 2001 for rpm by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001