rpmbuild.h
Go to the documentation of this file.
#ifndef _H_RPMBUILD_
#define _H_RPMBUILD_
#include <rpm/rpmcli.h>
#include <rpm/rpmds.h>
#include <rpm/rpmspec.h>
#ifdef __cplusplus
extern "C" {
#endif
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),
RPMBUILD_FILE_FILE = (1 << 16),
RPMBUILD_FILE_LIST = (1 << 17),
RPMBUILD_POLICY = (1 << 18),
RPMBUILD_CHECKBUILDREQUIRES = (1 << 19),
RPMBUILD_BUILDREQUIRES = (1 << 20),
RPMBUILD_DUMPBUILDREQUIRES = (1 << 21),
RPMBUILD_CONF = (1 << 22),
RPMBUILD_NOBUILD = (1 << 31)
};
typedef rpmFlags rpmBuildFlags;
enum rpmBuildPkgFlags_e {
RPMBUILD_PKG_NONE = 0,
RPMBUILD_PKG_NODIRTOKENS = (1 << 0),
};
typedef rpmFlags rpmBuildPkgFlags;
#define RPMRC_MISSINGBUILDREQUIRES 11
struct rpmBuildArguments_s {
rpmBuildPkgFlags pkgFlags;
rpmBuildFlags buildAmount;
char * buildRootOverride;
char * cookie;
const char * rootdir;
};
typedef struct rpmBuildArguments_s * BTA_t;
rpmSpec rpmSpecParse(const char *specFile, rpmSpecFlags flags,
const char *buildRoot);
Header rpmSpecSourceHeader(rpmSpec spec);
rpmps rpmSpecCheckDeps(rpmts ts, rpmSpec spec);
rpmds rpmSpecDS(rpmSpec spec, rpmTagVal tag);
int rpmSpecBuild(rpmts ts, rpmSpec spec, BTA_t buildArgs);
#ifdef __cplusplus
}
#endif
#endif /* _H_RPMBUILD_ */
rpmBuildFlags_e
rpmBuildFlags_e
Bit(s) to control rpmSpecBuild() operation.
Definition: rpmbuild.h:21
rpmSpecParse
rpmSpec rpmSpecParse(const char *specFile, rpmSpecFlags flags, const char *buildRoot)
Parse spec file into spec control structure.
rpmBuildPkgFlags_e
rpmBuildPkgFlags_e
Bit(s) to control package generation.
Definition: rpmbuild.h:51
rpmSpecBuild
int rpmSpecBuild(rpmts ts, rpmSpec spec, BTA_t buildArgs)
Spec build stages state machine driver.
rpmSpecSourceHeader
Header rpmSpecSourceHeader(rpmSpec spec)
Return the headers of the SRPM that would be built from the spec file.
rpmSpecCheckDeps
rpmps rpmSpecCheckDeps(rpmts ts, rpmSpec spec)
Verify build depencies of a spec against.
BTA_t
struct rpmBuildArguments_s * BTA_t
Definition: rpmbuild.h:73
rpmSpecDS
rpmds rpmSpecDS(rpmSpec spec, rpmTagVal tag)
Retrieve build dependency set from spec.
RPMBUILD_PACKAGESOURCE
@ RPMBUILD_PACKAGESOURCE
Definition: rpmbuild.h:29
RPMBUILD_FILECHECK
@ RPMBUILD_FILECHECK
Definition: rpmbuild.h:28
RPMBUILD_PACKAGEBINARY
@ RPMBUILD_PACKAGEBINARY
Definition: rpmbuild.h:30
RPMBUILD_NONE
@ RPMBUILD_NONE
Definition: rpmbuild.h:22
RPMBUILD_CONF
@ RPMBUILD_CONF
Definition: rpmbuild.h:41
RPMBUILD_CHECK
@ RPMBUILD_CHECK
Definition: rpmbuild.h:26
RPMBUILD_RMSOURCE
@ RPMBUILD_RMSOURCE
Definition: rpmbuild.h:31
RPMBUILD_POLICY
@ RPMBUILD_POLICY
Definition: rpmbuild.h:37
RPMBUILD_CLEAN
@ RPMBUILD_CLEAN
Definition: rpmbuild.h:27
RPMBUILD_PREP
@ RPMBUILD_PREP
Definition: rpmbuild.h:23
RPMBUILD_BUILDREQUIRES
@ RPMBUILD_BUILDREQUIRES
Definition: rpmbuild.h:39
RPMBUILD_RMSPEC
@ RPMBUILD_RMSPEC
Definition: rpmbuild.h:34
RPMBUILD_DUMPBUILDREQUIRES
@ RPMBUILD_DUMPBUILDREQUIRES
Definition: rpmbuild.h:40
RPMBUILD_FILE_LIST
@ RPMBUILD_FILE_LIST
Definition: rpmbuild.h:36
RPMBUILD_BUILD
@ RPMBUILD_BUILD
Definition: rpmbuild.h:24
RPMBUILD_RMBUILD
@ RPMBUILD_RMBUILD
Definition: rpmbuild.h:32
RPMBUILD_NOBUILD
@ RPMBUILD_NOBUILD
Definition: rpmbuild.h:43
RPMBUILD_CHECKBUILDREQUIRES
@ RPMBUILD_CHECKBUILDREQUIRES
Definition: rpmbuild.h:38
RPMBUILD_FILE_FILE
@ RPMBUILD_FILE_FILE
Definition: rpmbuild.h:35
RPMBUILD_INSTALL
@ RPMBUILD_INSTALL
Definition: rpmbuild.h:25
RPMBUILD_STRINGBUF
@ RPMBUILD_STRINGBUF
Definition: rpmbuild.h:33
RPMBUILD_PKG_NONE
@ RPMBUILD_PKG_NONE
Definition: rpmbuild.h:52
RPMBUILD_PKG_NODIRTOKENS
@ RPMBUILD_PKG_NODIRTOKENS
Definition: rpmbuild.h:53
rpmts
struct rpmts_s * rpmts
The main types involved in transaction manipulation.
Definition: rpmtypes.h:63
rpmTagVal
rpm_tag_t rpmTagVal
Definition: rpmtypes.h:30
rpmFlags
uint32_t rpmFlags
Definition: rpmtypes.h:42
rpmps
struct rpmps_s * rpmps
Definition: rpmtypes.h:71
rpmds
struct rpmds_s * rpmds
Definition: rpmtypes.h:65
Header
struct headerToken_s * Header
RPM header and data retrieval types.
Definition: rpmtypes.h:24
rpmBuildPkgFlags
rpmFlags rpmBuildPkgFlags
Definition: rpmbuild.h:56
rpmBuildFlags
rpmFlags rpmBuildFlags
Definition: rpmbuild.h:46
rpmcli.h
Parsing RPM command line arguments.
rpmds.h
Structure(s) used for dependency tag sets.
rpmspec.h
The rpmSpec and Package data structures used during build.
rpmSpecFlags
rpmFlags rpmSpecFlags
Definition: rpmspec.h:42
rpmSpec
struct rpmSpec_s * rpmSpec
Definition: rpmtypes.h:91
rpmBuildArguments_s
Describe build request.
Definition: rpmbuild.h:63
rpmBuildArguments_s::rootdir
const char * rootdir
Definition: rpmbuild.h:68
rpmBuildArguments_s::cookie
char * cookie
Definition: rpmbuild.h:67
rpmBuildArguments_s::pkgFlags
rpmBuildPkgFlags pkgFlags
Definition: rpmbuild.h:64
rpmBuildArguments_s::buildRootOverride
char * buildRootOverride
Definition: rpmbuild.h:66
rpmBuildArguments_s::buildAmount
rpmBuildFlags buildAmount
Definition: rpmbuild.h:65