4 typedef struct SpecStruct *Spec;
8 struct ReqProvTrigger {
12 int index; /* Only used for triggers */
13 struct ReqProvTrigger *next;
17 struct TriggerFileEntry {
22 struct TriggerFileEntry *next;
25 #define RPMBUILD_ISSOURCE 1
26 #define RPMBUILD_ISPATCH (1 << 1)
27 #define RPMBUILD_ISICON (1 << 2)
28 #define RPMBUILD_ISNO (1 << 3)
30 #define RPMBUILD_DEFAULT_LANG "C"
34 char *source; /* Pointer into fullSource */
40 struct ReadLevelEntry {
42 struct ReadLevelEntry *next;
51 struct OpenFileInfo *next;
58 struct OpenFileInfo *fileStack;
62 struct ReadLevelEntry *readStack;
64 Header buildRestrictions;
65 struct SpecStruct **buildArchitectureSpecs;
66 char ** buildArchitectures;
67 int buildArchitectureCount;
68 int inBuildArchitectures;
78 struct Source *sources;
84 struct cpioFileMapping *sourceCpioList;
86 struct MacroContext *macros;
96 struct PackageStruct *packages;
99 struct PackageStruct {
103 struct cpioFileMapping *cpioList;
115 StringBuf specialDoc;
118 struct ReqProvTrigger *triggers;
119 char *triggerScripts;
122 struct TriggerFileEntry *triggerFiles;
125 StringBuf fileList; /* If NULL, package will not be written */
127 struct PackageStruct *next;
130 typedef struct PackageStruct *Package;
137 void freeSpec(Spec spec);
139 struct OpenFileInfo * newOpenFileInfo(void);
141 int addSource(Spec spec, Package pkg, char *field, int tag);
142 int parseNoSource(Spec spec, char *field, int tag);
148 #endif /* _H_SPEC_ */