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. More...
 
static int matchTok (const char *token, const char *line)
 
void handleComments (char *s)
 Truncate comment lines. More...
 
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. More...
 
void closeSpec (Spec spec)
 Stop reading from spec file, freeing resources. More...
 
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. More...
 

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().