| #ifndef _RPMBUILD_INTERNAL_H |
| #define _RPMBUILD_INTERNAL_H |
| |
| #include <rpm/rpmbuild.h> |
| #include <rpm/rpmutil.h> |
| #include <rpm/rpmstrpool.h> |
| #include "build/rpmbuild_misc.h" |
| |
| #undef HASHTYPE |
| #undef HTKEYTYPE |
| #undef HTDATATYPE |
| #define HASHTYPE fileRenameHash |
| #define HTKEYTYPE const char * |
| #define HTDATATYPE const char * |
| #include "lib/rpmhash.H" |
| #undef HASHTYPE |
| #undef HTKEYTYPE |
| #undef HTDATATYPE |
| |
| struct TriggerFileEntry { |
| int index; |
| char * fileName; |
| char * script; |
| char * prog; |
| uint32_t flags; |
| struct TriggerFileEntry * next; |
| uint32_t priority; |
| }; |
| |
| typedef struct ReadLevelEntry { |
| int reading; |
| int lineNum; |
| struct ReadLevelEntry * next; |
| } RLE_t; |
| |
| |
| |
| struct Source { |
| char * fullSource; |
| const char * source; |
| int flags; |
| uint32_t num; |
| struct Source * next; |
| }; |
| |
| typedef struct Package_s * Package; |
| |
| |
| |
| |
| struct rpmSpec_s { |
| char * specFile; |
| char * buildRoot; |
| char * buildSubdir; |
| const char * rootDir; |
| |
| struct OpenFileInfo * fileStack; |
| char *lbuf; |
| size_t lbufSize; |
| size_t lbufOff; |
| char nextpeekc; |
| char * nextline; |
| char * line; |
| int lineNum; |
| |
| struct ReadLevelEntry * readStack; |
| |
| Header buildRestrictions; |
| rpmSpec * BASpecs; |
| const char ** BANames; |
| int BACount; |
| int recursing; |
| |
| rpmSpecFlags flags; |
| |
| struct Source * sources; |
| int numSources; |
| int noSource; |
| |
| char * sourceRpmName; |
| unsigned char * sourcePkgId; |
| Package sourcePackage; |
| |
| rpmMacroContext macros; |
| rpmstrPool pool; |
| |
| StringBuf prep; |
| StringBuf build; |
| StringBuf install; |
| StringBuf check; |
| StringBuf clean; |
| |
| StringBuf parsed; |
| |
| Package packages; |
| }; |
| |
| #define PACKAGE_NUM_DEPS 12 |
| |
| |
| |
| |
| struct Package_s { |
| rpmsid name; |
| rpmstrPool pool; |
| Header header; |
| rpmds ds; |
| rpmds dependencies[PACKAGE_NUM_DEPS]; |
| rpmfiles cpioList; |
| ARGV_t dpaths; |
| |
| struct Source * icon; |
| |
| int autoReq; |
| int autoProv; |
| |
| char * preInFile; |
| char * postInFile; |
| char * preUnFile; |
| char * postUnFile; |
| char * preTransFile; |
| char * postTransFile; |
| char * verifyFile; |
| |
| struct TriggerFileEntry * triggerFiles; |
| struct TriggerFileEntry * fileTriggerFiles; |
| struct TriggerFileEntry * transFileTriggerFiles; |
| |
| ARGV_t fileFile; |
| ARGV_t fileList; |
| ARGV_t fileExcludeList; |
| ARGV_t removePostfixes; |
| fileRenameHash fileRenameMap; |
| ARGV_t policyList; |
| |
| Package next; |
| }; |
| |
| #define PART_SUBNAME 0 |
| #define PART_NAME 1 |
| #define PART_QUIET 2 |
| |
| |
| |
| |
| #define PART_BASE 0 |
| typedef enum rpmParseState_e { |
| PART_ERROR = -1, |
| PART_NONE = 0+PART_BASE, |
| |
| PART_PREAMBLE = 11+PART_BASE, |
| PART_PREP = 12+PART_BASE, |
| PART_BUILD = 13+PART_BASE, |
| PART_INSTALL = 14+PART_BASE, |
| PART_CHECK = 15+PART_BASE, |
| PART_CLEAN = 16+PART_BASE, |
| PART_FILES = 17+PART_BASE, |
| PART_PRE = 18+PART_BASE, |
| PART_POST = 19+PART_BASE, |
| PART_PREUN = 20+PART_BASE, |
| PART_POSTUN = 21+PART_BASE, |
| PART_PRETRANS = 22+PART_BASE, |
| PART_POSTTRANS = 23+PART_BASE, |
| PART_DESCRIPTION = 24+PART_BASE, |
| PART_CHANGELOG = 25+PART_BASE, |
| PART_TRIGGERIN = 26+PART_BASE, |
| PART_TRIGGERUN = 27+PART_BASE, |
| PART_VERIFYSCRIPT = 28+PART_BASE, |
| PART_BUILDARCHITECTURES= 29+PART_BASE, |
| PART_TRIGGERPOSTUN = 30+PART_BASE, |
| PART_TRIGGERPREIN = 31+PART_BASE, |
| PART_POLICIES = 32+PART_BASE, |
| PART_FILETRIGGERIN = 33+PART_BASE, |
| PART_FILETRIGGERUN = 34+PART_BASE, |
| PART_FILETRIGGERPOSTUN = 35+PART_BASE, |
| PART_TRANSFILETRIGGERIN = 36+PART_BASE, |
| PART_TRANSFILETRIGGERUN = 37+PART_BASE, |
| PART_TRANSFILETRIGGERPOSTUN = 38+PART_BASE, |
| PART_EMPTY = 39+PART_BASE, |
| PART_LAST = 40+PART_BASE |
| } rpmParseState; |
| |
| |
| #define STRIP_NOTHING 0 |
| #define STRIP_TRAILINGSPACE (1 << 0) |
| #define STRIP_COMMENTS (1 << 1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| rpmSpec newSpec(void); |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| void closeSpec(rpmSpec spec); |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| int readLine(rpmSpec spec, int strip); |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| int isPart(const char * line) ; |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| int parseBuildInstallClean(rpmSpec spec, int parsePart); |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| int parseChangelog(rpmSpec spec); |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| int parseDescription(rpmSpec spec); |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| int parseFiles(rpmSpec spec); |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| int parsePolicies(rpmSpec spec); |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| int parsePreamble(rpmSpec spec, int initialPackage); |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| int parsePrep(rpmSpec spec); |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| int parseScript(rpmSpec spec, int parsePart); |
| |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| rpmRC rpmCharCheck(rpmSpec spec, const char *field, const char *whitelist); |
| |
| typedef rpmRC (*addReqProvFunction) (void *cbdata, rpmTagVal tagN, |
| const char * N, const char * EVR, rpmsenseFlags Flags, |
| int index); |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| rpmRC parseRCPOT(rpmSpec spec, Package pkg, const char * field, rpmTagVal tagN, |
| int index, rpmsenseFlags tagflags, addReqProvFunction cb, void *cbdata); |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| int parseExpressionBoolean(const char * expr); |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| rpmRC doScript(rpmSpec spec, rpmBuildFlags what, const char * name, |
| const char * sb, int test); |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| rpmRC lookupPackage(rpmSpec spec, const char * name, int flag, |
| Package * pkg); |
| |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| Package newPackage(const char *name, rpmstrPool pool, Package * pkglist); |
| |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| rpmds * packageDependencies(Package pkg, rpmTagVal tag); |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| rpmRC processBinaryFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags, |
| int didInstall, int test); |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| rpmRC rpmfcGenerateDepends(const rpmSpec spec, Package pkg); |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| int rpmfcExec(ARGV_const_t av, StringBuf sb_stdin, StringBuf * sb_stdoutp, |
| int failnonzero, const char *buildRoot); |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| rpmRC processBinaryPolicies(rpmSpec spec, int test); |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| rpmRC processSourceFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags); |
| |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating); |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| rpmRC packageSources(rpmSpec spec, char **cookie); |
| |
| RPM_GNUC_INTERNAL |
| int addLangTag(rpmSpec spec, Header h, rpmTagVal tag, |
| const char *field, const char *lang); |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| int addReqProv(Package pkg, rpmTagVal tagN, |
| const char * N, const char * EVR, rpmsenseFlags Flags, |
| uint32_t index); |
| |
| RPM_GNUC_INTERNAL |
| rpmRC addReqProvPkg(void *cbdata, rpmTagVal tagN, |
| const char * N, const char * EVR, rpmsenseFlags Flags, |
| int index); |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| void addPackageProvides(Package pkg); |
| |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| int rpmlibNeedsFeature(Package pkg, const char * feature, const char * featureEVR); |
| |
| RPM_GNUC_INTERNAL |
| rpmRC checkForEncoding(Header h, int addtag); |
| |
| |
| |
| |
| |
| |
| |
| RPM_GNUC_INTERNAL |
| void copyInheritedTags(Header h, Header fromh); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif |