Main Page   Modules   Compound List   File List   Compound Members   File Members   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.

Compounds

struct  optionalTag
struct  PreambleRec
struct  tokenBits

Defines

#define SINGLE_TOKEN_ONLY

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, struct tokenBits * tokbits, int * bp)
char* findLastChar (char * s)
int isMemberInEntry (Header header, const char *name, int tag)
int checkForValidArchitectures (Spec spec)
int checkForRequired (Header h, const char *name)
int checkForDuplicates (Header h, const char *name)
void fillOutMainPackage (Header h)
int readIcon (Header h, const char *file)
struct spectagstashSt (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, char **macro, char *lang)
int parsePreamble (Spec spec, int initialPackage)

Variables

int_32 copyTagsDuringParse []
int requiredTags []
struct tokenBits installScriptBits []
struct tokenBits buildScriptBits []
struct optionalTag  optionalTags []
struct PreambleRec  preambleList []


Detailed Description

Parse tags in global section from spec file.

Definition in file parsePreamble.c.


Define Documentation

#define SINGLE_TOKEN_ONLY
 

Initializer:

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

Definition at line 395 of file parsePreamble.c.


Function Documentation

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

Definition at line 46 of file parsePreamble.c.

Referenced by handlePreambleTag().

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

Definition at line 254 of file parsePreamble.c.

Referenced by parsePreamble().

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

Definition at line 235 of file parsePreamble.c.

Referenced by parsePreamble().

int checkForValidArchitectures ( Spec spec ) [static]
 

Definition at line 196 of file parsePreamble.c.

Referenced by parsePreamble().

void fillOutMainPackage ( Header h ) [static]
 

Definition at line 294 of file parsePreamble.c.

Referenced by parsePreamble().

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

Definition at line 164 of file parsePreamble.c.

Referenced by handlePreambleTag().

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

Definition at line 714 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 406 of file parsePreamble.c.

Referenced by parsePreamble().

void initPreambleList ( void ) [inline, static]
 

Definition at line 705 of file parsePreamble.c.

Referenced by findPreambleTag().

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

Definition at line 179 of file parsePreamble.c.

Referenced by checkForValidArchitectures().

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

Definition at line 131 of file parsePreamble.c.

Referenced by handlePreambleTag().

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

Definition at line 62 of file parsePreamble.c.

Referenced by parsePreamble().

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

Definition at line 93 of file parsePreamble.c.

Referenced by handlePreambleTag().

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

Definition at line 310 of file parsePreamble.c.

Referenced by handlePreambleTag().


Variable Documentation

struct tokenBits buildScriptBits[] [static]
 

Initializer:

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

Definition at line 121 of file parsePreamble.c.

int_32 copyTagsDuringParse[] [static]
 

Initializer:

{
    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 14 of file parsePreamble.c.

struct tokenBits installScriptBits[] [static]
 

Initializer:

{
    { "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 107 of file parsePreamble.c.

struct optionalTag optionalTags[] [static]
 

struct PreambleRec preambleList[] [static]
 

int requiredTags[] [static]
 

Initializer:

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

Definition at line 34 of file parsePreamble.c.


Generated at Sun Apr 8 18:43:03 2001 for rpm by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000