!C99Shell v. 1.0 pre-release build #16!

Software: Apache/2.0.54 (Fedora). PHP/5.0.4 

uname -a: Linux mina-info.me 2.6.17-1.2142_FC4smp #1 SMP Tue Jul 11 22:57:02 EDT 2006 i686 

uid=48(apache) gid=48(apache) groups=48(apache)
context=system_u:system_r:httpd_sys_script_t
 

Safe-mode: OFF (not secure)

/usr/include/rpm/   drwxr-xr-x
Free 3.84 GB of 27.03 GB (14.22%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     rpmbuild.h (17.04 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#ifndef    _H_RPMBUILD_
#define    _H_RPMBUILD_

/** \ingroup rpmbuild
* \file build/rpmbuild.h
*  This is the *only* module users of librpmbuild should need to include.
*/

#include "rpmcli.h"

/* and it shouldn't need these :-( */
#include "stringbuf.h"
#include "misc.h"

/* but this will be needed */
#include "rpmspec.h"

/** \ingroup rpmbuild
* Bit(s) to control buildSpec() operation.
*/
/*@-typeuse@*/
typedef enum rpmBuildFlags_e {
/*@-enummemuse@*/
    RPMBUILD_NONE    = 0,
/*@=enummemuse@*/
    RPMBUILD_PREP    = (1 <<  0),    /*!< Execute %%prep. */
    RPMBUILD_BUILD    = (1 <<  1),    /*!< Execute %%build. */
    RPMBUILD_INSTALL    = (1 <<  2),    /*!< Execute %%install. */
    RPMBUILD_CHECK    = (1 <<  3),    /*!< Execute %%check. */
    RPMBUILD_CLEAN    = (1 <<  4),    /*!< Execute %%clean. */
    RPMBUILD_FILECHECK    = (1 <<  5),    /*!< Check %%files manifest. */
    RPMBUILD_PACKAGESOURCE = (1 <<  6),    /*!< Create source package. */
    RPMBUILD_PACKAGEBINARY = (1 <<  7),    /*!< Create binary package(s). */
    RPMBUILD_RMSOURCE    = (1 <<  8),    /*!< Remove source(s) and patch(s). */
    RPMBUILD_RMBUILD    = (1 <<  9),    /*!< Remove build sub-tree. */
    RPMBUILD_STRINGBUF    = (1 << 10),    /*!< only for doScript() */
    RPMBUILD_RMSPEC    = (1 << 11)    /*!< Remove spec file. */
} rpmBuildFlags;
/*@=typeuse@*/

#include <ctype.h>

#define SKIPSPACE(s) { while (*(s) && xisspace(*(s))) (s)++; }
#define SKIPNONSPACE(s) { while (*(s) && !xisspace(*(s))) (s)++; }

#define PART_SUBNAME  0
#define PART_NAME     1

/** \ingroup rpmbuild
* Spec file parser states.
*/
typedef enum rpmParseState_e {
    PART_NONE        =  0,    /*!< */
    PART_PREAMBLE    =  1,    /*!< */
    PART_PREP        =  2,    /*!< */
    PART_BUILD        =  3,    /*!< */
    PART_INSTALL    =  4,    /*!< */
    PART_CHECK        =  5,    /*!< */
    PART_CLEAN        =  6,    /*!< */
    PART_FILES        =  7,    /*!< */
    PART_PRE        =  8,    /*!< */
    PART_POST        =  9,    /*!< */
    PART_PREUN        = 10,    /*!< */
    PART_POSTUN        = 11,    /*!< */
    PART_PRETRANS    = 12,    /*!< */
    PART_POSTTRANS    = 13,    /*!< */
    PART_DESCRIPTION    = 14,    /*!< */
    PART_CHANGELOG    = 15,    /*!< */
    PART_TRIGGERIN    = 16,    /*!< */
    PART_TRIGGERUN    = 17,    /*!< */
    PART_VERIFYSCRIPT    = 18,    /*!< */
    PART_BUILDARCHITECTURES= 19,/*!< */
    PART_TRIGGERPOSTUN    = 20,    /*!< */
    PART_LAST        = 21    /*!< */
} rpmParseState;

#define STRIP_NOTHING             0
#define STRIP_TRAILINGSPACE (1 << 0)
#define STRIP_COMMENTS      (1 << 1)

#ifdef __cplusplus
extern "C" {
#endif
/*@-redecl@*/

/** \ingroup rpmbuild
* Destroy uid/gid caches.
*/
void freeNames(void)
    /*@globals internalState@*/
    /*@modifies internalState */;

/** \ingroup rpmbuild
* Return cached user name from user id.
* @todo Implement using hash.
* @param uid        user id
* @return        cached user name
*/
extern /*@observer@*/ const char * getUname(uid_t uid)
    /*@globals internalState @*/
    /*@modifies internalState @*/;

/** \ingroup rpmbuild
* Return cached user name.
* @todo Implement using hash.
* @param uname        user name
* @return        cached user name
*/
extern /*@observer@*/ const char * getUnameS(const char * uname)
    /*@globals internalState @*/
    /*@modifies internalState @*/;

/** \ingroup rpmbuild
* Return cached user id.
* @todo Implement using hash.
* @param uname        user name
* @return        cached uid
*/
uid_t getUidS(const char * uname)
    /*@globals internalState @*/
    /*@modifies internalState @*/;

/** \ingroup rpmbuild
* Return cached group name from group id.
* @todo Implement using hash.
* @param gid        group id
* @return        cached group name
*/
extern /*@observer@*/ const char * getGname(gid_t gid)
    /*@globals internalState @*/
    /*@modifies internalState @*/;

/** \ingroup rpmbuild
* Return cached group name.
* @todo Implement using hash.
* @param gname        group name
* @return        cached group name
*/
extern /*@observer@*/ const char * getGnameS(const char * gname)
    /*@globals internalState @*/
    /*@modifies internalState @*/;

/** \ingroup rpmbuild
* Return cached group id.
* @todo Implement using hash.
* @param gname        group name
* @return        cached gid
*/
gid_t getGidS(const char * gname)
    /*@globals internalState @*/
    /*@modifies internalState @*/;

/** \ingroup rpmbuild
* Return build hostname.
* @return        build hostname
*/
extern /*@observer@*/ const char * const buildHost(void)    /*@*/;

/** \ingroup rpmbuild
* Return build time stamp.
* @return        build time stamp
*/
extern /*@observer@*/ int_32 * const getBuildTime(void)    /*@*/;

/** \ingroup rpmbuild
* Read next line from spec file.
* @param spec        spec file control structure
* @param strip        truncate comments?
* @return        0 on success, 1 on EOF, <0 on error
*/
int readLine(Spec spec, int strip)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies spec->fileStack, spec->readStack, spec->line, spec->lineNum,
        spec->nextline, spec->nextpeekc, spec->lbuf, spec->sl,
        rpmGlobalMacroContext, fileSystem, internalState  @*/;

/** \ingroup rpmbuild
* Stop reading from spec file, freeing resources.
* @param spec        spec file control structure
*/
void closeSpec(/*@partial@*/ Spec spec)
    /*@globals fileSystem, internalState @*/
    /*@modifies spec->fileStack, fileSystem, internalState @*/;

/** \ingroup rpmbuild
* Truncate comment lines.
* @param s        skip white space, truncate line at '#'
*/
void handleComments(char * s)
    /*@modifies s @*/;

/** \ingroup rpmbuild
* Check line for section separator, return next parser state.
* @param        line from spec file
* @return        next parser state
*/
rpmParseState isPart(const char * line)    /*@*/;

/** \ingroup rpmbuild
* Parse a number.
* @param        line from spec file
* @retval res        pointer to int
* @return        0 on success, 1 on failure
*/
int parseNum(/*@null@*/ const char * line, /*@null@*/ /*@out@*/int * res)
    /*@modifies *res @*/;

/** \ingroup rpmbuild
* Add changelog entry to header.
* @param h        header
* @param time        time of change
* @param name        person who made the change
* @param text        description of change
*/
void addChangelogEntry(Header h, time_t time, const char * name,
        const char * text)
    /*@modifies h @*/;

/** \ingroup rpmbuild
* Parse %%build/%%install/%%clean section(s) of a spec file.
* @param spec        spec file control structure
* @param parsePart    current rpmParseState
* @return        >= 0 next rpmParseState, < 0 on error
*/
int parseBuildInstallClean(Spec spec, rpmParseState parsePart)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies spec->build, spec->install, spec->check, spec->clean,
        spec->macros,
        spec->fileStack, spec->readStack, spec->line, spec->lineNum,
        spec->nextline, spec->nextpeekc, spec->lbuf, spec->sl,
        rpmGlobalMacroContext, fileSystem, internalState @*/;

/** \ingroup rpmbuild
* Parse %%changelog section of a spec file.
* @param spec        spec file control structure
* @return        >= 0 next rpmParseState, < 0 on error
*/
int parseChangelog(Spec spec)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies spec->fileStack, spec->readStack, spec->line, spec->lineNum,
        spec->nextline, spec->nextpeekc, spec->lbuf, spec->sl,
        spec->packages->header,
        rpmGlobalMacroContext, fileSystem, internalState @*/;

/** \ingroup rpmbuild
* Parse %%description section of a spec file.
* @param spec        spec file control structure
* @return        >= 0 next rpmParseState, < 0 on error
*/
int parseDescription(Spec spec)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies spec->packages,
        spec->fileStack, spec->readStack, spec->line, spec->lineNum,
        spec->nextline, spec->nextpeekc, spec->lbuf, spec->sl,
        spec->st,
        rpmGlobalMacroContext, fileSystem, internalState  @*/;

/** \ingroup rpmbuild
* Parse %%files section of a spec file.
* @param spec        spec file control structure
* @return        >= 0 next rpmParseState, < 0 on error
*/
int parseFiles(Spec spec)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies spec->packages,
        spec->fileStack, spec->readStack, spec->line, spec->lineNum,
        spec->nextline, spec->nextpeekc, spec->lbuf, spec->sl,
        rpmGlobalMacroContext, fileSystem, internalState @*/;

/** \ingroup rpmbuild
* Parse tags from preamble of a spec file.
* @param spec        spec file control structure
* @param initialPackage
* @return        >= 0 next rpmParseState, < 0 on error
*/
int parsePreamble(Spec spec, int initialPackage)
    /*@globals rpmGlobalMacroContext, h_errno,
        fileSystem, internalState @*/
    /*@modifies spec->packages,
        spec->fileStack, spec->readStack, spec->line, spec->lineNum,
        spec->buildSubdir,
        spec->macros, spec->st, spec->buildRootURL,
        spec->sources, spec->numSources, spec->noSource,
        spec->buildRestrictions, spec->BANames, spec->BACount,
        spec->gotBuildRootURL,
        spec->nextline, spec->nextpeekc, spec->lbuf, spec->sl,
        rpmGlobalMacroContext, fileSystem, internalState @*/;

/** \ingroup rpmbuild
* Parse %%prep section of a spec file.
* @param spec        spec file control structure
* @return        >= 0 next rpmParseState, < 0 on error
*/
int parsePrep(Spec spec)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies spec->prep, spec->buildSubdir, spec->macros,
        spec->fileStack, spec->readStack, spec->line, spec->lineNum,
        spec->nextline, spec->nextpeekc, spec->lbuf, spec->sl,
        rpmGlobalMacroContext, fileSystem, internalState @*/;

/** \ingroup rpmbuild
* Parse dependency relations from spec file and/or autogenerated output buffer.
* @param spec        spec file control structure
* @param pkg        package control structure
* @param field        text to parse (e.g. "foo < 0:1.2-3, bar = 5:6.7")
* @param tagN        tag, identifies type of dependency
* @param index        (0 always)
* @param tagflags    dependency flags already known from context
* @return        0 on success, RPMERR_BADSPEC on failure
*/
int parseRCPOT(Spec spec, Package pkg, const char * field, rpmTag tagN,
        int index, rpmsenseFlags tagflags)
    /*@globals rpmGlobalMacroContext, h_errno @*/
    /*@modifies rpmGlobalMacroContext @*/;

/** \ingroup rpmbuild
* Parse %%pre et al scriptlets from a spec file.
* @param spec        spec file control structure
* @param parsePart    current rpmParseState
* @return        >= 0 next rpmParseState, < 0 on error
*/
int parseScript(Spec spec, int parsePart)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies spec->packages,
        spec->fileStack, spec->readStack, spec->line, spec->lineNum,
        spec->nextline, spec->nextpeekc, spec->lbuf, spec->sl,
        rpmGlobalMacroContext, fileSystem, internalState  @*/;

/** \ingroup rpmbuild
* Evaluate boolean expression.
* @param spec        spec file control structure
* @param expr        expression to parse
* @return
*/
int parseExpressionBoolean(Spec spec, const char * expr)
    /*@globals rpmGlobalMacroContext, h_errno @*/
    /*@modifies rpmGlobalMacroContext @*/;

/** \ingroup rpmbuild
* Evaluate string expression.
* @param spec        spec file control structure
* @param expr        expression to parse
* @return
*/
/*@unused@*/ /*@null@*/
char * parseExpressionString(Spec spec, const char * expr)
    /*@globals rpmGlobalMacroContext, h_errno @*/
    /*@modifies rpmGlobalMacroContext @*/;

/** \ingroup rpmbuild
* Run a build script, assembled from spec file scriptlet section.
*
* @param spec        spec file control structure
* @param what        type of script
* @param name        name of scriptlet section
* @param sb        lines that compose script body
* @param test        don't execute scripts or package if testing
* @return        0 on success, RPMERR_SCRIPT on failure
*/
int doScript(Spec spec, int what, /*@null@*/ const char * name,
        /*@null@*/ StringBuf sb, int test)
    /*@globals rpmGlobalMacroContext, h_errno,
        fileSystem, internalState @*/
    /*@modifies spec->macros,
        rpmGlobalMacroContext, fileSystem, internalState @*/;

/** \ingroup rpmbuild
* Find sub-package control structure by name.
* @param spec        spec file control structure
* @param name        (sub-)package name
* @param flag        if PART_SUBNAME, then 1st package name is prepended
* @retval pkg        package control structure
* @return        0 on success, 1 on failure
*/
int lookupPackage(Spec spec, /*@null@*/ const char * name, int flag,
        /*@out@*/ Package * pkg)
    /*@modifies spec->packages, *pkg @*/;

/** \ingroup rpmbuild
* Create and initialize package control structure.
* @param spec        spec file control structure
* @return        package control structure
*/
/*@only@*/
Package newPackage(Spec spec)
    /*@modifies spec->packages, spec->packages->next @*/;

/** \ingroup rpmbuild
* Destroy all packages associated with spec file.
* @param packages    package control structure chain
* @return        NULL
*/
/*@null@*/
Package freePackages(/*@only@*/ /*@null@*/ Package packages)
    /*@globals fileSystem @*/
    /*@modifies packages, fileSystem @*/;

/** \ingroup rpmbuild
* Destroy package control structure.
* @param pkg        package control structure
* @return        NULL
*/
/*@null@*/
Package  freePackage(/*@only@*/ /*@null@*/ Package pkg)
    /*@globals fileSystem @*/
    /*@modifies pkg, fileSystem @*/;

/** \ingroup rpmbuild
* Add dependency to header, filtering duplicates.
* @param spec        spec file control structure
* @param h        header
* @param tagN        tag, identifies type of dependency
* @param N        (e.g. Requires: foo < 0:1.2-3, "foo")
* @param EVR        (e.g. Requires: foo < 0:1.2-3, "0:1.2-3")
* @param Flags        (e.g. Requires: foo < 0:1.2-3, both "Requires:" and "<")
* @param index        (0 always)
* @return        0 always
*/
int addReqProv(/*@unused@*/Spec spec, Header h, rpmTag tagN,
        const char * N, const char * EVR, rpmsenseFlags Flags,
        int index)
    /*@modifies h @*/;

/** \ingroup rpmbuild
* Add rpmlib feature dependency.
* @param h        header
* @param feature    rpm feature name (i.e. "rpmlib(Foo)" for feature Foo)
* @param featureEVR    rpm feature epoch/version/release
* @return        0 always
*/
int rpmlibNeedsFeature(Header h, const char * feature, const char * featureEVR)
    /*@modifies h @*/;

/** \ingroup rpmbuild
* Post-build processing for binary package(s).
* @param spec        spec file control structure
* @param installSpecialDoc
* @param test        don't execute scripts or package if testing
* @return        0 on success
*/
int processBinaryFiles(Spec spec, int installSpecialDoc, int test)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies spec->macros,
        spec->packages->cpioList, spec->packages->fileList,
        spec->packages->specialDoc, spec->packages->header,
        rpmGlobalMacroContext, fileSystem, internalState @*/;

/** \ingroup rpmbuild
* Create and initialize header for source package.
* @param spec        spec file control structure
*/
void initSourceHeader(Spec spec)
    /*@modifies spec->sourceHeader,
        spec->buildRestrictions, spec->BANames,
        spec->packages->header @*/;

/** \ingroup rpmbuild
* Post-build processing for source package.
* @param spec        spec file control structure
* @return        0 on success
*/
int processSourceFiles(Spec spec)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies spec->sourceHeader, spec->sourceCpioList,
        spec->buildRestrictions, spec->BANames,
        spec->packages->header,
        rpmGlobalMacroContext, fileSystem, internalState @*/;

/** \ingroup rpmbuild
* Parse spec file into spec control structure.
* @param ts        transaction set (spec file control in ts->spec)
* @param specFile
* @param rootURL
* @param buildRootURL
* @param recursing    parse is recursive?
* @param passPhrase
* @param cookie
* @param anyarch
* @param force
* @return
*/
int parseSpec(rpmts ts, const char * specFile,
        /*@null@*/ const char * rootURL,
        /*@null@*/ const char * buildRootURL,
        int recursing,
        /*@null@*/ const char * passPhrase,
        /*@null@*/ char * cookie,
        int anyarch, int force)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/;

/** \ingroup rpmbuild
* Build stages state machine driver.
* @param ts        transaction set
* @param spec        spec file control structure
* @param what        bit(s) to enable stages of build
* @param test        don't execute scripts or package if testing
* @return        0 on success
*/
int buildSpec(rpmts ts, Spec spec, int what, int test)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies spec->sourceHeader, spec->sourceCpioList, spec->cookie,
        spec->sourceRpmName, spec->sourcePkgId,
        spec->macros, spec->BASpecs,
        spec->buildRestrictions, spec->BANames,
        spec->packages->cpioList, spec->packages->fileList,
        spec->packages->specialDoc, spec->packages->header,
        rpmGlobalMacroContext, fileSystem, internalState @*/;

/** \ingroup rpmbuild
* Generate binary package(s).
* @param spec        spec file control structure
* @return        0 on success
*/
int packageBinaries(Spec spec)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies spec->packages->header, spec->packages->cpioList,
        spec->sourceRpmName,
        rpmGlobalMacroContext, fileSystem, internalState @*/;

/** \ingroup rpmbuild
* Generate source package.
* @param spec        spec file control structure
* @return        0 on success
*/
int packageSources(Spec spec)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies spec->sourceHeader, spec->cookie, spec->sourceCpioList,
        spec->sourceRpmName, spec->sourcePkgId,
        rpmGlobalMacroContext, fileSystem, internalState @*/;

/*@=redecl@*/
#ifdef __cplusplus
}
#endif

#endif    /* _H_RPMBUILD_ */

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #16 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0044 ]--