RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 01-Apr-2011 04:03:43 Branch: rpm-5_4 Handle: 2011040102034201 Modified files: (Branch: rpm-5_4) rpm CHANGES rpm/lib rpmfc.c rpmfc.h rpm/macros ruby.in Log: enable ruby file classifier & internal dep generator. Summary: Revision Changes Path 1.3501.2.87 +1 -0 rpm/CHANGES 1.75.2.1 +22 -2 rpm/lib/rpmfc.c 1.19.4.1 +2 -1 rpm/lib/rpmfc.h 1.4.2.1 +2 -2 rpm/macros/ruby.in ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.3501.2.86 -r1.3501.2.87 CHANGES --- rpm/CHANGES 31 Mar 2011 07:38:38 -0000 1.3501.2.86 +++ rpm/CHANGES 1 Apr 2011 02:03:42 -0000 1.3501.2.87 @@ -1,4 +1,5 @@ 5.4.0 -> 5.4.1: + - proyvind: rpmfc: enable ruby file classifier & internal dep generator. - devzero2000: misread the review, repost as the original patch - devzero2000: change the order for the _initddir macro assignment - proyvind: mandriva: add systemd macros (mdvbz#62741, from Andrey Borzenkov). @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmfc.c ============================================================================ $ cvs diff -u -r1.75 -r1.75.2.1 rpmfc.c --- rpm/lib/rpmfc.c 19 Oct 2010 02:34:04 -0000 1.75 +++ rpm/lib/rpmfc.c 1 Apr 2011 02:03:43 -0000 1.75.2.1 @@ -576,6 +576,9 @@ { "Mono/.Net assembly", RPMFC_MONO|RPMFC_INCLUDE }, + { "ruby script text", RPMFC_RUBY|RPMFC_INCLUDE }, + { "Ruby script text", RPMFC_RUBY|RPMFC_INCLUDE }, + { "current ar archive", RPMFC_STATIC|RPMFC_LIBRARY|RPMFC_ARCHIVE|RPMFC_INCLUDE }, { "Zip archive data", RPMFC_COMPRESSED|RPMFC_ARCHIVE|RPMFC_INCLUDE }, @@ -810,6 +813,8 @@ fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON; else if (!strncmp(bn, "php", sizeof("php")-1)) fc->fcolor->vals[fc->ix] |= RPMFC_PHP; + else if (!strncmp(bn, "ruby", sizeof("ruby")-1)) + fc->fcolor->vals[fc->ix] |= RPMFC_RUBY; break; } @@ -865,7 +870,15 @@ xx = rpmfcHelper(fc, 'P', "mono"); if (is_executable) xx = rpmfcHelper(fc, 'R', "mono"); - } + } else + if (fc->fcolor->vals[fc->ix] & RPMFC_RUBY) { + xx = rpmfcHelper(fc, 'P', "ruby"); +#ifdef NOTYET + if (is_executable) +#endif + xx = rpmfcHelper(fc, 'R', "ruby"); + } else + /*@-observertrans@*/ defaultdocdir = _free(defaultdocdir) ; /*@=observertrans@*/ @@ -954,7 +967,7 @@ /*@unchecked@*/ static struct rpmfcApplyTbl_s rpmfcApplyTable[] = { { rpmfcELF, RPMFC_ELF }, - { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO) }, + { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO|RPMFC_RUBY) }, { NULL, 0 } }; /*@=nullassign@*/ @@ -1022,6 +1035,13 @@ fn += 2; if (!strncmp(fn, "/python", sizeof("/python")-1)) fc->fcolor->vals[fc->ix] |= RPMFC_PYTHON; + else if (!strncmp(fn, "/ruby", sizeof("/ruby")-1)) { + const char *gem = strstr(fn, "specifications"); + fc->fcolor->vals[fc->ix] |= RPMFC_RUBY; + if (gem && (gem = strstr(gem, ".gemspec")) && + gem[sizeof(".gemspec")-1] == '\0') + fc->fcolor->vals[fc->ix] |= RPMFC_MODULE; + } } } @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmfc.h ============================================================================ $ cvs diff -u -r1.19 -r1.19.4.1 rpmfc.h --- rpm/lib/rpmfc.h 6 Mar 2010 15:31:29 -0000 1.19 +++ rpm/lib/rpmfc.h 1 Apr 2011 02:03:43 -0000 1.19.4.1 @@ -24,7 +24,8 @@ #define RPMFC_ELF (RPMFC_ELF32|RPMFC_ELF64|RPMFC_ELFMIPSN32) /* (1 << 3) leaks into package headers, reserved */ - /* bits 4-7 unused */ + /* bits 4-6 unused */ + RPMFC_RUBY = (1 << 7), RPMFC_PKGCONFIG = (1 << 8), RPMFC_LIBTOOL = (1 << 9), RPMFC_BOURNE = (1 << 10), @@ . patch -p0 <<'@@ .' Index: rpm/macros/ruby.in ============================================================================ $ cvs diff -u -r1.4 -r1.4.2.1 ruby.in --- rpm/macros/ruby.in 18 Oct 2010 11:27:12 -0000 1.4 +++ rpm/macros/ruby.in 1 Apr 2011 02:03:43 -0000 1.4.2.1 @@ -8,8 +8,8 @@ # # Note: Used if _use_internal_dependency_generator is non-zero. The # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. -#%__rubygems_provides %{_rpmhome}/rubygems.rb --provides -#%__rubygems_requires %{_rpmhome}/rubygems.sh --requires +%__ruby_provides %{_rpmhome}/rubygems.rb --provides +%__ruby_requires %{_rpmhome}/rubygems.rb --requires %ruby_version %(%{__ruby} -rrbconfig -e 'print Config::CONFIG["ruby_version"]') @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org