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

Reply via email to