#include "rpmcli.h"
#include "stringbuf.h"
#include "misc.h"
#include "rpmspec.h"
#include <ctype.h>
Go to the source code of this file.
Defines | |
#define | SKIPSPACE(s) { while (*(s) && xisspace(*(s))) (s)++; } |
#define | SKIPNONSPACE(s) { while (*(s) && !xisspace(*(s))) (s)++; } |
#define | PART_SUBNAME 0 |
#define | PART_NAME 1 |
#define | STRIP_NOTHING 0 |
#define | STRIP_TRAILINGSPACE (1 << 0) |
#define | STRIP_COMMENTS (1 << 1) |
Typedefs | |
typedef enum rpmBuildFlags_e | rpmBuildFlags |
Bit(s) to control buildSpec() operation. | |
typedef enum rpmParseState_e | rpmParseState |
Spec file parser states. | |
Enumerations | |
enum | rpmBuildFlags_e { RPMBUILD_NONE = 0, RPMBUILD_PREP = (1 << 0), RPMBUILD_BUILD = (1 << 1), RPMBUILD_INSTALL = (1 << 2), RPMBUILD_CHECK = (1 << 3), RPMBUILD_CLEAN = (1 << 4), RPMBUILD_FILECHECK = (1 << 5), RPMBUILD_PACKAGESOURCE = (1 << 6), RPMBUILD_PACKAGEBINARY = (1 << 7), RPMBUILD_RMSOURCE = (1 << 8), RPMBUILD_RMBUILD = (1 << 9), RPMBUILD_STRINGBUF = (1 << 10), RPMBUILD_RMSPEC = (1 << 11) } |
Bit(s) to control buildSpec() operation. More... | |
enum | rpmParseState_e { PART_NONE = 0, PART_PREAMBLE = 1, PART_PREP = 2, PART_BUILD = 3, PART_INSTALL = 4, PART_CHECK = 5, PART_CLEAN = 6, PART_FILES = 7, PART_PRE = 8, PART_POST = 9, PART_PREUN = 10, PART_POSTUN = 11, PART_PRETRANS = 12, PART_POSTTRANS = 13, PART_DESCRIPTION = 14, PART_CHANGELOG = 15, PART_TRIGGERIN = 16, PART_TRIGGERUN = 17, PART_VERIFYSCRIPT = 18, PART_BUILDARCHITECTURES = 19, PART_TRIGGERPOSTUN = 20, PART_LAST = 21 } |
Spec file parser states. More... | |
Functions | |
void | freeNames (void) |
Destroy uid/gid caches. | |
const char * | getUname (uid_t uid) |
Return cached user name from user id. | |
const char * | getUnameS (const char *uname) |
Return cached user name. | |
uid_t | getUidS (const char *uname) |
Return cached user id. | |
const char * | getGname (gid_t gid) |
Return cached group name from group id. | |
const char * | getGnameS (const char *gname) |
Return cached group name. | |
gid_t | getGidS (const char *gname) |
Return cached group id. | |
const char *const | buildHost (void) |
Return build hostname. | |
int_32 *const | getBuildTime (void) |
Return build time stamp. | |
int | readLine (Spec spec, int strip) |
Read next line from spec file. | |
void | closeSpec (Spec spec) |
Stop reading from spec file, freeing resources. | |
void | handleComments (char *s) |
Truncate comment lines. | |
rpmParseState | isPart (const char *line) |
Check line for section separator, return next parser state. | |
int | parseNum (const char *line, int *res) |
Parse a number. | |
void | addChangelogEntry (Header h, time_t time, const char *name, const char *text) |
Add changelog entry to header. | |
int | parseBuildInstallClean (Spec spec, rpmParseState parsePart) |
Parse %build/%install/%clean section(s) of a spec file. | |
int | parseChangelog (Spec spec) |
Parse %changelog section of a spec file. | |
int | parseDescription (Spec spec) |
Parse %description section of a spec file. | |
int | parseFiles (Spec spec) |
Parse %files section of a spec file. | |
int | parsePreamble (Spec spec, int initialPackage) |
Parse tags from preamble of a spec file. | |
int | parsePrep (Spec spec) |
Parse %prep section of a spec file. | |
int | parseRCPOT (Spec spec, Package pkg, const char *field, rpmTag tagN, int index, rpmsenseFlags tagflags) |
Parse dependency relations from spec file and/or autogenerated output buffer. | |
int | parseScript (Spec spec, int parsePart) |
Parse %pre et al scriptlets from a spec file. | |
int | parseExpressionBoolean (Spec spec, const char *expr) |
Evaluate boolean expression. | |
char * | parseExpressionString (Spec spec, const char *expr) |
Evaluate string expression. | |
int | doScript (Spec spec, int what, const char *name, StringBuf sb, int test) |
Run a build script, assembled from spec file scriptlet section. | |
int | lookupPackage (Spec spec, const char *name, int flag, Package *pkg) |
Find sub-package control structure by name. | |
Package | newPackage (Spec spec) |
Create and initialize package control structure. | |
Package | freePackages (Package packages) |
Destroy all packages associated with spec file. | |
Package | freePackage (Package pkg) |
Destroy package control structure. | |
int | addReqProv (Spec spec, Header h, rpmTag tagN, const char *N, const char *EVR, rpmsenseFlags Flags, int index) |
Add dependency to header, filtering duplicates. | |
int | rpmlibNeedsFeature (Header h, const char *feature, const char *featureEVR) |
Add rpmlib feature dependency. | |
int | processBinaryFiles (Spec spec, int installSpecialDoc, int test) |
Post-build processing for binary package(s). | |
void | initSourceHeader (Spec spec) |
Create and initialize header for source package. | |
int | processSourceFiles (Spec spec) |
Post-build processing for source package. | |
int | parseSpec (rpmts ts, const char *specFile, const char *rootURL, const char *buildRootURL, int recursing, const char *passPhrase, char *cookie, int anyarch, int force) |
Parse spec file into spec control structure. | |
int | buildSpec (rpmts ts, Spec spec, int what, int test) |
Build stages state machine driver. | |
int | packageBinaries (Spec spec) |
Generate binary package(s). | |
int | packageSources (Spec spec) |
Generate source package. |
Definition in file rpmbuild.h.
#define PART_NAME 1 |
Definition at line 47 of file rpmbuild.h.
Referenced by parseDescription(), parseFiles(), parseScript(), and parseSimplePart().
#define PART_SUBNAME 0 |
Definition at line 46 of file rpmbuild.h.
Referenced by lookupPackage(), parseDescription(), parseFiles(), parsePreamble(), parseScript(), and parseSimplePart().
#define SKIPNONSPACE | ( | s | ) | { while (*(s) && !xisspace(*(s))) (s)++; } |
Definition at line 44 of file rpmbuild.h.
Referenced by addChangelog(), dateToTimet(), handlePreambleTag(), matchTok(), and readLine().
#define SKIPSPACE | ( | s | ) | { while (*(s) && xisspace(*(s))) (s)++; } |
Definition at line 43 of file rpmbuild.h.
Referenced by addChangelog(), addSource(), dateToTimet(), handleComments(), handlePreambleTag(), matchTok(), parseForAttr(), parseForConfig(), parseForDev(), parseForLang(), parseForVerify(), parsePreamble(), processPackageFiles(), processSourceFiles(), and readLine().
#define STRIP_COMMENTS (1 << 1) |
Definition at line 79 of file rpmbuild.h.
Referenced by copyNextLine(), parseChangelog(), parseDescription(), parseFiles(), and parsePreamble().
#define STRIP_NOTHING 0 |
Definition at line 77 of file rpmbuild.h.
Referenced by parseBuildInstallClean(), parsePrep(), and parseScript().
#define STRIP_TRAILINGSPACE (1 << 0) |
Definition at line 78 of file rpmbuild.h.
Referenced by copyNextLine(), parseDescription(), and parsePreamble().