#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, int tag, const char *macro, const char *lang) |
static void | initPreambleList (void) |
static int | findPreambleTag (Spec spec, int *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 432 of file parsePreamble.c. Referenced by handlePreambleTag(). |
|
|
|
|
|
Definition at line 51 of file parsePreamble.c. References _free(), headerAddOrAppendEntry(), poptParseArgvString(), and RPM_STRING_ARRAY_TYPE. Referenced by handlePreambleTag(). |
|
Check that no duplicate tags are present in header.
Definition at line 286 of file parsePreamble.c. References _, headerInitIterator(), headerNextIterator(), RPMERR_BADSPEC, rpmError, and tagName(). Referenced by parsePreamble(). |
|
Check that required tags are present in header.
Definition at line 262 of file parsePreamble.c. References _, headerIsEntry(), requiredTags, RPMERR_BADSPEC, rpmError, and tagName(). Referenced by parsePreamble(). |
|
Definition at line 218 of file parsePreamble.c. References _, SpecStruct::buildRestrictions, isMemberInEntry(), RPMERR_BADSPEC, rpmError, rpmExpand(), rpmGetArchInfo(), rpmGetOsInfo(), RPMTAG_EXCLUDEARCH, RPMTAG_EXCLUDEOS, RPMTAG_EXCLUSIVEARCH, and RPMTAG_EXCLUSIVEOS. Referenced by parsePreamble(). |
|
Definition at line 324 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 179 of file parsePreamble.c. References xisspace(). Referenced by handlePreambleTag(). |
|
Definition at line 779 of file parsePreamble.c. References initPreambleList(), PreambleRec_s::len, SpecStruct::line, preambleList, PreambleRec_s::token, and xstrncasecmp(). Referenced by parsePreamble(). |
|
|
Definition at line 768 of file parsePreamble.c. References PreambleRec_s::len, preambleList, and PreambleRec_s::token. Referenced by findPreambleTag(). |
|
Definition at line 197 of file parsePreamble.c. References headerFreeData(), headerGetEntryMinMemory(), and xstrcasecmp(). Referenced by checkForValidArchitectures(). |
|
Definition at line 143 of file parsePreamble.c. References tokenBits_s::bits, tokenBits_s::name, RPMSENSE_ANY, xisalpha(), and xisspace(). Referenced by handlePreambleTag(). |
|
Definition at line 69 of file parsePreamble.c. References PART_NAME, and PART_SUBNAME. Referenced by parsePreamble(). |
|
Definition at line 102 of file parsePreamble.c. References xstrcasecmp(). Referenced by handlePreambleTag(). |
|
Definition at line 342 of file parsePreamble.c. References _, _free(), Fclose(), fdSize(), Ferror(), Fopen(), Fread(), Fstrerror(), headerAddEntry(), RPM_BIN_TYPE, RPMERR_BADSPEC, rpmError, rpmGetPath(), RPMTAG_GIF, RPMTAG_XPM, 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 133 of file parsePreamble.c. Referenced by handlePreambleTag(). |
|
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, 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 118 of file parsePreamble.c. Referenced by handlePreambleTag(). |
|
|
|
Referenced by fillOutMainPackage(). |
|
Definition at line 719 of file parsePreamble.c. Referenced by findPreambleTag(), and initPreambleList(). |
|
Initial value: Definition at line 39 of file parsePreamble.c. Referenced by checkForRequired(). |