rpm  4.5
Data Structures | Functions | Variables
parseSpec.c File Reference

Top level dispatcher for spec file parsing. More...

#include "system.h"
#include <rpmio_internal.h>
#include <rpmbuild.h>
#include "rpmds.h"
#include "rpmts.h"
#include "debug.h"
Include dependency graph for parseSpec.c:

Go to the source code of this file.

Data Structures

struct  PartRec
 

Functions

static void initParts (struct PartRec *p)
 
rpmParseState isPart (const char *line)
 Check line for section separator, return next parser state.
 
static int matchTok (const char *token, const char *line)
 
void handleComments (char *s)
 Truncate comment lines.
 
static void forceIncludeFile (Spec spec, const char *fileName)
 
static int copyNextLine (Spec spec, OFI_t *ofi, int strip)
 
static const char * getAlternateArch (const char *arch)
 
int readLine (Spec spec, int strip)
 Read next line from spec file.
 
void closeSpec (Spec spec)
 Stop reading from spec file, freeing resources.
 
int parseSpec (rpmts ts, const char *specFile, const char *rootURL, int recursing, const char *passPhrase, char *cookie, int anyarch, int force, int verify)
 Parse spec file into spec control structure.
 

Variables

static struct PartRec partList []
 
int noLang
 

Detailed Description

Top level dispatcher for spec file parsing.

Definition in file parseSpec.c.

Function Documentation

static int copyNextLine ( Spec  spec,
OFI_t ofi,
int  strip 
)
static
static void forceIncludeFile ( Spec  spec,
const char *  fileName 
)
static

Definition at line 118 of file parseSpec.c.

References OpenFileInfo::fileName, Spec_s::fileStack, newOpenFileInfo(), OpenFileInfo::next, and xstrdup().

Referenced by readLine().

static const char* getAlternateArch ( const char *  arch)
static

Definition at line 238 of file parseSpec.c.

Referenced by readLine().

static void initParts ( struct PartRec p)
inlinestatic

Definition at line 51 of file parseSpec.c.

References PartRec::len, and PartRec::token.

Referenced by isPart().

static int matchTok ( const char *  token,
const char *  line 
)
static

Definition at line 83 of file parseSpec.c.

References SKIPNONSPACE, SKIPSPACE, and xstrncasecmp().

Referenced by readLine().

Variable Documentation

int noLang

Definition at line 52 of file poptBT.c.

struct PartRec partList[]
static
Initial value:
= {
{ PART_PREAMBLE, 0, "%package"},
{ PART_PREP, 0, "%prep"},
{ PART_BUILD, 0, "%build"},
{ PART_INSTALL, 0, "%install"},
{ PART_CHECK, 0, "%check"},
{ PART_CLEAN, 0, "%clean"},
{ PART_PREUN, 0, "%preun"},
{ PART_POSTUN, 0, "%postun"},
{ PART_PRETRANS, 0, "%pretrans"},
{ PART_POSTTRANS, 0, "%posttrans"},
{ PART_PRE, 0, "%pre"},
{ PART_POST, 0, "%post"},
{ PART_FILES, 0, "%files"},
{ PART_CHANGELOG, 0, "%changelog"},
{ PART_DESCRIPTION, 0, "%description"},
{ PART_TRIGGERPOSTUN, 0, "%triggerpostun"},
{ PART_TRIGGERPREIN, 0, "%triggerprein"},
{ PART_TRIGGERUN, 0, "%triggerun"},
{ PART_TRIGGERIN, 0, "%triggerin"},
{ PART_TRIGGERIN, 0, "%trigger"},
{ PART_VERIFYSCRIPT, 0, "%verifyscript"},
{0, 0, 0}
}

Referenced by isPart().