The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

rpmbuild ()
  • >> rpmbuild (3) ( Linux man: Библиотечные вызовы )
  • rpmbuild (8) ( Linux man: Команды системного администрирования )
  •  

    NAME

    RPMBUILD. - 
     
    

    Files


    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.

     

    Data Structures


    struct OpenFileInfo

    struct PackageStruct

    struct ReadLevelEntry

    struct Source

    struct speclines_s

    struct SpecStruct

    struct spectag_s

    struct spectags_s

    struct TriggerFileEntry
     

    Typedefs


    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
     

    Enumerations


    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 }
     

    Functions


    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)
     

    Variables


    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)
     

    TYPEDEF DOCUMENTATION

     

    typedef struct OpenFileInfo OFI_t

     

    typedef struct PackageStruct* Package

    Definition at line 179 of file rpmspec.h.  

    typedef struct ReadLevelEntry RLE_t

     

    typedef enum rpmBuildFlags_e rpmBuildFlags

    Bit(s) to control buildSpec() operation.  

    typedef enum rpmParseState_e rpmParseState

    Spec file parser states.

    Referenced by isPart(), parseBuildInstallClean(), and parseSpec().  

    typedef struct SpecStruct* Spec

    Definition at line 11 of file rpmspec.h.  

    typedef struct speclines_s * speclines

     

    typedef struct spectag_s * spectag

     

    typedef struct spectags_s * spectags

     

    ENUMERATION TYPE DOCUMENTATION

     

    enum rpmBuildFlags_e

    Bit(s) to control buildSpec() operation.

    Enumeration values:

    RPMBUILD_NONE
    RPMBUILD_PREP
    Execute %prep.
    RPMBUILD_BUILD
    Execute %build.
    RPMBUILD_INSTALL
    Execute %install.
    RPMBUILD_CLEAN
    Execute %clean.
    RPMBUILD_FILECHECK
    Check %files manifest.
    RPMBUILD_PACKAGESOURCE
    Create source package.
    RPMBUILD_PACKAGEBINARY
    Create binary package(s).
    RPMBUILD_RMSOURCE
    Remove source(s) and patch(s).
    RPMBUILD_RMBUILD
    Remove build sub-tree.
    RPMBUILD_STRINGBUF
    only for doScript()
    RPMBUILD_RMSPEC
    Remove spec file.
    RPMBUILD_PREPROCESS
    Preprocess spec file only.

    Definition at line 22 of file rpmbuild.h.  

    enum rpmParseState_e

    Spec file parser states.

    Enumeration values:

    PART_NONE
    PART_PREAMBLE
    PART_PREP
    PART_BUILD
    PART_INSTALL
    PART_CLEAN
    PART_FILES
    PART_PRE
    PART_POST
    PART_PREUN
    PART_POSTUN
    PART_DESCRIPTION
    PART_CHANGELOG
    PART_TRIGGERIN
    PART_TRIGGERUN
    PART_VERIFYSCRIPT
    PART_BUILDARCHITECTURES
    PART_TRIGGERPOSTUN
    PART_LAST

    Definition at line 52 of file rpmbuild.h.  

    FUNCTION DOCUMENTATION

     

    void addChangelogEntry (Header h, time_t time, const char * name, const char * text)

    Add changelog entry to header.

    Parameters:

    h
    header
    time
    time of change
    name
    person who made the change
    text
    description of change

    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().  

    int addReqProv (Spec spec, Header h, rpmsenseFlags depFlags, const char * depName, const char * depEVR, int index)

    Add dependency to header, filtering duplicates.

    Parameters:

    spec
    spec file control structure
    h
    header
    depFlags
    (e.g. Requires: foo < 0:1.2-3, both 'Requires:' and '<')
    depName
    (e.g. Requires: foo < 0:1.2-3, 'foo')
    depEVR
    (e.g. Requires: foo < 0:1.2-3, '0:1.2-3')
    index
    (0 always)

    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().  

    int addSource (Spec spec, Package pkg, const char * field, int tag)

    Parameters:

    spec
    spec file control structure

    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().  

    const char* const buildHost (void)

    Return build hostname.

    Returns: build hostname

    Definition at line 179 of file names.c.

    References _, RPMMESS_WARNING, and rpmMessage.

    Referenced by headerInject(), and writeRPM().  

    int buildSpec (Spec spec, int what, int test)

    Build stages state machine driver.

    Parameters:

    spec
    spec file control structure
    what
    bit(s) to enable stages of build
    test
    don't execute scripts or package if testing

    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().  

    void closeSpec (Spec spec)

    Stop reading from spec file, freeing resources.

    Parameters:

    spec
    spec file control structure

    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().  

    int doScript (Spec spec, int what, const char * name, StringBuf sb, int test)

    Run a build script, assembled from spec file scriptlet section.

    Parameters:

    spec
    spec file control structure
    what
    type of script
    name
    name of scriptlet section
    sb
    lines that compose script body
    test
    don't execute scripts or package if testing

    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().  

    void freeNames (void)

    Destroy uid/gid caches.

    Definition at line 29 of file names.c.

    References _free(), gid_used, gnames, uid_used, and unames.

    Referenced by main().  

    Package freePackage (Package pkg)

    Destroy package control structure.

    Parameters:

    pkg
    package control structure

    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.

    Referenced by freePackages().  

    Package freePackages (Package packages)

    Destroy all packages associated with spec file.

    Parameters:

    packages
    package control structure chain

    Returns: NULL

    Definition at line 180 of file spec.c.

    References freePackage(), and PackageStruct::next.

    Referenced by freeSpec().  

    Spec freeSpec (Spec spec)

    Destroy Spec structure.

    Parameters:

    spec
    spec file control structure

    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().  

    int_32* const getBuildTime (void)

    Return build time stamp.

    Returns: build time stamp

    Definition at line 170 of file names.c.

    References int_32.

    Referenced by headerInject(), and writeRPM().  

    gid_t getGidS (const char * gname)

    Return cached group id.

    Todo: Implement using hash.

    Parameters:

    gname
    group name

    Returns: cached gid

    Definition at line 148 of file names.c.

    References _, gid_used, gids, gnames, rpmlog(), and xstrdup().

    Referenced by genCpioListAndHeader().  

    const char* getGname (gid_t gid)

    Return cached group name from group id.

    Todo: Implement using hash.

    Parameters:

    gid
    group id

    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().  

    const char* getGnameS (const char * gname)

    Return cached group name.

    Todo: Implement using hash.

    Parameters:

    gname
    group name

    Returns: cached group name

    Definition at line 126 of file names.c.

    References _, gid_used, gids, gnames, rpmlog(), and xstrdup().

    Referenced by addFile().  

    uid_t getUidS (const char * uname)

    Return cached user id.

    Todo: Implement using hash.

    Parameters:

    uname
    user name

    Returns: cached uid

    Definition at line 82 of file names.c.

    References _, rpmlog(), uid_used, uids, unames, and xstrdup().

    Referenced by genCpioListAndHeader().  

    const char* getUname (uid_t uid)

    Return cached user name from user id.

    Todo: Implement using hash.

    Parameters:

    uid
    user id

    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().  

    const char* getUnameS (const char * uname)

    Return cached user name.

    Todo: Implement using hash.

    Parameters:

    uname
    user name

    Returns: cached user name

    Definition at line 60 of file names.c.

    References _, rpmlog(), uid_used, uids, unames, and xstrdup().

    Referenced by addFile().  

    void handleComments (char * s)

    Truncate comment lines.

    Parameters:

    s
    skip white space, truncate line at '#'

    Definition at line 99 of file parseSpec.c.

    References SKIPSPACE.

    Referenced by copyNextLine(), and processPackageFiles().  

    void initSourceHeader (Spec spec)

    Create and initialize header for source package.

    Parameters:

    spec
    spec file control structure

    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().  

    rpmParseState isPart (const char * line)

    Check line for section separator, return next parser state.

    Parameters:

    line
    from spec file

    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().  

    int lookupPackage (Spec spec, const char * name, int flag, Package * pkg)

    Find sub-package control structure by name.

    Parameters:

    spec
    spec file control structure
    name
    (sub-)package name
    flag
    if PART_SUBNAME, then 1st package name is prepended

    Return values:

    pkg
    package control structure

    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().  

    struct OpenFileInfo* newOpenFileInfo (void)

    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().  

    Package newPackage (Spec spec)

    Create and initialize package control structure.

    Parameters:

    spec
    spec file control structure

    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().  

    Spec newSpec (void)

    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().  

    int packageBinaries (Spec spec)

    Generate binary package(s).

    Parameters:

    spec
    spec file control structure

    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().

    Referenced by buildSpec().  

    int packageSources (Spec spec)

    Generate source package.

    Parameters:

    spec
    spec file control structure

    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().

    Referenced by buildSpec().  

    int parseBuildInstallClean (Spec spec, rpmParseState parsePart)

    Parse %build/%install/%clean section(s) of a spec file.

    Parameters:

    spec
    spec file control structure
    parsePart
    current rpmParseState

    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.

    Referenced by parseSpec().  

    int parseChangelog (Spec spec)

    Parse %changelog section of a spec file.

    Parameters:

    spec
    spec file control structure

    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.

    Referenced by parseSpec().  

    int parseDescription (Spec spec)

    Parse %description section of a spec file.

    Parameters:

    spec
    spec file control structure

    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.

    Referenced by parseSpec().  

    int parseExpressionBoolean (Spec spec, const char * expr)

    Evaluate boolean expression.

    Parameters:

    spec
    spec file control structure
    expr
    expression to parse

    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().

    Referenced by readLine().  

    char* parseExpressionString (Spec spec, const char * expr)

    Evaluate string expression.

    Parameters:

    spec
    spec file control structure
    expr
    expression to parse

    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().  

    int parseFiles (Spec spec)

    Parse %files section of a spec file.

    Parameters:

    spec
    spec file control structure

    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.

    Referenced by parseSpec().  

    int parseNoSource (Spec spec, const char * field, int tag)

    Parameters:

    spec
    spec file control structure

    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().  

    int parseNum (const char * line, int * res)

    Parse a number.

    Parameters:

    line
    from spec file

    Return values:

    res
    pointer to int

    Returns: 0 on success, 1 on failure

    Definition at line 9 of file misc.c.

    Referenced by addSource(), doPatchMacro(), doSetupMacro(), handlePreambleTag(), and parseNoSource().  

    int parsePreamble (Spec spec, int initialPackage)

    Parse tags from preamble of a spec file.

    Parameters:

    spec
    spec file control structure
    initialPackage
    Returns: >= 0 next rpmParseState, < 0 on error

    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.

    Referenced by parseSpec().  

    int parsePrep (Spec spec)

    Parse %prep section of a spec file.

    Parameters:

    spec
    spec file control structure

    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.

    Referenced by parseSpec().  

    int parseRCPOT (Spec spec, Package pkg, const char * field, int tag, int index, rpmsenseFlags tagflags)

    Parse dependency relations from spec file and/or autogenerated output buffer.

    Parameters:

    spec
    spec file control structure
    pkg
    package control structure
    field
    text to parse (e.g. 'foo < 0:1.2-3, bar = 5:6.7')
    tag
    tag, identifies type of dependency
    index
    (0 always)
    tagflags
    dependency flags already known from context

    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().  

    int parseScript (Spec spec, int parsePart)

    Parse %pre et al scriptlets from a spec file.

    Parameters:

    spec
    spec file control structure
    parsePart
    current rpmParseState

    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().

    Referenced by parseSpec().  

    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)

    Parse spec file into spec control structure.

    Return values:

    specp
    spec file control structure

    Parameters:

    specFile
    rootURL
    buildRootURL
    recursing
    parse is recursive?
    passPhrase
    cookie
    anyarch
    force
    preprocess
    Returns:

    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().  

    int processBinaryFiles (Spec spec, int installSpecialDoc, int test)

    Post-build processing for binary package(s).

    Parameters:

    spec
    spec file control structure
    installSpecialDoc
    test
    don't execute scripts or package if testing

    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.

    Referenced by buildSpec().  

    int processSourceFiles (Spec spec)

    Post-build processing for source package.

    Parameters:

    spec
    spec file control structure

    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().

    Referenced by buildSpec().  

    int readLine (Spec spec, int strip)

    Read next line from spec file.

    Parameters:

    spec
    spec file control structure
    strip
    truncate comments?

    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().  

    int rpmlibNeedsFeature (Header h, const char * feature, const char * featureEVR)

    Add rpmlib feature dependency.

    Parameters:

    h
    header
    feature
    rpm feature name (i.e. 'rpmlib(Foo)' for feature Foo)
    featureEVR
    rpm feature epoch/version/release

    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().  

    spectag stashSt (Spec spec, Header h, int tag, const char * lang)

    Parameters:

    spec
    spec file control structure

    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().  

    VARIABLE DOCUMENTATION

     

    Spec(* freeSpecVec)(Spec spec) (Spec spec)

    Todo:
     Eliminate linkage loop into librpmbuild.a  

    Definition at line 207 of file rpmspec.h.  

    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 * specp, const char * specFile, const char * rootdir, const char * buildRoot, int recursing, const char * passPhrase, char * cookie, int anyarch, int force, int preprocess)

    Todo:
     Eliminate linkage loop into librpmbuild.a  

    Definition at line 495 of file rpmbuild.h.


     

    Index

    NAME
    Files
    Data Structures
    Typedefs
    Enumerations
    Functions
    Variables
    TYPEDEF DOCUMENTATION
    typedef struct OpenFileInfo OFI_t
    typedef struct PackageStruct* Package
    typedef struct ReadLevelEntry RLE_t
    typedef enum rpmBuildFlags_e rpmBuildFlags
    typedef enum rpmParseState_e rpmParseState
    typedef struct SpecStruct* Spec
    typedef struct speclines_s * speclines
    typedef struct spectag_s * spectag
    typedef struct spectags_s * spectags
    ENUMERATION TYPE DOCUMENTATION
    enum rpmBuildFlags_e
    enum rpmParseState_e
    FUNCTION DOCUMENTATION
    void addChangelogEntry (Header h, time_t time, const char * name, const char * text)
    int addReqProv (Spec spec, Header h, rpmsenseFlags depFlags, const char * depName, const char * depEVR, int index)
    int addSource (Spec spec, Package pkg, const char * field, int tag)
    const char* const buildHost (void)
    int buildSpec (Spec spec, int what, int test)
    void closeSpec (Spec spec)
    int doScript (Spec spec, int what, const char * name, StringBuf sb, int test)
    void freeNames (void)
    Package freePackage (Package pkg)
    Package freePackages (Package packages)
    Spec freeSpec (Spec spec)
    int_32* const getBuildTime (void)
    gid_t getGidS (const char * gname)
    const char* getGname (gid_t gid)
    const char* getGnameS (const char * gname)
    uid_t getUidS (const char * uname)
    const char* getUname (uid_t uid)
    const char* getUnameS (const char * uname)
    void handleComments (char * s)
    void initSourceHeader (Spec spec)
    rpmParseState isPart (const char * line)
    int lookupPackage (Spec spec, const char * name, int flag, Package * pkg)
    struct OpenFileInfo* newOpenFileInfo (void)
    Package newPackage (Spec spec)
    Spec newSpec (void)
    int packageBinaries (Spec spec)
    int packageSources (Spec spec)
    int parseBuildInstallClean (Spec spec, rpmParseState parsePart)
    int parseChangelog (Spec spec)
    int parseDescription (Spec spec)
    int parseExpressionBoolean (Spec spec, const char * expr)
    char* parseExpressionString (Spec spec, const char * expr)
    int parseFiles (Spec spec)
    int parseNoSource (Spec spec, const char * field, int tag)
    int parseNum (const char * line, int * res)
    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 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 processBinaryFiles (Spec spec, int installSpecialDoc, int test)
    int processSourceFiles (Spec spec)
    int readLine (Spec spec, int strip)
    int rpmlibNeedsFeature (Header h, const char * feature, const char * featureEVR)
    spectag stashSt (Spec spec, Header h, int tag, const char * lang)
    VARIABLE DOCUMENTATION
    Spec(* freeSpecVec)(Spec spec) (Spec spec)
    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 * specp, const char * specFile, const char * rootdir, const char * buildRoot, int recursing, const char * passPhrase, char * cookie, int anyarch, int force, int preprocess)


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру