SOURCES (rpm-4_4_9): rpm-perl-macros.patch - handle different form...

qboosh qboosh at pld-linux.org
Mon Mar 24 02:25:16 CET 2008


Author: qboosh                       Date: Mon Mar 24 01:25:16 2008 GMT
Module: SOURCES                       Tag: rpm-4_4_9
---- Log message:
- handle different forms of "require version"

---- Files affected:
SOURCES:
   rpm-perl-macros.patch (1.31 -> 1.31.10.1) 

---- Diffs:

================================================================
Index: SOURCES/rpm-perl-macros.patch
diff -u SOURCES/rpm-perl-macros.patch:1.31 SOURCES/rpm-perl-macros.patch:1.31.10.1
--- SOURCES/rpm-perl-macros.patch:1.31	Sat Jan 10 23:20:11 2004
+++ SOURCES/rpm-perl-macros.patch	Mon Mar 24 02:25:11 2008
@@ -9,14 +9,13 @@
  	rpmio/Makefile rpmdb/Makefile lib/Makefile build/Makefile
  	scripts/Makefile scripts/brp-redhat
  	scripts/macros.perl scripts/macros.php scripts/macros.python
-diff -urN rpm-4.3.org/scripts/perl.req rpm-4.3/scripts/perl.req
---- rpm-4.3.org/scripts/perl.req	2004-01-07 01:51:04.911464416 +0100
-+++ rpm-4.3/scripts/perl.req	2004-01-07 01:55:17.030076058 +0100
+--- rpm-4.4.9/scripts/perl.req.orig	2006-07-08 16:13:50.000000000 +0200
++++ rpm-4.4.9/scripts/perl.req	2008-03-24 01:13:31.985544655 +0100
 @@ -1,4 +1,4 @@
 -#!/usr/bin/perl
 +#!@__PERL@
  
- # RPM (and it's source code) is covered under two separate licenses. 
+ # RPM (and its source code) is covered under two separate licenses. 
  
 @@ -41,7 +41,11 @@
  
@@ -31,7 +30,7 @@
    }
  } else {
    
-@@ -49,14 +53,22 @@
+@@ -49,7 +53,11 @@
    # contents of the file.
    
    foreach (<>) {
@@ -44,19 +43,59 @@
    }
  }
  
+@@ -203,19 +211,41 @@
  
- foreach $module (sort keys %require) {
-   if (length($require{$module}) == 0) {
--    print "perl($module)\n";
-+     if ($module =~ /^[0-9._]+$/) {
-+       print "perl >= $module\n";
-+     } else {
-+         print "perl($module)\n";
-+     }
-   } else {
+       $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-base >= 0:5.00$1_$3\n";
++	    } else {
++	      print "perl-base >= 0:5.00$1\n";
++	    }
++	  } else {
++	    print "perl-base >= 1:$ver\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-base >= 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-base >= 1:$1.$2.$3\n";
++	  }
++	}
++	next;
+ 
+       };
  
-     # I am not using rpm3.0 so I do not want spaces arround my
-@@ -219,7 +231,31 @@
+@@ -232,7 +262,31 @@
        # will be included with the name sys/systeminfo.ph so only use the
        # basename of *.ph files
  
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/rpm-perl-macros.patch?r1=1.31&r2=1.31.10.1&f=u



More information about the pld-cvs-commit mailing list