rpm  4.10.0
Defines | Enumerations | Functions | Variables
rpmbuild.c File Reference
#include "system.h"
#include <errno.h>
#include <libgen.h>
#include <ctype.h>
#include <rpm/rpmcli.h>
#include <rpm/rpmlib.h>
#include <rpm/rpmbuild.h>
#include <rpm/rpmlog.h>
#include <rpm/rpmfileutil.h>
#include <rpm/rpmdb.h>
#include <rpm/rpmps.h>
#include <rpm/rpmts.h>
#include "lib/signature.h"
#include "cliutils.h"
#include "debug.h"
Include dependency graph for rpmbuild.c:

Go to the source code of this file.

Defines

#define POPT_NOLANG   -1012
#define POPT_RMSOURCE   -1013
#define POPT_RMBUILD   -1014
#define POPT_BUILDROOT   -1015
#define POPT_TARGETPLATFORM   -1016
#define POPT_NOBUILD   -1017
#define POPT_RMSPEC   -1019
#define POPT_NODIRTOKENS   -1020
#define POPT_REBUILD   0x4220
#define POPT_RECOMPILE   0x4320
#define POPT_BA   0x6261
#define POPT_BB   0x6262
#define POPT_BC   0x6263
#define POPT_BI   0x6269
#define POPT_BL   0x626c
#define POPT_BP   0x6270
#define POPT_BS   0x6273
#define POPT_TA   0x7461
#define POPT_TB   0x7462
#define POPT_TC   0x7463
#define POPT_TI   0x7469
#define POPT_TL   0x746c
#define POPT_TP   0x7470
#define POPT_TS   0x7473
#define _anyarch(_f)   (((_f)&(RPMBUILD_PREP|RPMBUILD_BUILD|RPMBUILD_INSTALL|RPMBUILD_PACKAGEBINARY)) == 0)
#define buildCleanMask   (RPMBUILD_RMSOURCE|RPMBUILD_RMSPEC)

Enumerations

enum  modes {
  MODE_BUILD = (1 << 4), MODE_REBUILD = (1 << 5), MODE_RECOMPILE = (1 << 8), MODE_TARBUILD = (1 << 11),
  MODE_INITDB = (1 << 0), MODE_REBUILDDB = (1 << 1), MODE_VERIFYDB = (1 << 2), MODE_CHECKSIG = (1 << 0),
  MODE_IMPORTKEY = (1 << 1), MODE_DELKEY = (1 << 2), MODE_LISTKEY = (1 << 3), MODE_QUERY = (1 << 0),
  MODE_VERIFY = (1 << 3), MODE_ADDSIGN = (1 << 0), MODE_RESIGN = (1 << 1), MODE_DELSIGN = (1 << 2),
  MODE_UNKNOWN = 0, MODE_QUERY = (1 << 0), MODE_PARSE = (1 << 1)
}

Functions

static void buildArgCallback (poptContext con, enum poptCallbackReason reason, const struct poptOption *opt, const char *arg, const void *data)
static int checkSpec (rpmts ts, rpmSpec spec)
static int isSpecFile (const char *specfile)
static char * getTarSpec (const char *arg)
static int buildForTarget (rpmts ts, const char *arg, BTA_t ba)
static int build (rpmts ts, const char *arg, BTA_t ba, const char *rcfile)
int main (int argc, char *argv[])

Variables

const char * program_name
static struct rpmBuildArguments_s rpmBTArgs
int _fsm_debug
static rpmSpecFlags spec_flags = 0
static int noDeps = 0
static int shortCircuit = 0
static char buildMode = 0
static char buildChar = 0
static ARGV_t build_targets = NULL
static struct poptOption rpmBuildPoptTable []
static int quiet
static struct poptOption optionsTable []

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().

#define POPT_BA   0x6261

Definition at line 34 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_BB   0x6262

Definition at line 35 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_BC   0x6263

Definition at line 36 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_BI   0x6269

Definition at line 37 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_BL   0x626c

Definition at line 38 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_BP   0x6270

Definition at line 39 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_BS   0x6273

Definition at line 40 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_BUILDROOT   -1015

Definition at line 26 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_NOBUILD   -1017

Definition at line 28 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_NODIRTOKENS   -1020

Definition at line 30 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_NOLANG   -1012

Definition at line 23 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_REBUILD   0x4220

Definition at line 32 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_RECOMPILE   0x4320

Definition at line 33 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_RMBUILD   -1014

Definition at line 25 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_RMSOURCE   -1013

Definition at line 24 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_RMSPEC   -1019

Definition at line 29 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_TA   0x7461

Definition at line 41 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_TARGETPLATFORM   -1016

Definition at line 27 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_TB   0x7462

Definition at line 42 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_TC   0x7463

Definition at line 43 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_TI   0x7469

Definition at line 44 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_TL   0x746c

Definition at line 45 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_TP   0x7470

Definition at line 46 of file rpmbuild.c.

Referenced by buildArgCallback().

#define POPT_TS   0x7473

Definition at line 47 of file rpmbuild.c.

Referenced by buildArgCallback().


Enumeration Type Documentation

enum modes
Enumerator:
MODE_BUILD 
MODE_REBUILD 
MODE_RECOMPILE 
MODE_TARBUILD 
MODE_INITDB 
MODE_REBUILDDB 
MODE_VERIFYDB 
MODE_CHECKSIG 
MODE_IMPORTKEY 
MODE_DELKEY 
MODE_LISTKEY 
MODE_QUERY 
MODE_VERIFY 
MODE_ADDSIGN 
MODE_RESIGN 
MODE_DELSIGN 
MODE_UNKNOWN 
MODE_QUERY 
MODE_PARSE 

Definition at line 198 of file rpmbuild.c.


Function Documentation

static int build ( rpmts  ts,
const char *  arg,
BTA_t  ba,
const char *  rcfile 
) [static]
static void buildArgCallback ( poptContext  con,
enum poptCallbackReason  reason,
const struct poptOption *  opt,
const char *  arg,
const void *  data 
) [static]
static int buildForTarget ( rpmts  ts,
const char *  arg,
BTA_t  ba 
) [static]
static int checkSpec ( rpmts  ts,
rpmSpec  spec 
) [static]

Definition at line 225 of file rpmbuild.c.

References rpmSpecCheckDeps(), rpmlog(), RPMLOG_ERR, _, rpmpsPrint(), and rpmpsFree().

Referenced by buildForTarget().

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

Definition at line 286 of file rpmbuild.c.

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

Referenced by buildForTarget().

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

Definition at line 239 of file rpmbuild.c.

References rpmlog(), RPMLOG_ERR, and _.

Referenced by getTarSpec(), and buildForTarget().

int main ( int  argc,
char *  argv[] 
)

Variable Documentation

ARGV_t build_targets = NULL [static]

Target platform(s)

Definition at line 56 of file rpmbuild.c.

Referenced by buildArgCallback(), build(), and main().

char buildChar = 0 [static]

Build stage (one of "abcilps ")

Definition at line 55 of file rpmbuild.c.

Referenced by buildArgCallback(), and main().

char buildMode = 0 [static]

Build mode (one of "btBC")

Definition at line 54 of file rpmbuild.c.

Referenced by buildArgCallback(), buildForTarget(), and main().

int noDeps = 0 [static]

from --nodeps

Definition at line 52 of file rpmbuild.c.

Referenced by buildArgCallback(), and buildForTarget().

struct poptOption optionsTable[] [static]
Initial value:
 {

 { NULL, '\0', POPT_ARG_INCLUDE_TABLE, rpmBuildPoptTable, 0,
         "Build options with [ <specfile> | <tarball> | <source package> ]:" ,
        NULL },

 { "quiet", '\0', POPT_ARGFLAG_DOC_HIDDEN, &quiet, 0, NULL, NULL},

 { NULL, '\0', POPT_ARG_INCLUDE_TABLE, rpmcliAllPoptTable, 0,
         "Common options for all rpm modes and executables:" ,
        NULL },

   POPT_AUTOALIAS
   POPT_AUTOHELP
   POPT_TABLEEND
}

Definition at line 208 of file rpmbuild.c.

const char* program_name

Definition at line 2 of file rpmbuild.c.

int quiet [static]

Definition at line 205 of file rpmbuild.c.

struct rpmBuildArguments_s rpmBTArgs [static]

Definition at line 21 of file rpmbuild.c.

Referenced by buildArgCallback(), and main().

struct poptOption rpmBuildPoptTable[] [static]

Definition at line 114 of file rpmbuild.c.

int shortCircuit = 0 [static]

from --short-circuit

Definition at line 53 of file rpmbuild.c.

Referenced by main().

rpmSpecFlags spec_flags = 0 [static]

Bit(s) to control spec parsing.

Definition at line 51 of file rpmbuild.c.

Referenced by buildArgCallback(), and buildForTarget().