RPMBUILD. -
file build.c
Top-level build dispatcher.
file buildio.h
Routines to read and write packages.
file expression.c
Simple logical expression parser.
file files.c
The post-build, pre-packaging file tree walk to assemble the package manifest.
file misc.c
file myftw.c
Modified ftw() -- uses Lstat() instead of stat().
file myftw.h
Portable ftw(3) using lstat() instead of stat().
file names.c
Simple user/group name/id cache (plus hostname and buildtime).
file pack.c
Assemble components of an RPM package.
file parseBuildInstallClean.c
Parse build/install/clean section from spec file.
file parseChangelog.c
Parse changelog section from spec file.
file parseDescription.c
Parse description section from spec file.
file parseFiles.c
Parse files section from spec file.
file parsePreamble.c
Parse tags in global section from spec file.
file parsePrep.c
Parse prep section from spec file.
file parseReqs.c
Parse dependency tag from spec file or from auto-dependency generator.
file parseScript.c
Parse install-time script section from spec file.
file parseSpec.c
Top level dispatcher for spec file parsing.
file reqprov.c
Add dependency tags to package header(s).
file rpmbuild.h
This is the *only* module users of librpmbuild should need to include.
file rpmcli.h
file rpmspec.h
The Spec and Package data structures used during build.
file spec.c
Handle spec data structure.
struct OpenFileInfo
struct PackageStruct
struct ReadLevelEntry
struct Source
struct speclines_s
struct SpecStruct
struct spectag_s
struct spectags_s
struct TriggerFileEntry
typedef enum rpmBuildFlags_e rpmBuildFlags
typedef enum rpmParseState_e rpmParseState
typedef SpecStruct * Spec
typedef ReadLevelEntry RLE_t
typedef OpenFileInfo OFI_t
typedef spectag_s * spectag
typedef spectags_s * spectags
typedef speclines_s * speclines
typedef PackageStruct * Package
enum rpmBuildFlags_e { RPMBUILD_NONE = 0, RPMBUILD_PREP = (1 << 0), RPMBUILD_BUILD = (1 << 1), RPMBUILD_INSTALL = (1 << 2), RPMBUILD_CLEAN = (1 << 3), RPMBUILD_FILECHECK = (1 << 4), RPMBUILD_PACKAGESOURCE = (1 << 5), RPMBUILD_PACKAGEBINARY = (1 << 6), RPMBUILD_RMSOURCE = (1 << 7), RPMBUILD_RMBUILD = (1 << 8), RPMBUILD_STRINGBUF = (1 << 9), RPMBUILD_RMSPEC = (1 << 10), RPMBUILD_PREPROCESS = (1 << 11) }
enum rpmParseState_e { PART_NONE = 0, PART_PREAMBLE = 1, PART_PREP = 2, PART_BUILD = 3, PART_INSTALL = 4, PART_CLEAN = 5, PART_FILES = 6, PART_PRE = 7, PART_POST = 8, PART_PREUN = 9, PART_POSTUN = 10, PART_DESCRIPTION = 11, PART_CHANGELOG = 12, PART_TRIGGERIN = 13, PART_TRIGGERUN = 14, PART_VERIFYSCRIPT = 15, PART_BUILDARCHITECTURES = 16, PART_TRIGGERPOSTUN = 17, PART_LAST = 18 }
void freeNames (void)
const char * getUname (uid_t uid)
const char * getUnameS (const char *uname)
uid_t getUidS (const char *uname)
const char * getGname (gid_t gid)
const char * getGnameS (const char *gname)
gid_t getGidS (const char *gname)
const char *const buildHost (void)
int_32 *const getBuildTime (void)
int readLine (Spec spec, int strip)
void closeSpec (Spec spec)
void handleComments (char *s)
rpmParseState isPart (const char *line)
int parseNum (const char *line, int *res)
void addChangelogEntry (Header h, time_t time, const char *name, const char *text)
int parseBuildInstallClean (Spec spec, rpmParseState parsePart)
int parseChangelog (Spec spec)
int parseDescription (Spec spec)
int parseFiles (Spec spec)
int parsePreamble (Spec spec, int initialPackage)
int parsePrep (Spec spec)
int parseRCPOT (Spec spec, Package pkg, const char *field, int tag, int index, rpmsenseFlags tagflags)
int parseScript (Spec spec, int parsePart)
int parseExpressionBoolean (Spec spec, const char *expr)
char * parseExpressionString (Spec spec, const char *expr)
int doScript (Spec spec, int what, const char *name, StringBuf sb, int test)
int lookupPackage (Spec spec, const char *name, int flag, Package *pkg)
Package newPackage (Spec spec)
Package freePackages (Package packages)
Package freePackage (Package pkg)
int addReqProv (Spec spec, Header h, rpmsenseFlags depFlags, const char *depName, const char *depEVR, int index)
int rpmlibNeedsFeature (Header h, const char *feature, const char *featureEVR)
int processBinaryFiles (Spec spec, int installSpecialDoc, int test)
void initSourceHeader (Spec spec)
int processSourceFiles (Spec spec)
int parseSpec (Spec *specp, const char *specFile, const char *rootURL, const char *buildRootURL, int recursing, const char *passPhrase, char *cookie, int anyarch, int force, int preprocess)
int buildSpec (Spec spec, int what, int test)
int packageBinaries (Spec spec)
int packageSources (Spec spec)
Spec newSpec (void)
Spec freeSpec (Spec spec)
OpenFileInfo * newOpenFileInfo (void)
spectag stashSt (Spec spec, Header h, int tag, const char *lang)
int addSource (Spec spec, Package pkg, const char *field, int tag)
int parseNoSource (Spec spec, const char *field, int tag)
int(* parseSpecVec )(Spec *specp, const char *specFile, const char *rootdir, const char *buildRoot, int recursing, const char *passPhrase, char *cookie, int anyarch, int force, int preprocess)
Spec(* freeSpecVec )(Spec spec)
Definition at line 179 of file rpmspec.h.
Bit(s) to control buildSpec() operation.
Spec file parser states.
Referenced by isPart(), parseBuildInstallClean(), and parseSpec().
Definition at line 11 of file rpmspec.h.
Bit(s) to control buildSpec() operation.
Enumeration values:
Definition at line 22 of file rpmbuild.h.
Spec file parser states.
Enumeration values:
Definition at line 52 of file rpmbuild.h.
Add changelog entry to header.
Parameters:
Definition at line 11 of file parseChangelog.c.
References headerAddEntry(), headerAppendEntry(), headerIsEntry(), int_32, RPM_INT32_TYPE, RPM_STRING_ARRAY_TYPE, RPMTAG_CHANGELOGNAME, RPMTAG_CHANGELOGTEXT, and RPMTAG_CHANGELOGTIME.
Referenced by addChangelog(), and headerInject().
Add dependency to header, filtering duplicates.
Parameters:
Returns: 0 always
Definition at line 11 of file reqprov.c.
References _ALL_REQUIRES_MASK, headerAddOrAppendEntry(), HFD_t, HGE_t, isDependsMULTILIB, RPM_INT32_TYPE, RPM_STRING_ARRAY_TYPE, RPMSENSE_ANY, RPMSENSE_CONFLICTS, RPMSENSE_FIND_PROVIDES, RPMSENSE_MULTILIB, RPMSENSE_OBSOLETES, RPMSENSE_PREREQ, RPMSENSE_PROVIDES, RPMSENSE_SENSEMASK, RPMSENSE_TRIGGER, rpmsenseFlags, rpmTag, RPMTAG_CONFLICTFLAGS, RPMTAG_CONFLICTNAME, RPMTAG_CONFLICTVERSION, RPMTAG_OBSOLETEFLAGS, RPMTAG_OBSOLETENAME, RPMTAG_OBSOLETEVERSION, RPMTAG_PROVIDEFLAGS, RPMTAG_PROVIDENAME, RPMTAG_PROVIDEVERSION, RPMTAG_REQUIREFLAGS, RPMTAG_REQUIRENAME, RPMTAG_REQUIREVERSION, RPMTAG_TRIGGERFLAGS, RPMTAG_TRIGGERINDEX, RPMTAG_TRIGGERNAME, RPMTAG_TRIGGERVERSION, and rpmTagType.
Referenced by parseRCPOT(), parseScript(), and rpmlibNeedsFeature().
Parameters:
Definition at line 254 of file spec.c.
References _, _free(), addMacro(), Source::flags, Source::fullSource, PackageStruct::icon, SpecStruct::line, SpecStruct::lineNum, SpecStruct::macros, Source::next, Source::num, SpecStruct::numSources, parseNum(), RMIL_SPEC, RPMBUILD_ISICON, RPMBUILD_ISPATCH, RPMBUILD_ISSOURCE, RPMERR_BADSPEC, rpmError, rpmGetPath(), RPMTAG_ICON, RPMTAG_PATCH, RPMTAG_SOURCE, SKIPSPACE, Source::source, SpecStruct::sources, xmalloc(), and xstrdup().
Referenced by handlePreambleTag().
Return build hostname.
Returns: build hostname
Definition at line 179 of file names.c.
References _, RPMMESS_WARNING, and rpmMessage.
Referenced by headerInject(), and writeRPM().
Build stages state machine driver.
Parameters:
Returns: 0 on success
Definition at line 268 of file build.c.
References _, SpecStruct::BACount, SpecStruct::BASpecs, doRmSource(), doScript(), packageBinaries(), packageSources(), processBinaryFiles(), processSourceFiles(), SpecStruct::recursing, RPMBUILD_BUILD, RPMBUILD_CLEAN, RPMBUILD_FILECHECK, RPMBUILD_INSTALL, RPMBUILD_PACKAGEBINARY, RPMBUILD_PACKAGESOURCE, RPMBUILD_PREP, RPMBUILD_RMBUILD, RPMBUILD_RMSOURCE, RPMBUILD_RMSPEC, rpmlogGetNrecs(), rpmlogPrint(), RPMMESS_NORMAL, rpmMessage, SpecStruct::specFile, and Unlink().
Referenced by buildForTarget().
Stop reading from spec file, freeing resources.
Parameters:
Definition at line 374 of file parseSpec.c.
References _free(), Fclose(), OpenFileInfo::fd, OpenFileInfo::fileName, SpecStruct::fileStack, and OpenFileInfo::next.
Referenced by freeSpec(), and parseSpec().
Run a build script, assembled from spec file scriptlet section.
Parameters:
Returns: 0 on success, RPMERR_SCRIPT on failure
Definition at line 57 of file build.c.
References _, _free(), addMacro(), SpecStruct::build, SpecStruct::buildSubdir, SpecStruct::clean, delMacro(), errno, Fclose(), fdGetFp(), Fdopen(), Ferror(), Fileno(), getStringBuf(), urlinfo_s::host, SpecStruct::install, SpecStruct::macros, makeTempFile(), SpecStruct::prep, RMIL_SPEC, SpecStruct::rootURL, RPMBUILD_BUILD, RPMBUILD_CLEAN, RPMBUILD_INSTALL, RPMBUILD_PREP, RPMBUILD_RMBUILD, RPMBUILD_STRINGBUF, RPMERR_SCRIPT, rpmError, rpmExpand(), rpmGenPath(), RPMMESS_NORMAL, rpmMessage, Unlink(), URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, urlPath(), urlSplit(), and urlinfo_s::urltype.
Referenced by buildSpec(), and processPackageFiles().
Destroy uid/gid caches.
Definition at line 29 of file names.c.
References _free(), gid_used, gnames, uid_used, and unames.
Destroy package control structure.
Parameters:
Returns: NULL
Definition at line 149 of file spec.c.
References _free(), PackageStruct::autoProv, PackageStruct::autoReq, PackageStruct::cpioList, PackageStruct::fileFile, PackageStruct::fileList, freeFi(), freeSources(), freeStringBuf(), freeTriggerFiles(), PackageStruct::header, headerFree(), PackageStruct::icon, PackageStruct::postInFile, PackageStruct::postUnFile, PackageStruct::preInFile, PackageStruct::preUnFile, PackageStruct::specialDoc, PackageStruct::triggerFiles, and PackageStruct::verifyFile.
Destroy all packages associated with spec file.
Parameters:
Returns: NULL
Definition at line 180 of file spec.c.
References freePackage(), and PackageStruct::next.
Destroy Spec structure.
Parameters:
Returns: NULL always
Definition at line 479 of file spec.c.
References _free(), SpecStruct::BACount, SpecStruct::BANames, SpecStruct::BASpecs, SpecStruct::build, SpecStruct::buildRestrictions, SpecStruct::buildRootURL, SpecStruct::buildSubdir, SpecStruct::clean, closeSpec(), SpecStruct::cookie, OpenFileInfo::fileName, SpecStruct::fileStack, freeFi(), freePackages(), freeSl(), freeSources(), freeSt(), freeStringBuf(), headerFree(), SpecStruct::install, OpenFileInfo::next, ReadLevelEntry::next, SpecStruct::packages, SpecStruct::passPhrase, SpecStruct::prep, SpecStruct::readStack, SpecStruct::recursing, SpecStruct::rootURL, SpecStruct::sl, SpecStruct::sourceCpioList, SpecStruct::sourceHeader, SpecStruct::sourceRpmName, SpecStruct::sources, SpecStruct::specFile, and SpecStruct::st.
Referenced by buildForTarget(), parseSpec(), and readRPM().
Return build time stamp.
Returns: build time stamp
Definition at line 170 of file names.c.
References int_32.
Referenced by headerInject(), and writeRPM().
Return cached group id.
Todo: Implement using hash.
Parameters:
Returns: cached gid
Definition at line 148 of file names.c.
References _, gid_used, gids, gnames, rpmlog(), and xstrdup().
Referenced by genCpioListAndHeader().
Return cached group name from group id.
Todo: Implement using hash.
Parameters:
Returns: cached group name
Definition at line 104 of file names.c.
References _, gid_used, gids, gnames, rpmlog(), and xstrdup().
Referenced by addFile(), checkOwners(), and processSourceFiles().
Return cached group name.
Todo: Implement using hash.
Parameters:
Returns: cached group name
Definition at line 126 of file names.c.
References _, gid_used, gids, gnames, rpmlog(), and xstrdup().
Return cached user id.
Todo: Implement using hash.
Parameters:
Returns: cached uid
Definition at line 82 of file names.c.
References _, rpmlog(), uid_used, uids, unames, and xstrdup().
Referenced by genCpioListAndHeader().
Return cached user name from user id.
Todo: Implement using hash.
Parameters:
Returns: cached user name
Definition at line 38 of file names.c.
References _, rpmlog(), uid_used, uids, unames, and xstrdup().
Referenced by addFile(), checkOwners(), headerInject(), and processSourceFiles().
Return cached user name.
Todo: Implement using hash.
Parameters:
Returns: cached user name
Definition at line 60 of file names.c.
References _, rpmlog(), uid_used, uids, unames, and xstrdup().
Truncate comment lines.
Parameters:
Definition at line 99 of file parseSpec.c.
References SKIPSPACE.
Referenced by copyNextLine(), and processPackageFiles().
Create and initialize header for source package.
Parameters:
Definition at line 2014 of file files.c.
References SpecStruct::BACount, SpecStruct::BANames, SpecStruct::buildRestrictions, PackageStruct::header, HEADER_I18NTABLE, headerAddEntry(), headerFreeData(), headerFreeIterator(), headerInitIterator(), headerNew(), headerNextIterator(), int_32, SpecStruct::packages, RPM_STRING_ARRAY_TYPE, RPMTAG_ARCH, RPMTAG_BUILDARCHS, RPMTAG_CHANGELOGNAME, RPMTAG_CHANGELOGTEXT, RPMTAG_CHANGELOGTIME, RPMTAG_DESCRIPTION, RPMTAG_DISTRIBUTION, RPMTAG_DISTURL, RPMTAG_EPOCH, RPMTAG_GROUP, RPMTAG_LICENSE, RPMTAG_NAME, RPMTAG_OS, RPMTAG_PACKAGER, RPMTAG_RELEASE, RPMTAG_SUMMARY, RPMTAG_URL, RPMTAG_VENDOR, RPMTAG_VERSION, and SpecStruct::sourceHeader.
Referenced by buildForTarget(), and processSourceFiles().
Check line for section separator, return next parser state.
Parameters:
Returns: next parser state
Definition at line 56 of file parseSpec.c.
References initParts(), PartRec::len, PartRec::part, PART_NONE, partList, rpmParseState, PartRec::token, xisspace(), and xstrncasecmp().
Referenced by parseBuildInstallClean(), parseChangelog(), parseDescription(), parseFiles(), parsePreamble(), parsePrep(), and parseScript().
Find sub-package control structure by name.
Parameters:
Return values:
Returns: 0 on success, 1 on failure
Definition at line 61 of file spec.c.
References alloca(), PackageStruct::header, headerNVR(), PackageStruct::next, SpecStruct::packages, and PART_SUBNAME.
Referenced by parseDescription(), parseFiles(), parsePreamble(), and parseScript().
Definition at line 558 of file spec.c.
References OpenFileInfo::fd, OpenFileInfo::fileName, OpenFileInfo::lineNum, OpenFileInfo::next, OpenFileInfo::readBuf, OpenFileInfo::readPtr, and xmalloc().
Referenced by forceIncludeFile(), and parseSpec().
Create and initialize package control structure.
Parameters:
Returns: package control structure
Definition at line 102 of file spec.c.
References PackageStruct::autoProv, PackageStruct::autoReq, PackageStruct::cpioList, PackageStruct::fileFile, PackageStruct::fileList, PackageStruct::header, headerNew(), PackageStruct::icon, PackageStruct::next, SpecStruct::packages, PackageStruct::postInFile, PackageStruct::postUnFile, PackageStruct::preInFile, PackageStruct::preUnFile, PackageStruct::specialDoc, PackageStruct::triggerFiles, PackageStruct::verifyFile, xcalloc(), and xstrdup().
Referenced by parsePreamble(), and readRPM().
Create and initialize Spec structure.
Returns: spec spec file control structure
Definition at line 422 of file spec.c.
References SpecStruct::anyarch, SpecStruct::BACount, SpecStruct::BANames, SpecStruct::BASpecs, SpecStruct::build, SpecStruct::buildRestrictions, SpecStruct::buildRootURL, SpecStruct::buildSubdir, SpecStruct::clean, SpecStruct::cookie, SpecStruct::fileStack, SpecStruct::force, SpecStruct::gotBuildRootURL, headerNew(), SpecStruct::install, SpecStruct::lbuf, SpecStruct::line, SpecStruct::lineNum, SpecStruct::macros, newSl(), newSt(), ReadLevelEntry::next, SpecStruct::nextline, SpecStruct::nextpeekc, SpecStruct::noSource, SpecStruct::numSources, SpecStruct::packages, SpecStruct::passPhrase, SpecStruct::prep, ReadLevelEntry::reading, SpecStruct::readStack, SpecStruct::recursing, SpecStruct::rootURL, SpecStruct::sl, SpecStruct::sourceCpioList, SpecStruct::sourceHeader, SpecStruct::sourceRpmName, SpecStruct::sources, SpecStruct::specFile, SpecStruct::st, SpecStruct::timeCheck, and xcalloc().
Referenced by parseSpec(), and readRPM().
Generate binary package(s).
Parameters:
Returns: 0 on success
Definition at line 689 of file pack.c.
References _, _free(), SpecStruct::cookie, copyTags, PackageStruct::cpioList, errno, fdFree, fdNew, PackageStruct::fileList, genSourceRpmName(), PackageStruct::header, headerAddEntry(), headerCopyTags(), headerNVR(), headerSprintf(), Mkdir(), PackageStruct::next, SpecStruct::packages, SpecStruct::passPhrase, processScriptFiles(), providePackageNVR(), RPM_INT32_TYPE, RPM_STRING_TYPE, RPMERR_BADFILENAME, rpmError, rpmExpand(), rpmGetPath(), RPMLEAD_BINARY, RPMTAG_BUILDHOST, RPMTAG_BUILDTIME, RPMTAG_COOKIE, RPMTAG_OPTFLAGS, RPMTAG_RPMVERSION, RPMTAG_SOURCERPM, SpecStruct::sourceRpmName, Stat(), VERSION, and writeRPM().
Generate source package.
Parameters:
Returns: 0 on success
Definition at line 788 of file pack.c.
References _free(), SpecStruct::cookie, fdFree, fdNew, genSourceRpmName(), headerAddEntry(), SpecStruct::passPhrase, RPM_INT32_TYPE, RPM_STRING_TYPE, rpmGetPath(), RPMLEAD_SOURCE, RPMTAG_BUILDHOST, RPMTAG_BUILDTIME, RPMTAG_RPMVERSION, SpecStruct::sourceCpioList, SpecStruct::sourceHeader, SpecStruct::sourceRpmName, VERSION, and writeRPM().
Parse %build/%install/%clean section(s) of a spec file.
Parameters:
Returns: >= 0 next rpmParseState, < 0 on error
Definition at line 12 of file parseBuildInstallClean.c.
References _, appendStringBuf, SpecStruct::build, SpecStruct::clean, SpecStruct::install, isPart(), SpecStruct::line, SpecStruct::lineNum, newStringBuf(), PART_BUILD, PART_CLEAN, PART_INSTALL, PART_NONE, readLine(), RPMERR_BADSPEC, rpmError, rpmParseState, and STRIP_NOTHING.
Parse %changelog section of a spec file.
Parameters:
Returns: >= 0 next rpmParseState, < 0 on error
Definition at line 205 of file parseChangelog.c.
References addChangelog(), appendStringBuf, freeStringBuf(), PackageStruct::header, isPart(), SpecStruct::line, newStringBuf(), SpecStruct::packages, PART_NONE, readLine(), and STRIP_COMMENTS.
Parse %description section of a spec file.
Parameters:
Returns: >= 0 next rpmParseState, < 0 on error
Definition at line 29 of file parseDescription.c.
References _, _free(), appendLineStringBuf, freeStringBuf(), PackageStruct::header, headerAddI18NString(), headerIsEntry(), isPart(), lang, SpecStruct::line, SpecStruct::lineNum, lookupPackage(), name, newStringBuf(), noLang, optionsTable, PART_NAME, PART_NONE, PART_SUBNAME, readLine(), RPMBUILD_DEFAULT_LANG, RPMERR_BADSPEC, rpmError, RPMTAG_DESCRIPTION, stashSt(), STRIP_COMMENTS, STRIP_TRAILINGSPACE, stripTrailingBlanksStringBuf(), and spectag_s::t_nlines.
Evaluate boolean expression.
Parameters:
Returns:
Definition at line 675 of file expression.c.
References _, _free(), _value::data, DEBUG, doLogical(), _parseState::nextToken, _parseState::p, rdToken(), ReadLevelEntry::reading, SpecStruct::readStack, RPMERR_BADSPEC, rpmError, _parseState::spec, _parseState::str, TOK_EOF, _parseState::tokenValue, _value::type, valueFree(), and xstrdup().
Evaluate string expression.
Parameters:
Returns:
Definition at line 722 of file expression.c.
References _, _free(), _value::data, DEBUG, doLogical(), _parseState::nextToken, _parseState::p, rdToken(), RPMERR_BADSPEC, rpmError, _parseState::spec, _parseState::str, TOK_EOF, _parseState::tokenValue, _value::type, valueFree(), and xstrdup().
Parse %files section of a spec file.
Parameters:
Returns: >= 0 next rpmParseState, < 0 on error
Definition at line 26 of file parseFiles.c.
References _, _free(), appendStringBuf, file, PackageStruct::fileFile, PackageStruct::fileList, isPart(), SpecStruct::line, SpecStruct::lineNum, lookupPackage(), name, newStringBuf(), optionsTable, PART_NAME, PART_NONE, PART_SUBNAME, readLine(), RPMERR_BADSPEC, rpmError, rpmGetPath(), and STRIP_COMMENTS.
Parameters:
Definition at line 205 of file spec.c.
References _, findSource(), Source::flags, SpecStruct::lineNum, parseNum(), RPMBUILD_ISNO, RPMBUILD_ISPATCH, RPMBUILD_ISSOURCE, RPMERR_BADSPEC, rpmError, RPMTAG_NOSOURCE, SKIPNONWHITE, and SKIPWHITE.
Referenced by handlePreambleTag(), and parseSpec().
Parse a number.
Parameters:
Return values:
Returns: 0 on success, 1 on failure
Definition at line 9 of file misc.c.
Referenced by addSource(), doPatchMacro(), doSetupMacro(), handlePreambleTag(), and parseNoSource().
Parse tags from preamble of a spec file.
Parameters:
Definition at line 829 of file parsePreamble.c.
References _, SpecStruct::anyarch, SpecStruct::BANames, SpecStruct::buildRootURL, checkForDuplicates(), checkForRequired(), checkForValidArchitectures(), copyTagsDuringParse, fillOutMainPackage(), findPreambleTag(), SpecStruct::gotBuildRootURL, handlePreambleTag(), PackageStruct::header, headerAddEntry(), headerCopyTags(), headerNVR(), int_32, isPart(), SpecStruct::line, SpecStruct::lineNum, lookupPackage(), newPackage(), SpecStruct::packages, parseSimplePart(), PART_BUILDARCHITECTURES, PART_NONE, PART_SUBNAME, readLine(), SpecStruct::recursing, RPM_STRING_TYPE, RPMERR_BADSPEC, rpmError, rpmGenPath(), RPMTAG_NAME, SKIPSPACE, STRIP_COMMENTS, and STRIP_TRAILINGSPACE.
Parse %prep section of a spec file.
Parameters:
Returns: >= 0 next rpmParseState, < 0 on error
Definition at line 555 of file parsePrep.c.
References _, appendLineStringBuf, appendStringBuf, doPatchMacro(), doSetupMacro(), SpecStruct::force, freeSplitString(), freeStringBuf(), getStringBuf(), isPart(), SpecStruct::line, SpecStruct::lineNum, newStringBuf(), PART_NONE, SpecStruct::prep, SpecStruct::preprocess_mode, readLine(), RPMERR_BADSPEC, rpmError, splitString(), and STRIP_NOTHING.
Parse dependency relations from spec file and/or autogenerated output buffer.
Parameters:
Returns: 0 on success, RPMERR_BADSPEC on failure
Definition at line 35 of file parseReqs.c.
References _, _free(), addReqProv(), SpecStruct::buildRestrictions, PackageStruct::header, SpecStruct::line, SpecStruct::lineNum, ReqComparisons, RPMERR_BADSPEC, rpmError, rpmExpandNumeric(), rpmlibNeedsFeature(), RPMSENSE_ANY, RPMSENSE_CONFLICTS, RPMSENSE_OBSOLETES, RPMSENSE_PREREQ, RPMSENSE_PROVIDES, RPMSENSE_SENSEMASK, RPMSENSE_TRIGGERIN, RPMSENSE_TRIGGERPOSTUN, RPMSENSE_TRIGGERUN, rpmsenseFlags, RPMTAG_BUILDCONFLICTS, RPMTAG_BUILDPREREQ, RPMTAG_BUILDREQUIRES, RPMTAG_CONFLICTFLAGS, RPMTAG_OBSOLETEFLAGS, RPMTAG_PREREQ, RPMTAG_PROVIDEFLAGS, RPMTAG_REQUIREFLAGS, RPMTAG_TRIGGERIN, RPMTAG_TRIGGERPOSTUN, RPMTAG_TRIGGERUN, ReqComp::sense, SKIPNONWHITE, SKIPWHITE, ReqComp::token, xisalnum(), and xmalloc().
Referenced by generateDepends(), handlePreambleTag(), and parseScript().
Parse %pre et al scriptlets from a spec file.
Parameters:
Returns: >= 0 next rpmParseState, < 0 on error
Definition at line 69 of file parseScript.c.
References _, _free(), addReqProv(), addTriggerIndex(), appendStringBuf, file, freeStringBuf(), getStringBuf(), PackageStruct::header, headerAddEntry(), headerIsEntry(), isPart(), SpecStruct::line, SpecStruct::lineNum, lookupPackage(), name, newStringBuf(), optionsTable, parseRCPOT(), PART_NAME, PART_NONE, PART_POST, PART_POSTUN, PART_PRE, PART_PREUN, PART_SUBNAME, PART_TRIGGERIN, PART_TRIGGERPOSTUN, PART_TRIGGERUN, PART_VERIFYSCRIPT, PackageStruct::postInFile, PackageStruct::postUnFile, PackageStruct::preInFile, PackageStruct::preUnFile, prog, readLine(), RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, RPMERR_BADSPEC, rpmError, rpmlibNeedsFeature(), RPMSENSE_INTERP, RPMSENSE_SCRIPT_POST, RPMSENSE_SCRIPT_POSTUN, RPMSENSE_SCRIPT_PRE, RPMSENSE_SCRIPT_PREUN, RPMSENSE_SCRIPT_VERIFY, RPMTAG_POSTIN, RPMTAG_POSTINPROG, RPMTAG_POSTUN, RPMTAG_POSTUNPROG, RPMTAG_PREIN, RPMTAG_PREINPROG, RPMTAG_PREUN, RPMTAG_PREUNPROG, RPMTAG_TRIGGERIN, RPMTAG_TRIGGERPOSTUN, RPMTAG_TRIGGERSCRIPTPROG, RPMTAG_TRIGGERSCRIPTS, RPMTAG_TRIGGERUN, RPMTAG_VERIFYSCRIPT, RPMTAG_VERIFYSCRIPTPROG, STRIP_NOTHING, stripTrailingBlanksStringBuf(), PackageStruct::verifyFile, and xstrdup().
Parse spec file into spec control structure.
Return values:
Parameters:
Definition at line 393 of file parseSpec.c.
References _, _free(), _rpm_nopatch, _rpm_nosource, addMacro(), SpecStruct::anyarch, SpecStruct::BACount, SpecStruct::BANames, SpecStruct::BASpecs, SpecStruct::buildRootURL, closeSpec(), SpecStruct::cookie, delMacro(), OpenFileInfo::fileName, SpecStruct::fileStack, SpecStruct::force, freeSpec(), SpecStruct::gotBuildRootURL, PackageStruct::header, headerAddEntry(), headerIsEntry(), headerNVR(), SpecStruct::macros, newOpenFileInfo(), newSpec(), PackageStruct::next, SpecStruct::noSource, SpecStruct::packages, parseBuildInstallClean(), parseChangelog(), parseDescription(), parseFiles(), parseNoSource(), parsePreamble(), parsePrep(), parseScript(), PART_BUILD, PART_BUILDARCHITECTURES, PART_CHANGELOG, PART_CLEAN, PART_DESCRIPTION, PART_FILES, PART_INSTALL, PART_LAST, PART_NONE, PART_POST, PART_POSTUN, PART_PRE, PART_PREAMBLE, PART_PREP, PART_PREUN, PART_TRIGGERIN, PART_TRIGGERPOSTUN, PART_TRIGGERUN, PART_VERIFYSCRIPT, SpecStruct::passPhrase, SpecStruct::preprocess_mode, SpecStruct::recursing, RMIL_RPMRC, RMIL_SPEC, SpecStruct::rootURL, RPM_MACHTABLE_BUILDARCH, RPM_STRING_TYPE, RPMERR_BADSPEC, rpmError, rpmExpand(), rpmExpandNumeric(), rpmGetArchInfo(), rpmGetMachine(), rpmGetOsInfo(), rpmGetPath(), rpmMachineScore(), rpmParseState, rpmSetMachine(), RPMTAG_ARCH, RPMTAG_DESCRIPTION, RPMTAG_NOPATCH, RPMTAG_NOSOURCE, RPMTAG_OS, RPMTAG_PLATFORM, RPMTAG_RHNPLATFORM, SpecStruct::specFile, SpecStruct::timeCheck, urlPath(), xcalloc(), and xstrdup().
Referenced by buildForTarget().
Post-build processing for binary package(s).
Parameters:
Returns: 0 on success
Definition at line 2743 of file files.c.
References _, PackageStruct::cpioList, PackageStruct::fileList, generateDepends(), PackageStruct::header, headerIsEntry(), headerNVR(), PackageStruct::next, SpecStruct::packages, printDeps(), processPackageFiles(), RPMMESS_NORMAL, rpmMessage, and RPMTAG_MULTILIBS.
Post-build processing for source package.
Parameters:
Returns: 0 on success
Definition at line 2077 of file files.c.
References _, _free(), appendLineStringBuf, FileList_s::buildRootURL, FileListRec_s::diskURL, errno, FileList_s::fileList, FileList_s::fileListRecsUsed, FileListRec_s::fileURL, FileListRec_s::fl_st, Source::flags, FileListRec_s::flags, freeFileList(), freeSplitString(), freeStringBuf(), genCpioListAndHeader(), getGname(), getStringBuf(), getUname(), FileListRec_s::gname, headerAddOrAppendEntry(), PackageStruct::icon, initSourceHeader(), FileListRec_s::langs, newStringBuf(), Source::next, PackageStruct::next, Source::num, SpecStruct::numSources, SpecStruct::packages, FileList_s::prefix, FileList_s::processingFailed, RPM_INT32_TYPE, RPM_STRING_ARRAY_TYPE, RPMBUILD_ISNO, RPMBUILD_ISPATCH, RPMBUILD_ISSOURCE, RPMERR_BADSPEC, rpmError, RPMFILE_GHOST, RPMFILE_SPECFILE, rpmGetPath(), RPMTAG_NOPATCH, RPMTAG_NOSOURCE, RPMTAG_PATCH, RPMTAG_SOURCE, RPMVERIFY_ALL, SKIPSPACE, Source::source, SpecStruct::sourceCpioList, SpecStruct::sourceHeader, SpecStruct::sources, SpecStruct::specFile, splitString(), Stat(), FileList_s::totalFileSize, FileListRec_s::uname, urlPath(), FileListRec_s::verifyFlags, xcalloc(), and xstrdup().
Read next line from spec file.
Parameters:
Returns: 0 on success, 1 on EOF, <0 on error
Definition at line 181 of file parseSpec.c.
References _, _free(), copyNextLine(), Fclose(), OpenFileInfo::fd, fdGetFp(), Ferror(), SpecStruct::fileStack, Fopen(), forceIncludeFile(), SpecStruct::line, SpecStruct::lineNum, matchTok(), ReadLevelEntry::next, OpenFileInfo::next, parseExpressionBoolean(), SpecStruct::preprocess_mode, ReadLevelEntry::reading, OpenFileInfo::readPtr, SpecStruct::readStack, RPMERR_BADSPEC, RPMERR_UNMATCHEDIF, rpmError, rpmExpand(), rpmGetArchInfo(), rpmGetOsInfo(), SKIPNONSPACE, SKIPSPACE, SpecStruct::sl, speclines_s::sl_lines, speclines_s::sl_nalloc, speclines_s::sl_nlines, xisspace(), xmalloc(), xrealloc(), and xstrdup().
Referenced by parseBuildInstallClean(), parseChangelog(), parseDescription(), parseFiles(), parsePreamble(), parsePrep(), and parseScript().
Add rpmlib feature dependency.
Parameters:
Returns: 0 always
Definition at line 120 of file reqprov.c.
References addReqProv(), alloca(), RPMSENSE_EQUAL, RPMSENSE_LESS, RPMSENSE_RPMLIB, and stpcpy().
Referenced by genCpioListAndHeader(), parseRCPOT(), parseScript(), processPackageFiles(), and writeRPM().
Parameters:
Definition at line 406 of file parsePreamble.c.
References HGE_t, SpecStruct::lineNum, RPMBUILD_DEFAULT_LANG, RPMTAG_NAME, SpecStruct::st, spectags_s::st_nalloc, spectags_s::st_ntags, spectags_s::st_t, spectag_s::t_lang, spectag_s::t_msgid, spectag_s::t_nlines, spectag_s::t_startx, spectag_s::t_tag, tagName(), xrealloc(), and xstrdup().
Referenced by handlePreambleTag(), and parseDescription().
Todo:
Eliminate linkage loop into librpmbuild.a
Definition at line 207 of file rpmspec.h.
Todo:
Eliminate linkage loop into librpmbuild.a
Definition at line 495 of file rpmbuild.h.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |