RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Elan Ruusamäe
  Root:   /v/rpm/cvs                       Email:  [EMAIL PROTECTED]
  Module: rpm                              Date:   13-Apr-2008 01:38:50
  Branch: rpm-4_5                          Handle: 2008041223384901

  Modified files:           (Branch: rpm-4_5)
    rpm                     configure.ac
    rpm/scripts             perl.req

  Log:
    - merge from PLD Linux:
    http://cvs.pld-linux.org/SOURCES/rpm-perl-macros.patch?rev=1.31.10.1

  Summary:
    Revision    Changes     Path
    2.70.2.23   +1  -0      rpm/configure.ac
    1.14.2.1    +64 -14     rpm/scripts/perl.req
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/configure.ac
  ============================================================================
  $ cvs diff -u -r2.70.2.22 -r2.70.2.23 configure.ac
  --- rpm/configure.ac  9 Dec 2007 04:48:50 -0000       2.70.2.22
  +++ rpm/configure.ac  12 Apr 2008 23:38:49 -0000      2.70.2.23
  @@ -1514,6 +1514,7 @@
   AC_CONFIG_SUBDIRS(popt zlib file sqlite db3)
   
   AC_CONFIG_FILES([ Doxyfile Makefile rpmrc macros platform rpmpopt rpm.spec 
rpm5.spec po/Makefile.in
  +     scripts/perl.req scripts/perl.prov
        rpmio/Makefile rpmdb/Makefile lib/Makefile build/Makefile
        scripts/Makefile
        scripts/macros.perl scripts/macros.php scripts/macros.python
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/scripts/perl.req
  ============================================================================
  $ cvs diff -u -r1.14 -r1.14.2.1 perl.req
  --- rpm/scripts/perl.req      25 May 2007 17:36:39 -0000      1.14
  +++ rpm/scripts/perl.req      12 Apr 2008 23:38:50 -0000      1.14.2.1
  @@ -1,4 +1,4 @@
  -#!/usr/bin/perl
  [EMAIL PROTECTED]@
   
   # RPM (and its source code) is covered under two separate licenses. 
   
  @@ -41,7 +41,11 @@
   
   if ("@ARGV") {
     foreach (@ARGV) {
  -    process_file($_);
  +    if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
  +      if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
  +        process_file($_);
  +      }
  +    }
     }
   } else {
     
  @@ -49,7 +53,11 @@
     # contents of the file.
     
     foreach (<>) {
  -    process_file($_);
  +     if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
  +       if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
  +         process_file($_);
  +       }
  +     }
     }
   }
   
  @@ -203,19 +211,41 @@
   
         $module =~ s/\(\s*\)$//;
   
  -      if ( $module =~ m/^v?([0-9._]+)$/ ) {
  +      if ( $module =~ m/^(v?)([0-9._]+)$/ ) {
         # if module is a number then both require and use interpret that
         # to mean that a particular version of perl is specified
   
  -      my $ver=$1;
  -      if ($ver =~ /5.00/) {
  -        print "perl >= 0:$ver\n";
  -        next;
  -      }
  -      else {
  -        print "perl >= 1:$ver\n";
  -        next;
  -      }
  +     my $ver=$2;
  +     if (($1 eq 'v') or ($ver =~ /[0-9]+\.[0-9]+\.[0-9]+/)) {
  +       # $V-style
  +       if ($ver =~ m/5\.([0-5])(\.([0-9]+))?$/) {
  +         if (defined $3) {
  +           print "perl >= 0:5.00$1_$3\n";
  +         } else {
  +           print "perl >= 0:5.00$1\n";
  +         }
  +       } else {
  +         print "perl >= 1:$ver\n";
  +       }
  +     } else {
  +       # $]-style
  +       if ($ver =~ m/5\.(00[0-5])_?([0-9]+)?$/) {
  +         if (defined $2) {
  +           print "perl >= 0:5.$1_$2\n";
  +         } else {
  +           print "perl >= 0:5.$1\n";
  +         }
  +       } else {
  +         # expand to M.NNN_nnn form
  +         $ver =~ s/^([0-9])$/$1./;
  +         $ver =~ 
s/^([0-9]\.[0-9]{0,5}|[0-9]\.[0-9]{3}_[0-9]{0,2})$/${1}000000/;
  +         $ver =~ s/^([0-9]\.[0-9]{3})_?([0-9]{3})0*$/$1_$2/;
  +         # match trimming leading 0s
  +         $ver =~ m/^([0-9])\.0*([1-9][0-9]*|0)_0*([1-9][0-9]*|0)$/;
  +         print "perl >= 1:$1.$2.$3\n";
  +       }
  +     }
  +     next;
   
         };
   
  @@ -232,7 +262,27 @@
         # will be included with the name sys/systeminfo.ph so only use the
         # basename of *.ph files
   
  -      ($module  =~ m/\.ph$/) && next;
  +      # ($module  =~ m/\.ph$/) && ($module =~ s!.*/!!g );
  + 
  +      # there is no need to generate dependencies for ph, pl or test files
  +      # so let's just skip them.
  +
  +      ($module =~ m/\.(ph|pl|t)$/) && next;
  +
  +      # if the module name starts in a dot it is not a module name.
  +
  +      ($module =~ m/^\./) && next;
  +
  +      # if the module ends with .pm strip it to leave only basename.
  +
  +      $module =~ s/\.pm$//;
  +
  +      $module =~ s/\//::/;
  +
  +      # trim off trailing parenthesis if any.  Sometimes people pass
  +      # the module an empty list.
  +
  +      $module =~ s/\(\s*\)$//;
   
         $require{$module}=$version;
         $line{$module}=$_;
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to