# build.c File Reference

`#include "system.h"`
`#include <libgen.h>`
`#include <rpm/rpmcli.h>`
`#include <rpm/rpmtag.h>`
`#include <rpm/rpmlib.h>`
`#include <rpm/rpmbuild.h>`
`#include <rpm/rpmps.h>`
`#include <rpm/rpmte.h>`
`#include <rpm/rpmts.h>`
`#include <rpm/rpmfileutil.h>`
`#include <rpm/rpmlog.h>`
`#include <lib/misc.h>`
`#include "build.h"`
`#include "debug.h"`

Include dependency graph for build.c:

Go to the source code of this file.

## Defines
#define | _anyarch(_f) (((_f)&(RPMBUILD_PREP|RPMBUILD_BUILD|RPMBUILD_INSTALL|RPMBUILD_PACKAGEBINARY)) == 0)
#define | buildCleanMask (RPMBUILD_RMSOURCE|RPMBUILD_RMSPEC)
## Functions
static int | checkSpec (rpmts ts, Header h)
| Parse spec file and build package.
static int | isSpecFile (const char *specfile)
static char * | getTarSpec (const char *arg)
static int | buildForTarget (rpmts ts, const char *arg, BTA_t ba)
int | build (rpmts ts, const char *arg, BTA_t ba, const char *rcfile)

## Define Documentation

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

Referenced by buildForTarget().

#define buildCleanMask (RPMBUILD_RMSOURCE|RPMBUILD_RMSPEC)

Referenced by build().

## Function Documentation

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

Definition at line 293 of file build.c.

References _, _RPMVSF_NODIGESTS, _RPMVSF_NOSIGNATURES, rpmBuildArguments_s::buildAmount, buildCleanMask, buildForTarget(), rpmBuildArguments_s::qva_flags, rpmExpandNumeric(), rpmFreeMacros(), rpmFreeRpmrc(), rpmReadConfigFiles(), rpmtsSetVSFlags(), RPMVSF_NOHDRCHK, rpmBuildArguments_s::targets, VERIFY_DIGEST, VERIFY_HDRCHK, VERIFY_SIGNATURE, and xmalloc().

Referenced by main().

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

Definition at line 172 of file build.c.

References _, _anyarch, addMacro(), rpmBuildArguments_s::buildAmount, rpmBuildArguments_s::buildMode, rpmBuildArguments_s::buildRootOverride, buildSpec(), checkSpec(), rpmBuildArguments_s::cookie, doRmSource(), rpmBuildArguments_s::force, freeSpec(), getTarSpec(), initSourceHeader(), isSpecFile(), rpmBuildArguments_s::noBuild, rpmBuildArguments_s::noDeps, parseSpec(), rpmBuildArguments_s::passPhrase, rasprintf(), RMIL_TARBALL, rpmBuildArguments_s::rootdir, RPM_MACHTABLE_BUILDARCH, RPM_MACHTABLE_BUILDOS, RPMBUILD_RMSOURCE, RPMBUILD_RMSPEC, rpmGenPath(), rpmGetCwd(), rpmlog(), RPMLOG_ERR, rpmMkdirs(), RPMRC_OK, rpmSetTables(), rpmtsRootDir(), rpmtsSetSpec(), rstrscat(), rpmSpec_s::sourceHeader, and xstrdup().

Referenced by build().

static char* getTarSpec | ( | const char * | arg | ) | `[static]`

Definition at line 102 of file build.c.

References _, isSpecFile(), rasprintf(), rpmExpand(), rpmGetPath(), rpmlog(), and RPMLOG_ERR.

Referenced by buildForTarget().

static int isSpecFile | ( | const char * | specfile | ) | `[static]`

Definition at line 55 of file build.c.

References _, errno, rpmlog(), and RPMLOG_ERR.

Referenced by buildForTarget(), and getTarSpec().