]>
Commit | Line | Data |
---|---|---|
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 | |
3 | @@ -1155,9 +1155,13 @@ | |
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); | |
16 | + } | |
17 | } | |
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); | |
32 | + } | |
33 | } | |
34 | } | |
35 | } |