diff -dur -x '*~' -x '*.orig' rpm-5.4.15.orig/lib/rpmfc.c rpm-5.4.15/lib/rpmfc.c
---- rpm-5.4.15.orig/lib/rpmfc.c 2015-11-23 20:38:44.516459734 +0100
-+++ rpm-5.4.15/lib/rpmfc.c 2015-11-23 20:39:56.267070624 +0100
+--- rpm-5.4.15.orig/lib/rpmfc.c 2015-11-29 09:57:16.945204643 +0100
++++ rpm-5.4.15/lib/rpmfc.c 2015-11-29 09:59:24.804768239 +0100
@@ -604,8 +604,6 @@
/* XXX "a /usr/bin/python -t script text executable" */
/* XXX "python 2.3 byte-compiled" */
miRE mire;
int skipProv = fc->skipProv;
-@@ -1156,8 +1157,25 @@
+@@ -1156,8 +1157,29 @@
if ((fn[0] == '3' && fn[1] == '2') ||
(fn[0] == '6' && fn[1] == '4'))
fn += 2;
+ /* get all PKG-INFO files for egg-info data */
+ fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
+ }
++ else if (l > 8 && !strcmp(fn + l - 8, "egg-info")) {
++ /* get all .egg-info files too */
++ fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
++ }
+ }
else if (!strncmp(fn, "/ruby", sizeof("/ruby")-1)) {
fc->fcolor->vals[fc->ix] |= RPMFC_RUBY;
if ((strstr(fn, ".gemspec") || strstr(fn, "rbconfig.rb"))) {
-@@ -1184,8 +1202,25 @@
+@@ -1184,8 +1206,29 @@
fn = strstr(fc->fn[fc->ix], "/usr/share");
if (fn) {
fn += sizeof("/usr/share")-1;
+ /* get all PKG-INFO files for egg-info data */
+ fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
+ }
++ else if (l > 8 && !strcmp(fn + l - 8, "egg-info")) {
++ /* get all .egg-info files too */
++ fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
++ }
+ }
else if (!strncmp(fn, "/ruby", sizeof("/ruby")-1) || !strncmp(fn, "/gems/specifications", sizeof("/gems/specifications")-1)) {
fc->fcolor->vals[fc->ix] |= RPMFC_RUBY;