rpm
4.5
|
Handle spec data structure. More...
#include "system.h"
#include "buildio.h"
#include "rpmds.h"
#include "rpmfi.h"
#include "rpmts.h"
#include "debug.h"
Go to the source code of this file.
Macros | |
#define | SKIPWHITE(_x) {while(*(_x) && (xisspace(*_x) || *(_x) == ',')) (_x)++;} |
#define | SKIPNONWHITE(_x) {while(*(_x) &&!(xisspace(*_x) || *(_x) == ',')) (_x)++;} |
Functions | |
static struct TriggerFileEntry * | freeTriggerFiles (struct TriggerFileEntry *p) |
static struct Source * | freeSources (struct Source *s) |
Destroy source component chain. More... | |
int | lookupPackage (Spec spec, const char *name, int flag, Package *pkg) |
Find sub-package control structure by name. More... | |
Package | newPackage (Spec spec) |
Create and initialize package control structure. More... | |
Package | freePackage (Package pkg) |
Destroy package control structure. More... | |
Package | freePackages (Package packages) |
Destroy all packages associated with spec file. More... | |
static struct Source * | findSource (Spec spec, int num, int flag) |
int | parseNoSource (Spec spec, const char *field, int tag) |
int | addSource (Spec spec, Package pkg, const char *field, int tag) |
static speclines | newSl (void) |
static speclines | freeSl (speclines sl) |
static spectags | newSt (void) |
static spectags | freeSt (spectags st) |
Spec | newSpec (void) |
Create and initialize Spec structure. More... | |
Spec | freeSpec (Spec spec) |
Destroy Spec structure. More... | |
struct OpenFileInfo * | newOpenFileInfo (void) |
static void | printNewSpecfile (Spec spec) |
Print copy of spec file, filling in Group/Description/Summary from specspo. More... | |
static int | initSourceHeaderScriptlet (Header h, rpmTag progTag, rpmTag scriptTag, StringBuf sb) |
Add expanded build scriptlet to srpm header. More... | |
static int | initSourceHeaderScriptlets (Spec spec) |
Add expanded build scriptlets to srpm header. More... | |
static int | _specQuery (rpmts ts, QVA_t qva, const char *specName, const char *target) |
Parse a spec file, and query the resultant header. More... | |
int | rpmspecQuery (rpmts ts, QVA_t qva, const char *arg) |
Function to query spec file(s). More... | |
Variables | |
int | specedit |
Handle spec data structure.
Definition in file spec.c.
#define SKIPNONWHITE | ( | _x | ) | {while(*(_x) &&!(xisspace(*_x) || *(_x) == ',')) (_x)++;} |
Definition at line 20 of file spec.c.
Referenced by parseNoSource().
#define SKIPWHITE | ( | _x | ) | {while(*(_x) && (xisspace(*_x) || *(_x) == ',')) (_x)++;} |
Definition at line 19 of file spec.c.
Referenced by parseNoSource().
Parse a spec file, and query the resultant header.
ts | rpm transaction |
qva | query args |
specName | specfile to parse |
target | cpu-vender-os platform for query (NULL is current) |
Definition at line 747 of file spec.c.
References _, Package_s::fileList, freeSpec(), Package_s::header, initSourceHeader(), initSourceHeaderScriptlets(), Package_s::next, Spec_s::packages, parseSpec(), printNewSpecfile(), rpmQVKArguments_s::qva_showPackage, rpmQVKArguments_s::qva_source, RPMERR_QUERY, rpmError, RPMQV_SPECFILE, RPMQV_SPECSRPM, rpmtsSetSpec(), Spec_s::sourceHeader, and specedit.
Referenced by rpmspecQuery().
Definition at line 197 of file spec.c.
References Source::flags, Source::next, Source::num, and Spec_s::sources.
Referenced by parseNoSource().
Definition at line 369 of file spec.c.
References _free(), speclines_s::sl_lines, and speclines_s::sl_nlines.
Referenced by freeSpec().
Destroy source component chain.
s | source component chain |
Definition at line 52 of file spec.c.
References _free(), Source::fullSource, and Source::next.
Referenced by freeSpec().
Definition at line 402 of file spec.c.
References _free(), spectags_s::st_ntags, spectags_s::st_t, spectag_s::t_lang, and spectag_s::t_msgid.
Referenced by freeSpec().
|
staticread |
p | trigger entry chain |
Definition at line 30 of file spec.c.
References _free(), TriggerFileEntry::fileName, TriggerFileEntry::next, TriggerFileEntry::prog, and TriggerFileEntry::script.
Referenced by freePackage().
|
static |
Add expanded build scriptlet to srpm header.
h | srpm header |
progTag | interpreter tag (0 disables) |
scriptTag | script tag (0 disables) |
sb | script body sting buf (NULL disables) |
Definition at line 693 of file spec.c.
References getStringBuf(), headerAddEntry(), prog, and RPM_STRING_TYPE.
Referenced by initSourceHeaderScriptlets().
|
static |
Add expanded build scriptlets to srpm header.
spec | spec file control structure |
Definition at line 715 of file spec.c.
References Spec_s::build, Spec_s::check, Spec_s::clean, initSourceHeaderScriptlet(), Spec_s::install, Spec_s::prep, RPMTAG_Buildbuild, RPMTAG_Buildbuildprog, RPMTAG_Buildcheck, RPMTAG_Buildcheckprog, RPMTAG_Buildclean, RPMTAG_Buildcleanprog, RPMTAG_Buildinstall, RPMTAG_Buildinstallprog, RPMTAG_Buildprep, RPMTAG_Buildprepprog, and Spec_s::sourceHeader.
Referenced by _specQuery().
|
inlinestatic |
Definition at line 351 of file spec.c.
References speclines_s::sl_lines, speclines_s::sl_nalloc, speclines_s::sl_nlines, specedit, and xmalloc().
Referenced by newSpec().
|
inlinestatic |
Definition at line 385 of file spec.c.
References specedit, spectags_s::st_nalloc, spectags_s::st_ntags, spectags_s::st_t, and xmalloc().
Referenced by newSpec().
|
static |
Print copy of spec file, filling in Group/Description/Summary from specspo.
spec | spec file control structure |
Definition at line 577 of file spec.c.
References _, _free(), Package_s::header, headerNVR(), headerSprintf(), Package_s::next, Spec_s::packages, RPMBUILD_DEFAULT_LANG, RPMERR_QFMT, rpmError, rpmHeaderFormats, RPMTAG_DESCRIPTION, RPMTAG_GROUP, RPMTAG_SUMMARY, rpmTagTable, Spec_s::sl, speclines_s::sl_lines, speclines_s::sl_nlines, Spec_s::st, spectags_s::st_ntags, spectags_s::st_t, stpcpy(), spectag_s::t_lang, spectag_s::t_msgid, spectag_s::t_nlines, spectag_s::t_startx, spectag_s::t_tag, tagName(), xmalloc(), and xstrdup().
Referenced by _specQuery().
int specedit |
Definition at line 18 of file poptQV.c.
Referenced by _specQuery(), newSl(), and newSt().