--- /dev/null
+#ifndef _BUILD_H_
+#define _BUILD_H_
+
+#include "spec.h"
+
+int execPrep(Spec s);
+int execBuild(Spec s);
+int execInstall(Spec s);
+int execClean(Spec s);
+int verifyList(Spec s);
+int packageBinaries(Spec s);
+int packageSource(Spec s);
+
+#endif _BUILD_H_
--- /dev/null
+#ifndef _SPECP_H_
+#define _SPECP_H_
+
+#include "spec.h"
+#include "header.h"
+#include "stringbuf.h"
+
+struct SpecRec {
+ char *name; /* package base name */
+ StringBuf prep;
+ StringBuf build;
+ StringBuf install;
+ StringBuf clean;
+ struct PackageRec *packages;
+ /* The first package record is the "main" package and contains
+ * the bulk of the preamble information. Subsequent package
+ * records "inherit" from the main record. Note that the
+ * "main" package may be, in pre-rpm-2.0 terms, a "subpackage".
+ */
+};
+
+struct PackageRec {
+ char *subname; /* If both of these are NULL, then this is */
+ char *newname; /* the main package. subname concats with name */
+ Header header;
+ int files; /* If 0, package has no files, and won't be written */
+ StringBuf filelist;
+ struct PackageRec *next;
+};
+
+#endif _SPECP_H_