#include "system.h"
#include <rpmio_internal.h>
#include <rpmbuild.h>
#include "debug.h"
Go to the source code of this file.
Data Structures | |
| struct | tokenBits_s |
| struct | optionalTag |
| struct | PreambleRec_s |
Defines | |
| #define | SINGLE_TOKEN_ONLY |
Typedefs | |
| typedef tokenBits_s * | tokenBits |
| typedef PreambleRec_s * | PreambleRec |
Functions | |
| static void | addOrAppendListEntry (Header h, int_32 tag, char *line) |
| static int | parseSimplePart (char *line, char **name, int *flag) |
| static int | parseYesNo (const char *s) |
| static int | parseBits (const char *s, const tokenBits tokbits, rpmsenseFlags *bp) |
| static char * | findLastChar (char *s) |
| static int | isMemberInEntry (Header h, const char *name, rpmTag tag) |
| static int | checkForValidArchitectures (Spec spec) |
| static int | checkForRequired (Header h, const char *NVR) |
| Check that required tags are present in header. | |
| static int | checkForDuplicates (Header h, const char *NVR) |
| Check that no duplicate tags are present in header. | |
| static void | fillOutMainPackage (Header h) |
| static int | readIcon (Header h, const char *file) |
| spectag | stashSt (Spec spec, Header h, int tag, const char *lang) |
| static int | handlePreambleTag (Spec spec, Package pkg, rpmTag tag, const char *macro, const char *lang) |
| static void | initPreambleList (void) |
| static int | findPreambleTag (Spec spec, rpmTag *tag, const char **macro, char *lang) |
| int | parsePreamble (Spec spec, int initialPackage) |
| Parse tags from preamble of a spec file. | |
Variables | |
| static rpmTag | copyTagsDuringParse [] |
| static rpmTag | requiredTags [] |
| static struct tokenBits_s | installScriptBits [] |
| static struct tokenBits_s | buildScriptBits [] |
| static struct optionalTag | optionalTags [] |
| int | noLang |
| static struct PreambleRec_s | preambleList [] |
Definition in file parsePreamble.c.
|
|
Value: if (multiToken) { \ rpmError(RPMERR_BADSPEC, _("line %d: Tag takes single token only: %s\n"), \ spec->lineNum, spec->line); \ return RPMERR_BADSPEC; \ } Definition at line 449 of file parsePreamble.c. Referenced by handlePreambleTag(). |
|
|
|
|
|
|
|
||||||||||||||||
|
Definition at line 53 of file parsePreamble.c. References _free(), headerAddOrAppendEntry(), and RPM_STRING_ARRAY_TYPE. Referenced by handlePreambleTag(). |
|
||||||||||||
|
Check that no duplicate tags are present in header.
Definition at line 299 of file parsePreamble.c. References _, headerFreeIterator(), headerInitIterator(), headerNextIterator(), RPMERR_BADSPEC, rpmError, and tagName(). Referenced by parsePreamble(). |
|
||||||||||||
|
Check that required tags are present in header.
Definition at line 273 of file parsePreamble.c. References _, headerIsEntry(), requiredTags, RPMERR_BADSPEC, rpmError, and tagName(). Referenced by parsePreamble(). |
|
|
Definition at line 229 of file parsePreamble.c. References _, Spec_s::buildRestrictions, isMemberInEntry(), RPMERR_BADSPEC, rpmError, rpmExpand(), rpmGetArchInfo(), rpmGetOsInfo(), RPMTAG_EXCLUDEARCH, RPMTAG_EXCLUDEOS, RPMTAG_EXCLUSIVEARCH, and RPMTAG_EXCLUSIVEOS. Referenced by parsePreamble(). |
|
|
Definition at line 338 of file parsePreamble.c. References _free(), headerAddEntry(), headerIsEntry(), optionalTags, optionalTag::ot_mac, optionalTag::ot_tag, RPM_STRING_TYPE, and rpmExpand(). Referenced by parsePreamble(). |
|
|
Definition at line 186 of file parsePreamble.c. References xisspace(). Referenced by handlePreambleTag(). |
|
||||||||||||||||||||
|
Definition at line 815 of file parsePreamble.c. References _, initPreambleList(), PreambleRec_s::len, Spec_s::line, PreambleRec_s::multiLang, PreambleRec_s::obsolete, RPMBUILD_DEFAULT_LANG, RPMERR_BADSPEC, rpmError, RPMTAG_PATCH, RPMTAG_SOURCE, SKIPSPACE, PreambleRec_s::tag, PreambleRec_s::token, xisspace(), and xstrncasecmp(). Referenced by parsePreamble(). |
|
||||||||||||||||||||||||
|
|
Definition at line 803 of file parsePreamble.c. References PreambleRec_s::len, and PreambleRec_s::token. Referenced by findPreambleTag(). |
|
||||||||||||||||
|
Definition at line 206 of file parsePreamble.c. References headerFreeData(), headerGetEntryMinMemory(), and xstrcasecmp(). Referenced by checkForValidArchitectures(). |
|
||||||||||||||||
|
Definition at line 149 of file parsePreamble.c. References tokenBits_s::bits, tokenBits_s::name, RPMERR_BADSPEC, RPMSENSE_ANY, xisalpha(), and xisspace(). Referenced by handlePreambleTag(). |
|
||||||||||||||||
|
Definition at line 72 of file parsePreamble.c. References PART_NAME, and PART_SUBNAME. Referenced by parsePreamble(). |
|
|
Definition at line 106 of file parsePreamble.c. References xstrcasecmp(). Referenced by handlePreambleTag(). |
|
||||||||||||
|
Definition at line 359 of file parsePreamble.c. References _, _free(), Fclose(), fdSize(), Ferror(), Fopen(), Fread(), Fstrerror(), headerAddEntry(), RPM_BIN_TYPE, RPMERR_BADSPEC, rpmError, rpmGetPath(), RPMTAG_GIF, RPMTAG_XPM, size, and xmalloc(). Referenced by handlePreambleTag(). |
|
|
Initial value: {
{ "prep", RPMSENSE_SCRIPT_PREP },
{ "build", RPMSENSE_SCRIPT_BUILD },
{ "install", RPMSENSE_SCRIPT_INSTALL },
{ "clean", RPMSENSE_SCRIPT_CLEAN },
{ NULL, 0 }
}
Definition at line 138 of file parsePreamble.c. |
|
|
Initial value: {
RPMTAG_EPOCH,
RPMTAG_VERSION,
RPMTAG_RELEASE,
RPMTAG_LICENSE,
RPMTAG_PACKAGER,
RPMTAG_DISTRIBUTION,
RPMTAG_DISTURL,
RPMTAG_VENDOR,
RPMTAG_ICON,
RPMTAG_URL,
RPMTAG_CHANGELOGTIME,
RPMTAG_CHANGELOGNAME,
RPMTAG_CHANGELOGTEXT,
RPMTAG_PREFIXES,
RPMTAG_RHNPLATFORM,
RPMTAG_DISTTAG,
RPMTAG_CVSID,
0
}
Definition at line 17 of file parsePreamble.c. Referenced by parsePreamble(). |
|
|
Initial value: {
{ "interp", RPMSENSE_INTERP },
{ "prereq", RPMSENSE_PREREQ },
{ "preun", RPMSENSE_SCRIPT_PREUN },
{ "pre", RPMSENSE_SCRIPT_PRE },
{ "postun", RPMSENSE_SCRIPT_POSTUN },
{ "post", RPMSENSE_SCRIPT_POST },
{ "rpmlib", RPMSENSE_RPMLIB },
{ "verify", RPMSENSE_SCRIPT_VERIFY },
{ NULL, 0 }
}
Definition at line 123 of file parsePreamble.c. |
|
|
|
|
|
Referenced by fillOutMainPackage(). |
|
|
Definition at line 747 of file parsePreamble.c. |
|
|
Initial value: Definition at line 41 of file parsePreamble.c. Referenced by checkForRequired(). |
1.4.4