]> TLD Linux GIT Repositories - packages/rpm.git/blobdiff - rpm-perl-macros.patch
- release down to 2
[packages/rpm.git] / rpm-perl-macros.patch
index 0744b9f822d54c69b333e55dc8e415519167b15d..bd04c599ed949e2b81a5c6a74bebec43ec9f5dc3 100644 (file)
---- rpm-4.5/scripts/perl.req   2008-07-09 12:38:31.000000000 +0300
-+++ rpm-4.4.9/scripts/perl.req.in      2008-08-12 23:08:33.518675858 +0300
-@@ -277,20 +277,20 @@
-         # $V-style
-         if ($ver =~ m/5\.([0-5])(\.([0-9]+))?$/) {
-           if (defined $3) {
--            print "perl >= 0:5.00$1_$3\n";
+--- rpm-5.3.1/configure.ac.wiget       2010-05-22 17:15:11.000000000 +0200
++++ rpm-5.3.1/configure.ac     2010-05-30 16:37:59.526924459 +0200
+@@ -1100,7 +1100,7 @@ AC_CONFIG_FILES([ po/Makefile.in
+ AC_CONFIG_FILES([Makefile
+       rpmio/Makefile lib/Makefile build/Makefile sign/Makefile
+-      po/Makefile.in scripts/Makefile fileattrs/Makefile
++      po/Makefile.in scripts/Makefile scripts/perl.req scripts/perl.prov fileattrs/Makefile
+       misc/Makefile 
+       docs/Makefile
+       docs/man/Makefile
+--- rpm-5.3.1/scripts/perl.req.wiget   2008-10-26 10:50:53.000000000 +0100
++++ rpm-5.3.1/scripts/perl.req 2010-05-30 16:35:36.999438206 +0200
+@@ -45,7 +45,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 {
+@@ -53,7 +57,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($_);
++       }
++     }
+   }
+ }
+@@ -261,19 +269,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/) {
+-        $perlreq{"0:$ver"} = 1;
+-        next;
+-      }
+-      else {
+-        $perlreq{"1:$ver"} = 1;
+-        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-base >= 0:5.00$1_$3\n";
-           } else {
--            print "perl >= 0:5.00$1\n";
++          } else {
 +            print "perl-base >= 0:5.00$1\n";
-           }
-         } else {
--          print "perl >= 1:$ver\n";
++          }
++        } else {
 +          print "perl-base >= 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 {
++        # $]-style
++        if ($ver =~ m/5\.(00[0-5])_?([0-9]+)?$/) {
++          if (defined $2) {
 +            print "perl-base >= 0:5.$1_$2\n";
-           } else {
--            print "perl >= 0:5.$1\n";
++          } else {
 +            print "perl-base >= 0:5.$1\n";
-           }
-         } else {
-           # expand to M.NNN_nnn form
-@@ -299,7 +299,7 @@
-           $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";
++          }
++        } 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-base >= 1:$1.$2.$3\n";
-         }
-       }
-       next;
-@@ -326,6 +326,10 @@
++        }
++      }
++      next;
+       };
  
-       ($module =~ m/\.(ph|pl|t)$/) && next;
+@@ -290,7 +320,31 @@
+       # 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;
++
 +      # skip all modules for platforms other than linux.
 +
 +      ($module =~ m/Mac|OS2|MSDOS|Win32|VMS|vmsish/) && next;
 +
-       # if the module name starts in a dot it is not a module name.
++      # 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*\)$//;
  
-       ($module =~ m/^\./) && next;
+       # use base|parent qw(Foo) dependencies
+       if ($statement eq "use" && ($module eq "base" || $module eq "parent")) {