1 --- rpm-5.4.10/lib/rpmfc.c~ 2012-12-01 21:13:39.985319735 +0100
2 +++ rpm-5.4.10/lib/rpmfc.c 2013-01-24 12:21:26.379891972 +0100
4 /* Generate package and per-file dependencies. */
5 for (fc->ix = 0; fc->fn[fc->ix] != NULL; fc->ix++) {
7 - /* XXX Insure that /usr/lib{,64}/python files are marked RPMFC_PYTHON */
8 + /* XXX Insure that /usr/{share,lib{,64}}/python files are marked RPMFC_PYTHON */
9 /* XXX HACK: classification by path is intrinsically stupid. */
10 { fn = strstr(fc->fn[fc->ix], "/usr/lib");
12 @@ -1166,6 +1166,22 @@
13 fc->fcolor->vals[fc->ix] & RPMFC_LIBRARY)
14 fc->fcolor->vals[fc->ix] |= (RPMFC_MODULE|RPMFC_SCRIPT);
16 + fn = strstr(fc->fn[fc->ix], "/usr/share");
18 + fn += sizeof("/usr/share")-1;
19 + if (!strncmp(fn, "/python", sizeof("/python")-1))
20 + fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
21 + else if (!strncmp(fn, "/ruby", sizeof("/ruby")-1)) {
22 + fc->fcolor->vals[fc->ix] |= RPMFC_RUBY;
23 + if ((strstr(fn, ".gemspec") || strstr(fn, "rbconfig.rb"))) {
24 + miRE mire = mireNew(RPMMIRE_REGEX, RPMTAG_FILEPATHS);
25 + if (!mireRegcomp(mire, ".*/(specifications/.*\\.gemspec|rbconfig\\.rb)$"))
26 + if (mireRegexec(mire, fc->fn[fc->ix], (size_t) 0) >= 0)
27 + fc->fcolor->vals[fc->ix] |= RPMFC_MODULE;
28 + mire = mireFree(mire);
34 /* XXX ugly quick & dirty integration of haskell() dependencies */