1 --- rpm-5.4.15/lib/rpmfc.c 2014-12-08 16:52:23.628067323 +0200
2 +++ rpm-5.4.15.orig/lib/rpmfc.c 2014-12-08 16:23:46.377110108 +0200
4 fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
5 else if (!strncmp(fn, "/ruby", sizeof("/ruby")-1)) {
6 fc->fcolor->vals[fc->ix] |= RPMFC_RUBY;
7 - if ((fn = strstr(fn, "/specifications/")) &&
8 - (fn = strrchr(fn, '.')) && !strcmp(fn, ".gemspec"))
9 - fc->fcolor->vals[fc->ix] |= RPMFC_MODULE;
10 + if ((strstr(fn, ".gemspec") || strstr(fn, "rbconfig.rb"))) {
11 + miRE mire = mireNew(RPMMIRE_REGEX, RPMTAG_FILEPATHS);
12 + if (!mireRegcomp(mire, ".*/(specifications/.*\\.gemspec|rbconfig\\.rb)$"))
13 + if (mireRegexec(mire, fc->fn[fc->ix], (size_t) 0) >= 0)
14 + fc->fcolor->vals[fc->ix] |= RPMFC_MODULE;
15 + mire = mireFree(mire);
18 /* XXX: lacking better, more generic classifier... */
19 else if (!strncmp(fn, "/gstreamer", sizeof("/gstreamer")-1) &&
20 @@ -1177,6 +1181,15 @@
21 fn += sizeof("/usr/share")-1;
22 if (!strncmp(fn, "/python", sizeof("/python")-1))
23 fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
24 + else if (!strncmp(fn, "/ruby", sizeof("/ruby")-1) || !strncmp(fn, "/gems/specifications", sizeof("/gems/specifications")-1)) {
25 + fc->fcolor->vals[fc->ix] |= RPMFC_RUBY;
26 + if ((strstr(fn, ".gemspec") || strstr(fn, "rbconfig.rb"))) {
27 + miRE mire = mireNew(RPMMIRE_REGEX, RPMTAG_FILEPATHS);
28 + if (!mireRegcomp(mire, ".*/(specifications/.*\\.gemspec|rbconfig\\.rb)$"))
29 + if (mireRegexec(mire, fc->fn[fc->ix], (size_t) 0) >= 0)
30 + fc->fcolor->vals[fc->ix] |= RPMFC_MODULE;
31 + mire = mireFree(mire);