build.c File Reference
RPMBUILD.

Top-level build dispatcher. More...

`#include "system.h"`
`#include <rpmio.h>`
`#include <rpmiotypes.h>`
`#include <rpmcb.h>`
`#include <rpmurl.h>`
`#include <rpmtypes.h>`
`#include <rpmtag.h>`
`#include <rpmbuild.h>`
`#include "rpmps.h"`
`#include "rpmte.h"`
`#include "rpmts.h"`
`#include "build.h"`
`#include <rpmcli.h>`
`#include "debug.h"`
`#include <rpmio_internal.h>`
`#include "signature.h"`
Include dependency graph for build.c:

Go to the source code of this file.

## Macros

#define | _anyarch(_f) (((_f)&(RPMBUILD_PREP|RPMBUILD_BUILD|RPMBUILD_INSTALL|RPMBUILD_PACKAGEBINARY)) == 0)
#define | buildCleanMask (RPMBUILD_RMSOURCE|RPMBUILD_RMSPEC)
#define | _RPMTAG_INTERNAL

## Functions

static int | checkSpec (rpmts ts, Header h)
| Parse spec file and build package. More...
static int | isSpecFile (const char *specfile)
static int | buildForTarget (rpmts ts, const char *arg, BTA_t ba)
int | build (rpmts ts, const char *arg, BTA_t ba, const char *rcfile)
const char * | getSourceDir (rpmfileAttrs attr)
| Return the macro directory location from source file flags. More...
static void | doRmSource (Spec spec)
rpmRC | doScript (Spec spec, int what, const char *name, rpmiob iob, int test)
| Run a build script, assembled from spec file scriptlet section. More...
rpmRC | buildSpec (rpmts ts, Spec spec, int what, int test)
| Build stages state machine driver. More...

## Variables

static int | _build_debug = 0

## Detailed Description

Top-level build dispatcher.

Definition in file build.c.

## Macro Definition Documentation

#define _anyarch | ( |  | _f | ) | (((_f)&(RPMBUILD_PREP|RPMBUILD_BUILD|RPMBUILD_INSTALL|RPMBUILD_PACKAGEBINARY)) == 0)

#define _RPMTAG_INTERNAL

Definition at line 10 of file build.c.

#define buildCleanMask (RPMBUILD_RMSOURCE|RPMBUILD_RMSPEC)

## Function Documentation

int build | ( | rpmts | ts,
|  | const char * | arg,
|  | BTA_t | ba,
|  | const char * | rcfile
| ) |  |

Definition at line 260 of file build.c.

Referenced by main().

static int buildForTarget | ( | rpmts | ts,
|  | const char * | arg,
|  | BTA_t | ba
| ) |  |

static

Definition at line 102 of file build.c.

References Spec_s::build, Spec_s::check, Spec_s::clean, Spec_s::foo, Spec_s::install, Spec_s::nfoo, Spec_s::prep, RPMBUILD_BUILD, RPMBUILD_CHECK, RPMBUILD_CLEAN, RPMBUILD_INSTALL, RPMBUILD_PREP, RPMBUILD_RMBUILD, RPMBUILD_STRINGBUF, RPMBUILD_TRACK, and xstrcasecmp().

static void doRmSource | ( | Spec | spec | ) |

static

Definition at line 59 of file build.c.

Referenced by buildSpec().

static int isSpecFile | ( | const char * | specfile | ) |

static

Definition at line 60 of file build.c.

References _free(), Source::flags, getSourceDir(), Source::next, RPMFILE_GHOST, rpmGenPath(), Source::source, Spec_s::sources, Spec_s::specFile, and Unlink().

## Variable Documentation

int _build_debug = 0

static

Definition at line 17 of file build.c.