--- rpm-4.4.3/build/rpmfc.h.orig 2005-11-18 23:08:14.231293000 +0100
+++ rpm-4.4.3/build/rpmfc.h 2005-11-18 23:55:16.694214392 +0100
-@@ -44,6 +44,11 @@
+@@ -1,6 +1,7 @@
+ #ifndef _H_RPMFC_
+ #define _H_RPMFC_
+
++#include <regex.h>
+ #undef FILE_RCSID
+ #include "magic.h"
+
+@@ -44,6 +45,11 @@
StringBuf sb_python;/*!< concatenated list of python colored files. */
StringBuf sb_php; /*!< concatenated list of php colored files. */
};
/**
---- rpm-4.4.3/build/rpmfc.c.orig 2005-11-18 23:08:14.332278624 +0100
-+++ rpm-4.4.3/build/rpmfc.c 2005-11-19 00:15:40.643145872 +0100
-@@ -1,6 +1,7 @@
- #include "system.h"
-
- #include <signal.h> /* getOutputFrom() */
-+#include <regex.h>
-
- #include <rpmbuild.h>
- #include <argv.h>
-@@ -9,6 +10,8 @@
+--- rpm-4.4.3/build/rpmfc.c.orig 2005-11-19 09:33:23.180067024 +0100
++++ rpm-4.4.3/build/rpmfc.c 2005-11-19 09:35:29.167913960 +0100
+@@ -9,6 +9,8 @@
#define _RPMDS_INTERNAL
#include <rpmds.h>
#include <rpmfi.h>
#include "debug.h"
-@@ -299,14 +302,83 @@
+@@ -299,14 +301,83 @@
return buf;
};
/* Add to package requires. */
ds = rpmdsSingle(RPMTAG_REQUIRENAME, s, "", RPMSENSE_FIND_REQUIRES);
xx = rpmdsMerge(&fc->requires, ds);
-@@ -731,42 +805,50 @@
+@@ -731,42 +804,50 @@
(void) fclose(fp);
if (fc->fcolor->vals[fc->ix] & RPMFC_PERL) {
}
return 0;
-@@ -794,14 +876,18 @@
+@@ -794,20 +875,26 @@
default:
break;
case RPMTAG_PROVIDENAME:
-+ if (fc->findprov && !rpmfcMatchRegexps(fc->noautoprov, fc->noautoprov_c, ds->N[0])) {
++ if (fc->findprov && !rpmfcMatchRegexps(fc->noautoprov, fc->noautoprov_c, ds->N[0], 'P')) {
/* Add to package provides. */
rc = rpmdsMerge(&fc->provides, ds);
+ rc = 0;
break;
case RPMTAG_REQUIRENAME:
-+ if (fc->findreq && !rpmfcMatchRegexps(fc->noautoreq, fc->noautoreq_c, ds->N[0])) {
++ if (fc->findreq && !rpmfcMatchRegexps(fc->noautoreq, fc->noautoreq_c, ds->N[0], 'R')) {
/* Add to package requires. */
rc = rpmdsMerge(&fc->requires, ds);
-@@ -848,6 +934,109 @@
+ /* Add to file dependencies. */
+ buf[0] = '\0';
+ rc = rpmfcSaveArg(&fc->ddict, rpmfcFileDep(buf, fc->ix, ds));
++ } else
++ rc = 0;
+ break;
+ }
+ return rc;
+@@ -848,6 +935,109 @@
{ NULL, 0 }
};
int rpmfcApply(rpmfc fc)
{
rpmfcApplyTbl fcat;
-@@ -865,6 +1054,26 @@
+@@ -865,6 +1055,26 @@
int ix;
int i;
int xx;
/* Generate package and per-file dependencies. */
for (fc->ix = 0; fc->fn[fc->ix] != NULL; fc->ix++) {
-@@ -885,10 +1094,43 @@
+@@ -885,10 +1095,43 @@
for (fcat = rpmfcApplyTable; fcat->func != NULL; fcat++) {
if (!(fc->fcolor->vals[fc->ix] & fcat->colormask))
/*@innercontinue@*/ continue;