build/parsePreamble.c - Parse tags in global section from spec file.
#include 'system.h'
#include 'rpmio_internal.h'
#include 'rpmbuild.h'
#include 'debug.h'
struct optionalTag
struct PreambleRec_s
struct tokenBits_s
typedef tokenBits_s * tokenBits
typedef PreambleRec_s * PreambleRec
void addOrAppendListEntry (Header h, int_32 tag, char *line)
int parseSimplePart (char *line, char **name, int *flag)
const char * parseReqProv (const char *s)
int parseBits (const char *s, const tokenBits tokbits, rpmsenseFlags *bp)
char * findLastChar (char *s)
int isMemberInEntry (Header h, const char *name, rpmTag tag)
int checkForValidArchitectures (Spec spec)
int checkForRequired (Header h, const char *NVR)
Check that required tags are present in header.
int checkForDuplicates (Header h, const char *NVR)
Check that no duplicate tags are present in header.
void fillOutMainPackage (Header h)
int readIcon (Header h, const char *file)
spectag stashSt (Spec spec, Header h, int tag, const char *lang)
int handlePreambleTag (Spec spec, Package pkg, int tag, const char *macro, const char *lang)
void initPreambleList (void)
int findPreambleTag (Spec spec, int *tag, const char **macro, char *lang)
int parsePreamble (Spec spec, int initialPackage)
rpmTag copyTagsDuringParse []
rpmTag requiredTags []
tokenBits_s installScriptBits []
tokenBits_s buildScriptBits []
optionalTag optionalTags []
int noLang
PreambleRec_s preambleList []
Parse tags in global section from spec file.
Definition in file parsePreamble.c.
Value:
if (multiToken) { rpmError(RPMERR_BADSPEC, _('line %d: Tag takes single token only: %s), spec->lineNum, spec->line); return RPMERR_BADSPEC; }
Definition at line 437 of file parsePreamble.c.
Referenced by handlePreambleTag().
Definition at line 51 of file parsePreamble.c.
References _free(), headerAddOrAppendEntry(), int_32, and RPM_STRING_ARRAY_TYPE.
Referenced by handlePreambleTag().
Check that no duplicate tags are present in header.
Parameters:
Returns: 0 if OK
Definition at line 291 of file parsePreamble.c.
References _, headerFreeIterator(), headerInitIterator(), headerNextIterator(), RPMERR_BADSPEC, rpmError, and tagName().
Referenced by parsePreamble().
Check that required tags are present in header.
Parameters:
Returns: 0 if OK
Definition at line 267 of file parsePreamble.c.
References _, headerIsEntry(), requiredTags, RPMERR_BADSPEC, rpmError, rpmTag, and tagName().
Referenced by parsePreamble().
Definition at line 223 of file parsePreamble.c.
References _, isMemberInEntry(), RPMERR_BADSPEC, rpmError, rpmExpand(), rpmGetArchInfo(), rpmGetOsInfo(), RPMTAG_EXCLUDEARCH, RPMTAG_EXCLUDEOS, RPMTAG_EXCLUSIVEARCH, and RPMTAG_EXCLUSIVEOS.
Referenced by parsePreamble().
Definition at line 329 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 184 of file parsePreamble.c.
References xisspace().
Referenced by handlePreambleTag().
Definition at line 773 of file parsePreamble.c.
References initPreambleList(), PreambleRec_s::len, PreambleRec_s::multiLang, RPMBUILD_DEFAULT_LANG, RPMTAG_PATCH, RPMTAG_SOURCE, SKIPSPACE, PreambleRec_s::tag, PreambleRec_s::token, xisspace(), and xstrncasecmp().
Referenced by parsePreamble().
Definition at line 450 of file parsePreamble.c.
References _, _free(), addMacro(), addOrAppendListEntry(), addSource(), delMacro(), findLastChar(), headerAddEntry(), headerAddI18NString(), HFD_t, HGE_t, noLang, parseBits(), parseNoSource(), parseNum(), parseRCPOT(), parseReqProv(), readIcon(), RMIL_OLDSPEC, RMIL_SPEC, RPM_INT32_TYPE, RPM_STRING_TYPE, RPMBUILD_DEFAULT_LANG, RPMERR_BADSPEC, RPMERR_INTERNAL, rpmError, rpmGenPath(), RPMSENSE_ANY, rpmsenseFlags, RPMTAG_AUTOPROV, RPMTAG_AUTOREQ, RPMTAG_AUTOREQPROV, RPMTAG_BUILDARCHS, RPMTAG_BUILDCONFLICTS, RPMTAG_BUILDPREREQ, RPMTAG_BUILDREQUIRES, RPMTAG_BUILDROOT, RPMTAG_CONFLICTFLAGS, RPMTAG_DISTRIBUTION, RPMTAG_DOCDIR, RPMTAG_EPOCH, RPMTAG_EXCLUDEARCH, RPMTAG_EXCLUDEOS, RPMTAG_EXCLUSIVEARCH, RPMTAG_EXCLUSIVEOS, RPMTAG_GROUP, RPMTAG_ICON, RPMTAG_LICENSE, RPMTAG_NAME, RPMTAG_NOPATCH, RPMTAG_NOSOURCE, RPMTAG_OBSOLETEFLAGS, RPMTAG_PACKAGER, RPMTAG_PATCH, RPMTAG_PREFIXES, RPMTAG_PREREQ, RPMTAG_PROVIDEFLAGS, RPMTAG_RELEASE, RPMTAG_REQUIREFLAGS, RPMTAG_RHNPLATFORM, RPMTAG_SOURCE, RPMTAG_SUMMARY, RPMTAG_URL, RPMTAG_VENDOR, RPMTAG_VERSION, rpmTagType, SINGLE_TOKEN_ONLY, SKIPNONSPACE, SKIPSPACE, stashSt(), urlPath(), and xstrdup().
Referenced by parsePreamble().
Definition at line 762 of file parsePreamble.c.
References PreambleRec_s::len, and PreambleRec_s::token.
Referenced by findPreambleTag().
Definition at line 202 of file parsePreamble.c.
References HFD_t, HGE_t, rpmTag, rpmTagType, and xstrcasecmp().
Referenced by checkForValidArchitectures().
Definition at line 148 of file parsePreamble.c.
References tokenBits_s::bits, tokenBits_s::name, RPMERR_BADSPEC, RPMSENSE_ANY, rpmsenseFlags, xisalpha(), and xisspace().
Referenced by handlePreambleTag().
Definition at line 102 of file parsePreamble.c.
References xstrdup().
Referenced by handlePreambleTag().
Definition at line 69 of file parsePreamble.c.
References PART_NAME, and PART_SUBNAME.
Referenced by parsePreamble().
Definition at line 347 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 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, 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.
Definition at line 445 of file parsePreamble.c.
Referenced by handlePreambleTag().
Referenced by fillOutMainPackage().
Definition at line 713 of file parsePreamble.c.
Initial value:
{ RPMTAG_NAME, RPMTAG_VERSION, RPMTAG_RELEASE, RPMTAG_SUMMARY, RPMTAG_GROUP, RPMTAG_LICENSE, 0 }
Definition at line 39 of file parsePreamble.c.
Referenced by checkForRequired().
Generated automatically by Doxygen for rpm from the source code.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |