rpm  4.17.0
rpmbuild.h
Go to the documentation of this file.
1 #ifndef _H_RPMBUILD_
2 #define _H_RPMBUILD_
3 
9 #include <rpm/rpmcli.h>
10 #include <rpm/rpmds.h>
11 #include <rpm/rpmspec.h>
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
23  RPMBUILD_PREP = (1 << 0),
24  RPMBUILD_BUILD = (1 << 1),
25  RPMBUILD_INSTALL = (1 << 2),
26  RPMBUILD_CHECK = (1 << 3),
27  RPMBUILD_CLEAN = (1 << 4),
28  RPMBUILD_FILECHECK = (1 << 5),
31  RPMBUILD_RMSOURCE = (1 << 8),
32  RPMBUILD_RMBUILD = (1 << 9),
33  RPMBUILD_STRINGBUF = (1 << 10),
34  RPMBUILD_RMSPEC = (1 << 11),
35  RPMBUILD_FILE_FILE = (1 << 16),
36  RPMBUILD_FILE_LIST = (1 << 17),
37  RPMBUILD_POLICY = (1 << 18),
39  RPMBUILD_BUILDREQUIRES = (1 << 20),
42  RPMBUILD_NOBUILD = (1 << 31)
43 };
44 
46 
53 };
54 
56 
57 #define RPMRC_MISSINGBUILDREQUIRES 11
58 
66  char * cookie;
67  const char * rootdir;
68 };
69 
72 typedef struct rpmBuildArguments_s * BTA_t;
73 
83 rpmSpec rpmSpecParse(const char *specFile, rpmSpecFlags flags,
84  const char *buildRoot);
85 
92 
100 
108 
118 int rpmSpecBuild(rpmts ts, rpmSpec spec, BTA_t buildArgs);
119 
120 #ifdef __cplusplus
121 }
122 #endif
123 
124 #endif /* _H_RPMBUILD_ */
rpmBuildFlags_e
Bit(s) to control rpmSpecBuild() operation.
Definition: rpmbuild.h:21
rpmSpec rpmSpecParse(const char *specFile, rpmSpecFlags flags, const char *buildRoot)
Parse spec file into spec control structure.
rpmBuildPkgFlags_e
Bit(s) to control package generation.
Definition: rpmbuild.h:50
int rpmSpecBuild(rpmts ts, rpmSpec spec, BTA_t buildArgs)
Spec build stages state machine driver.
Header rpmSpecSourceHeader(rpmSpec spec)
Return the headers of the SRPM that would be built from the spec file.
rpmps rpmSpecCheckDeps(rpmts ts, rpmSpec spec)
Verify build depencies of a spec against.
struct rpmBuildArguments_s * BTA_t
Definition: rpmbuild.h:72
rpmds rpmSpecDS(rpmSpec spec, rpmTagVal tag)
Retrieve build dependency set from spec.
@ RPMBUILD_PACKAGESOURCE
Definition: rpmbuild.h:29
@ RPMBUILD_FILECHECK
Definition: rpmbuild.h:28
@ RPMBUILD_PACKAGEBINARY
Definition: rpmbuild.h:30
@ RPMBUILD_NONE
Definition: rpmbuild.h:22
@ RPMBUILD_CHECK
Definition: rpmbuild.h:26
@ RPMBUILD_RMSOURCE
Definition: rpmbuild.h:31
@ RPMBUILD_POLICY
Definition: rpmbuild.h:37
@ RPMBUILD_CLEAN
Definition: rpmbuild.h:27
@ RPMBUILD_PREP
Definition: rpmbuild.h:23
@ RPMBUILD_BUILDREQUIRES
Definition: rpmbuild.h:39
@ RPMBUILD_RMSPEC
Definition: rpmbuild.h:34
@ RPMBUILD_DUMPBUILDREQUIRES
Definition: rpmbuild.h:40
@ RPMBUILD_FILE_LIST
Definition: rpmbuild.h:36
@ RPMBUILD_BUILD
Definition: rpmbuild.h:24
@ RPMBUILD_RMBUILD
Definition: rpmbuild.h:32
@ RPMBUILD_NOBUILD
Definition: rpmbuild.h:42
@ RPMBUILD_CHECKBUILDREQUIRES
Definition: rpmbuild.h:38
@ RPMBUILD_FILE_FILE
Definition: rpmbuild.h:35
@ RPMBUILD_INSTALL
Definition: rpmbuild.h:25
@ RPMBUILD_STRINGBUF
Definition: rpmbuild.h:33
@ RPMBUILD_PKG_NONE
Definition: rpmbuild.h:51
@ RPMBUILD_PKG_NODIRTOKENS
Definition: rpmbuild.h:52
struct rpmts_s * rpmts
The main types involved in transaction manipulation.
Definition: rpmtypes.h:63
rpm_tag_t rpmTagVal
Definition: rpmtypes.h:30
uint32_t rpmFlags
Definition: rpmtypes.h:42
struct rpmps_s * rpmps
Definition: rpmtypes.h:71
struct rpmds_s * rpmds
Definition: rpmtypes.h:65
struct headerToken_s * Header
RPM header and data retrieval types.
Definition: rpmtypes.h:24
rpmFlags rpmBuildPkgFlags
Definition: rpmbuild.h:55
rpmFlags rpmBuildFlags
Definition: rpmbuild.h:45
rpmFlags rpmSpecFlags
Definition: rpmspec.h:42
struct rpmSpec_s * rpmSpec
Definition: rpmtypes.h:91
Describe build request.
Definition: rpmbuild.h:62
const char * rootdir
Definition: rpmbuild.h:67
rpmBuildPkgFlags pkgFlags
Definition: rpmbuild.h:63
char * buildRootOverride
Definition: rpmbuild.h:65
rpmBuildFlags buildAmount
Definition: rpmbuild.h:64