# rpmbuild.h File Reference

This is the *only* module users of librpmbuild should need to include. More...

`#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
typedef enum rpmParseState_e | rpmParseState

## Enumerations

enum | rpmBuildFlags_e { RPMBUILD_NONE = 0, RPMBUILD_PREP = (1 << 0), RPMBUILD_BUILD = (1 << 1), RPMBUILD_INSTALL = (1 << 2), RPMBUILD_CLEAN = (1 << 3), RPMBUILD_FILECHECK = (1 << 4), RPMBUILD_PACKAGESOURCE = (1 << 5), RPMBUILD_PACKAGEBINARY = (1 << 6), RPMBUILD_RMSOURCE = (1 << 7), RPMBUILD_RMBUILD = (1 << 8), RPMBUILD_STRINGBUF = (1 << 9), RPMBUILD_RMSPEC = (1 << 10) }
enum | rpmParseState_e { PART_NONE = 0, PART_PREAMBLE = 1, PART_PREP = 2, PART_BUILD = 3, PART_INSTALL = 4, PART_CLEAN = 5, PART_FILES = 6, PART_PRE = 7, PART_POST = 8, PART_PREUN = 9, PART_POSTUN = 10, PART_DESCRIPTION = 11, PART_CHANGELOG = 12, PART_TRIGGERIN = 13, PART_TRIGGERUN = 14, PART_VERIFYSCRIPT = 15, PART_BUILDARCHITECTURES = 16, PART_TRIGGERPOSTUN = 17, PART_LAST = 18 }

## Functions

void | freeNames (void)
const char * | getUname (uid_t uid)
const char * | getUnameS (const char *uname)
uid_t | getUidS (const char *uname)
const char * | getGname (gid_t gid)
const char * | getGnameS (const char *gname)
gid_t | getGidS (const char *gname)
const char *const | buildHost (void)
int_32 *const | getBuildTime (void)
int | readLine (Spec spec, int strip)
void | closeSpec (Spec spec)
void | handleComments (char *s)
rpmParseState | isPart (const char *line)
int | parseNum (const char *line, int *res)
void | addChangelogEntry (Header h, time_t time, const char *name, const char *text)
int | parseBuildInstallClean (Spec spec, rpmParseState parsePart)
int | parseChangelog (Spec spec)
int | parseDescription (Spec spec)
int | parseFiles (Spec spec)
int | parsePreamble (Spec spec, int initialPackage)
int | parsePrep (Spec spec)
int | parseRCPOT (Spec spec, Package pkg, const char *field, int tag, int index, rpmsenseFlags tagflags)
int | parseScript (Spec spec, int parsePart)
int | parseExpressionBoolean (Spec spec, const char *expr)
char * | parseExpressionString (Spec spec, const char *expr)
int | doScript (Spec spec, int what, const char *name, StringBuf sb, int test)
int | lookupPackage (Spec spec, const char *name, int flag, Package *pkg)
Package | newPackage (Spec spec)
Package | freePackages (Package packages)
Package | freePackage (Package pkg)
int | addReqProv (Spec spec, Header h, rpmsenseFlags depFlags, const char *depName, const char *depEVR, int index)
int | rpmlibNeedsFeature (Header h, const char *feature, const char *featureEVR)
int | processBinaryFiles (Spec spec, int installSpecialDoc, int test)
void | initSourceHeader (Spec spec)
int | processSourceFiles (Spec spec)
int | parseSpec (Spec *specp, const char *specFile, const char *rootURL, const char *buildRootURL, int recursing, const char *passPhrase, char *cookie, int anyarch, int force)
int | buildSpec (Spec spec, int what, int test)
int | packageBinaries (Spec spec)
int | packageSources (Spec spec)

## Variables

int(* | parseSpecVec )(Spec *specp, const char *specFile, const char *rootdir, const char *buildRoot, int recursing, const char *passPhrase, char *cookie, int anyarch, int force)

## Detailed Description

This is the *only* module users of librpmbuild should need to include.

Definition in file rpmbuild.h.

## Define Documentation

#define PART_NAME 1

| Definition at line 46 of file rpmbuild.h. Referenced by parseDescription(), parseFiles(), parseScript(), and parseSimplePart().

#define PART_SUBNAME 0

| Definition at line 45 of file rpmbuild.h. Referenced by lookupPackage(), parseDescription(), parseFiles(), parsePreamble(), parseScript(), and parseSimplePart().

#define SKIPNONSPACE | ( | s |  | ) | { while (*(s) && !xisspace(*(s))) (s)++; }

| Definition at line 43 of file rpmbuild.h. Referenced by addChangelog(), dateToTimet(), handlePreambleTag(), matchTok(), and readLine().

#define SKIPSPACE | ( | s |  | ) | { while (*(s) && xisspace(*(s))) (s)++; }

| Definition at line 42 of file rpmbuild.h. Referenced by addChangelog(), addSource(), dateToTimet(), findPreambleTag(), handleComments(), handlePreambleTag(), matchTok(), parseForAttr(), parseForConfig(), parseForDev(), parseForLang(), parseForVerify(), parsePreamble(), processPackageFiles(), processSourceFiles(), and readLine().

#define STRIP_COMMENTS (1 << 1)

| Definition at line 75 of file rpmbuild.h. Referenced by copyNextLine(), parseChangelog(), parseDescription(), parseFiles(), and parsePreamble().

#define STRIP_NOTHING 0

| Definition at line 73 of file rpmbuild.h. Referenced by parseBuildInstallClean(), parsePrep(), and parseScript().

#define STRIP_TRAILINGSPACE (1 << 0)

| Definition at line 74 of file rpmbuild.h. Referenced by copyNextLine(), parseDescription(), and parsePreamble().