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

build/parsePrep.c File Reference

Parse prep 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.

Functions

int checkOwners (const char *urlfn)
 Check that file owner and group are known.

char * doPatch (Spec spec, int c, int strip, const char *db, int reverse, int removeEmpties)
 Expand patchN macro into prep scriptlet.

const char * doUntar (Spec spec, int c, int quietly)
 Expand setup macro into prep scriptlet.

int doSetupMacro (Spec spec, char *line)
 Parse setup macro.

int doPatchMacro (Spec spec, char *line)
 Parse patch line.

int parsePrep (Spec spec)

Variables

int leaveDirs
int skipDefaultAction
int createDir
int quietly
const char * dirName = NULL
poptOption optionsTable []


Detailed Description

Parse prep section from spec file.

Definition in file parsePrep.c.


Function Documentation

int checkOwners const char *    urlfn [static]
 

Check that file owner and group are known.

Parameters:
urlfn  file url
Returns:
0 on success

Definition at line 38 of file parsePrep.c.

References _, errno, getGname(), getUname(), Lstat(), RPMERR_BADSPEC, and rpmError.

Referenced by doPatch(), and doUntar().

char* doPatch Spec    spec,
int    c,
int    strip,
const char *    db,
int    reverse,
int    removeEmpties
[static]
 

Expand patchN macro into prep scriptlet.

Parameters:
spec  build info
c  patch index
strip  patch level (i.e. patch -p argument)
db  saved file suffix (i.e. patch --suffix argument)
reverse  include -R?
removeEmpties  include -E?
Returns:
expanded patch macro (NULL on error)

Definition at line 67 of file parsePrep.c.

References _, _free(), checkOwners(), COMPRESSED_BZIP2, COMPRESSED_NOT, COMPRESSED_ZIP, Source::flags, SpecStruct::force, isCompressed(), Source::next, Source::num, RPMBUILD_ISPATCH, rpmCompressedMagic, RPMERR_BADSPEC, rpmError, rpmGetPath(), snprintf(), Source::source, SpecStruct::sources, URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, urlPath(), and urltype.

Referenced by doPatchMacro().

int doPatchMacro Spec    spec,
char *    line
[static]
 

Parse patch line.

Parameters:
spec  build info
line  current line from spec file
Returns:
0 on success

Definition at line 447 of file parsePrep.c.

References _, appendLineStringBuf, doPatch(), SpecStruct::line, SpecStruct::lineNum, parseNum(), SpecStruct::prep, RPMERR_BADSPEC, rpmError, and snprintf().

Referenced by parsePrep().

int doSetupMacro Spec    spec,
char *    line
[static]
 

Parse setup macro.

Todo:
FIXME: Option -q broken when not immediately after setup.
Parameters:
spec  build info
line  current line from spec file
Returns:
0 on success

Definition at line 291 of file parsePrep.c.

References _, _free(), addMacro(), appendLineStringBuf, appendStringBuf, SpecStruct::buildSubdir, createDir, dirName, doUntar(), freeStringBuf(), PackageStruct::header, headerNVR(), leaveDirs, SpecStruct::lineNum, SpecStruct::macros, MKDIR_P, newStringBuf(), optionsTable, SpecStruct::packages, parseNum(), SpecStruct::prep, quietly, RMIL_SPEC, SpecStruct::rootURL, RPMERR_BADSPEC, rpmError, rpmExpand(), rpmGenPath(), skipDefaultAction, snprintf(), urlPath(), and xstrdup().

Referenced by parsePrep().

const char* doUntar Spec    spec,
int    c,
int    quietly
[static]
 

Expand setup macro into prep scriptlet.

Parameters:
spec  build info
c  source index
quietly  should -vv be omitted from tar?
Returns:
expanded setup macro (NULL on error)

Definition at line 172 of file parsePrep.c.

References _, _free(), checkOwners(), COMPRESSED_BZIP2, COMPRESSED_NOT, COMPRESSED_ZIP, errno, Source::flags, SpecStruct::force, Source::fullSource, isCompressed(), Lstat(), Source::next, Source::num, quietly, RPMBUILD_ISSOURCE, rpmCompressedMagic, RPMERR_BADFILENAME, RPMERR_BADSPEC, rpmError, rpmGetPath(), rpmIsVerbose, RPMTAG_NOSOURCE, snprintf(), Source::source, SpecStruct::sources, URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, urlGetFile(), urlPath(), and urltype.

Referenced by doSetupMacro().


Variable Documentation

int createDir [static]
 

Definition at line 18 of file parsePrep.c.

Referenced by doSetupMacro().

const char* dirName = NULL [static]
 

Definition at line 20 of file parsePrep.c.

Referenced by doSetupMacro().

int leaveDirs [static]
 

Definition at line 16 of file parsePrep.c.

Referenced by doSetupMacro().

struct poptOption optionsTable[] [static]
 

Initial value:

 {
            { NULL, 'a', POPT_ARG_STRING, NULL, 'a',    NULL, NULL},
            { NULL, 'b', POPT_ARG_STRING, NULL, 'b',    NULL, NULL},
            { NULL, 'c', 0, &createDir, 0,              NULL, NULL},
            { NULL, 'D', 0, &leaveDirs, 0,              NULL, NULL},
            { NULL, 'n', POPT_ARG_STRING, &dirName, 0,  NULL, NULL},
            { NULL, 'T', 0, &skipDefaultAction, 0,      NULL, NULL},
            { NULL, 'q', 0, &quietly, 0,                NULL, NULL},
            { 0, 0, 0, 0, 0,    NULL, NULL}
    }

Definition at line 22 of file parsePrep.c.

Referenced by doSetupMacro().

int quietly [static]
 

Definition at line 18 of file parsePrep.c.

Referenced by doSetupMacro(), and doUntar().

int skipDefaultAction [static]
 

Definition at line 16 of file parsePrep.c.

Referenced by doSetupMacro().


Generated on Sun Feb 2 23:32:07 2003 for rpm by doxygen1.2.18