rpm  5.2.1
Data Structures | Macros | Functions | Variables
parseSpec.c File Reference

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

#include "system.h"
#include <rpmio_internal.h>
#include <rpmcb.h>
#include <argv.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
 

Macros

#define _RPMTAG_INTERNAL   /* XXX rpmTags->aTags */
 

Functions

static void initParts (struct PartRec *p)
 
rpmParseState isPart (Spec spec)
 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 restoreFirstChar (Spec spec)
 
static int copyNextLineFromOFI (Spec spec, OFI_t *ofi, rpmStripFlags strip)
 
static int copyNextLineFinish (Spec spec, int strip)
 
static int readLineFromOFI (Spec spec, OFI_t *ofi)
 
int readLine (Spec spec, rpmStripFlags strip)
 Read next line from spec file. More...
 
void closeSpec (Spec spec)
 Stop reading from spec file, freeing resources. More...
 
static int genSourceRpmName (Spec spec)
 
int parseSpec (rpmts ts, const char *specFile, const char *rootURL, int recursing, const char *passPhrase, const 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.

Macro Definition Documentation

#define _RPMTAG_INTERNAL   /* XXX rpmTags->aTags */

Definition at line 12 of file parseSpec.c.

Function Documentation

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

Definition at line 148 of file parseSpec.c.

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

Referenced by readLine().

static int genSourceRpmName ( Spec  spec)
inlinestatic
static void initParts ( struct PartRec p)
inlinestatic

Definition at line 57 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 117 of file parseSpec.c.

References SKIPNONSPACE, SKIPSPACE, and xstrncasecmp().

Referenced by readLine().

static int readLineFromOFI ( Spec  spec,
OFI_t ofi 
)
static
static int restoreFirstChar ( Spec  spec)
static

Definition at line 161 of file parseSpec.c.

References Spec_s::nextline, and Spec_s::nextpeekc.

Referenced by readLine().

Variable Documentation

int noLang

Definition at line 61 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"},
{ PART_SANITYCHECK, 0, "%sanitycheck"},
{0, 0, 0}
}

Referenced by isPart().