CVS patchset: 5770
CVS date: 2002/10/12 18:35:29
This commit is contained in:
jbj 2002-10-12 18:35:29 +00:00
parent d097ccae7c
commit 07a348e2e6
2 changed files with 23 additions and 23 deletions

View File

@ -100,7 +100,7 @@ typedef struct AttrRec_s {
/**
*/
/*@unchecked@*/
static int multiLib = 0; /* MULTILIB */
static int multiLibNo = 0; /* MULTILIB */
/**
*/
@ -673,8 +673,7 @@ static int parseForAttr(char * buf, FileList fl)
*/
/*@-boundswrite@*/
static int parseForConfig(char * buf, FileList fl)
/*@modifies buf, fl->processingFailed,
fl->currentFlags @*/
/*@modifies buf, fl->processingFailed, fl->currentFlags @*/
{
char *p, *pe, *q;
const char *name;
@ -682,7 +681,7 @@ static int parseForConfig(char * buf, FileList fl)
if ((p = strstr(buf, (name = "%config"))) == NULL)
return 0;
fl->currentFlags = RPMFILE_CONFIG;
fl->currentFlags |= RPMFILE_CONFIG;
for (pe = p; (pe-p) < strlen(name); pe++)
*pe = ' ';
@ -852,9 +851,9 @@ static int parseForRegexLang(const char * fileName, /*@out@*/ char ** lang)
const char *s;
if (! initialized) {
const char *patt = rpmExpand("%{_langpatt}", NULL);
const char *patt = rpmExpand("%{?_langpatt}", NULL);
int rc = 0;
if (!(patt && *patt != '%'))
if (!(patt && *patt != '\0'))
rc = 1;
else if (regcomp(&compiledPatt, patt, REG_EXTENDED))
rc = -1;
@ -889,17 +888,17 @@ static int parseForRegexMultiLib(const char *fileName)
/*@globals rpmGlobalMacroContext @*/
/*@modifies rpmGlobalMacroContext @*/
{
static int initialized = 0;
static int oneshot = 0;
static int hasRegex = 0;
static regex_t compiledPatt;
if (! initialized) {
if (! oneshot) {
const char *patt;
int rc = 0;
initialized = 1;
patt = rpmExpand("%{_multilibpatt}", NULL);
if (!(patt && *patt != '%'))
oneshot = 1;
patt = rpmExpand("%{?_multilibpatt}", NULL);
if (!(patt && *patt != '\0'))
rc = 1;
else if (regcomp(&compiledPatt, patt, REG_EXTENDED | REG_NOSUB))
rc = -1;
@ -999,7 +998,7 @@ static int parseForSimple(/*@unused@*/Spec spec, Package pkg, char * buf,
if (!strcmp(s, "%dir"))
fl->isDir = 1; /* XXX why not RPMFILE_DIR? */
else if (!strcmp(s, "%multilib"))
fl->currentFlags |= multiLib;
fl->currentFlags |= RPMFILE_MULTILIB(multiLibNo);
} else {
if (vfa->not)
fl->currentFlags &= ~vfa->flag;
@ -1500,6 +1499,9 @@ static void genCpioListAndHeader(/*@partial@*/ FileList fl,
CPIO_MAP_TYPE | CPIO_MAP_MODE | CPIO_MAP_UID | CPIO_MAP_GID;
if (isSrc)
fi->fmapflags[i] |= CPIO_FOLLOW_SYMLINKS;
/*
* Mark multilib colored files as not-yet-processed.
*/
if (flp->flags & RPMFILE_MULTILIB_MASK)
fi->fmapflags[i] |= CPIO_MULTILIB;
@ -1718,14 +1720,13 @@ static int addFile(FileList fl, const char * diskURL,
flp->specdFlags = fl->currentSpecdFlags;
flp->verifyFlags = fl->currentVerifyFlags;
if (multiLib
/* If coloring and still white, apply regex to path. */
if (multiLibNo
&& !(flp->flags & RPMFILE_MULTILIB_MASK)
&& !parseForRegexMultiLib(fileURL)) {
fprintf(stderr, "*** flp->flags |= 0x%x\n", multiLib);
flp->flags |= multiLib;
flp->flags |= RPMFILE_MULTILIB(multiLibNo);
}
/* Hard links need be counted only once. */
if (S_ISREG(flp->fl_mode) && flp->fl_nlink > 1) {
FileListRec ilp;
@ -2568,7 +2569,7 @@ DepMsg_t depMsgs[] = {
/**
*/
/*@-bounds@*/
static int generateDepends(Spec spec, Package pkg, rpmfi cpioList, int multiLib)
static int generateDepends(Spec spec, Package pkg, rpmfi cpioList, int multiLibPass)
/*@globals rpmGlobalMacroContext,
fileSystem, internalState @*/
/*@modifies cpioList, rpmGlobalMacroContext,
@ -2603,9 +2604,10 @@ static int generateDepends(Spec spec, Package pkg, rpmfi cpioList, int multiLib)
/*
* On 2nd dependency pass for multilib, skip files already processed.
*/
if (fi->fmapflags && multiLib == 2) {
if (fi->fmapflags && multiLibPass == 2) {
if (!(fi->fmapflags[i] & CPIO_MULTILIB))
continue;
/* Mark multilib colored file as processed. */
fi->fmapflags[i] &= ~CPIO_MULTILIB;
}
@ -2704,7 +2706,7 @@ static int generateDepends(Spec spec, Package pkg, rpmfi cpioList, int multiLib)
/* Parse dependencies into header */
tagflags &= ~RPMSENSE_MULTILIB;
if (multiLib > 1)
if (multiLibPass > 1)
tagflags |= RPMSENSE_MULTILIB;
rc = parseRCPOT(spec, pkg, getStringBuf(readBuf), tag, 0, tagflags);
readBuf = freeStringBuf(readBuf);
@ -2890,9 +2892,7 @@ int processBinaryFiles(Spec spec, int installSpecialDoc, int test)
if (!multiLib_oneshot) {
multiLib_oneshot = 1;
multiLib = rpmExpandNumeric("%{?_multilibno}");
if (multiLib)
multiLib = RPMFILE_MULTILIB(multiLib);
multiLibNo = rpmExpandNumeric("%{?_multilibno}");
}
check_fileList = newStringBuf();

View File

@ -36,7 +36,7 @@ echo "
* cvs up -r rpm-4_1 *
* *
* Here's the rpm-4_0 branch: *
* cvs up -r rpm-4_1 *
* cvs up -r rpm-4_0 *
* *
****************************************************************************