1 --- rpm-5.4.10/lib/rpmfc.h~ 2013-04-28 23:05:05.000000000 +0300
2 +++ rpm-5.4.10/lib/rpmfc.h 2013-04-28 23:08:27.668453931 +0300
4 RPMFC_MANPAGE = (7 << 16),
5 RPMFC_TEXT = (8 << 16),
6 RPMFC_DOCUMENT = (9 << 16),
7 + RPMFC_NODEJS = (10 << 16),
9 RPMFC_ARCHIVE = (1 << 20),
10 RPMFC_COMPRESSED = (1 << 21),
11 --- rpm-5.4.10/lib/rpmfc.c 2013-04-28 23:10:48.781649157 +0300
12 +++ rpm-5.4.10/lib/rpmfc.c 2013-04-28 23:24:04.738348320 +0300
14 { "ruby script text", RPMFC_RUBY|RPMFC_INCLUDE },
15 { "Ruby script text", RPMFC_RUBY|RPMFC_INCLUDE },
17 + { "Node.js script", RPMFC_NODEJS|RPMFC_INCLUDE },
19 { "current ar archive", RPMFC_STATIC|RPMFC_LIBRARY|RPMFC_ARCHIVE|RPMFC_INCLUDE },
21 { "Zip archive data", RPMFC_COMPRESSED|RPMFC_ARCHIVE|RPMFC_INCLUDE },
23 fc->fcolor->vals[fc->ix] |= RPMFC_PHP;
24 else if (!strncmp(bn, "ruby", sizeof("ruby")-1))
25 fc->fcolor->vals[fc->ix] |= RPMFC_RUBY;
26 + else if (!strncmp(bn, "node", sizeof("node")-1) || !strncmp(bn, "nodejs", sizeof("nodejs")-1))
27 + fc->fcolor->vals[fc->ix] |= RPMFC_NODEJS;
33 xx = rpmfcHelper(fc, 'R', "ruby");
35 + if (fc->fcolor->vals[fc->ix] & RPMFC_NODEJS) {
36 + xx = rpmfcHelper(fc, 'P', "nodejs");
40 + xx = rpmfcHelper(fc, 'R', "nodejs");
42 if ((fc->fcolor->vals[fc->ix] & RPMFC_FONT) == RPMFC_FONT) {
43 xx = rpmfcHelper(fc, 'P', "font");
44 /* XXX: currently of no use, but for the sake of consistency... */
47 static struct rpmfcApplyTbl_s rpmfcApplyTable[] = {
48 { rpmfcELF, RPMFC_ELF },
49 - { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_FONT|RPMFC_HASKELL|RPMFC_RUBY|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO|RPMFC_TYPELIB|RPMFC_DESKTOP_FILE) },
50 + { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_FONT|RPMFC_HASKELL|RPMFC_RUBY|RPMFC_NODEJS|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO|RPMFC_TYPELIB|RPMFC_DESKTOP_FILE) },
51 #if defined(RPM_VENDOR_MANDRIVA)
52 { rpmfcSYMLINK, RPMFC_SYMLINK },
62 @@ -1152,6 +1164,12 @@
64 if (!strncmp(fn, "/python", sizeof("/python")-1))
65 fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON;
66 + else if (!strncmp(fn, "/node", sizeof("/node")-1) || !strncmp(fn, "/node_modules", sizeof("/node_modules")-1)) {
67 + fc->fcolor->vals[fc->ix] |= RPMFC_NODEJS;
69 + if (!strcmp(bn, "package.json")) {
70 + fc->fcolor->vals[fc->ix] |= RPMFC_MODULE;
72 else if (!strncmp(fn, "/ruby", sizeof("/ruby")-1)) {
73 fc->fcolor->vals[fc->ix] |= RPMFC_RUBY;
74 if ((strstr(fn, ".gemspec") || strstr(fn, "rbconfig.rb"))) {
75 --- rpm-5.4.10/macros/macros.in~ 2013-04-28 23:35:06.000000000 +0300
76 +++ rpm-5.4.10/macros/macros.in 2013-04-28 23:38:01.383900982 +0300
77 @@ -1068,6 +1068,10 @@
78 %{load:%{_usrlibrpm}/macros.d/mono}
80 #------------------------------------------------------------------------
81 +# nodejs(...) configuration.
82 +%{load:%{_usrlibrpm}/macros.d/nodejs}
84 +#------------------------------------------------------------------------
85 # ruby(...) configuration.
86 %{load:%{_usrlibrpm}/macros.d/ruby}