]> git.pld-linux.org Git - packages/rpm.git/blob - rpm-perl-macros.patch
- @__PERL@ is never substituted by the build system, do not use it
[packages/rpm.git] / rpm-perl-macros.patch
1 --- rpm-5.3.1/configure.ac.wiget        2010-05-22 17:15:11.000000000 +0200
2 +++ rpm-5.3.1/configure.ac      2010-05-30 16:37:59.526924459 +0200
3 @@ -1100,7 +1100,7 @@ AC_CONFIG_FILES([ po/Makefile.in
4  
5  AC_CONFIG_FILES([Makefile
6         rpmio/Makefile lib/Makefile build/Makefile sign/Makefile
7 -       po/Makefile.in scripts/Makefile fileattrs/Makefile
8 +       po/Makefile.in scripts/Makefile scripts/perl.req scripts/perl.prov fileattrs/Makefile
9         misc/Makefile 
10         doc/Makefile
11         python/Makefile
12 --- rpm-5.3.1/scripts/perl.req.wiget    2008-10-26 10:50:53.000000000 +0100
13 +++ rpm-5.3.1/scripts/perl.req  2010-05-30 16:35:36.999438206 +0200
14 @@ -41,7 +41,11 @@
15  
16  if ("@ARGV") {
17    foreach (@ARGV) {
18 -    process_file($_);
19 +    if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
20 +      if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
21 +        process_file($_);
22 +      }
23 +    }
24    }
25  } else {
26  
27 @@ -49,7 +53,11 @@ if ("@ARGV") {
28    # contents of the file.
29  
30    foreach (<>) {
31 -    process_file($_);
32 +     if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
33 +       if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
34 +         process_file($_);
35 +       }
36 +     }
37    }
38  }
39  
40 @@ -215,19 +223,41 @@ sub process_file {
41  
42        $module =~ s/\(\s*\)$//;
43  
44 -      if ( $module =~ m/^v?([0-9._]+)$/ ) {
45 +      if ( $module =~ m/^(v?)([0-9._]+)$/ ) {
46        # if module is a number then both require and use interpret that
47        # to mean that a particular version of perl is specified
48  
49 -      my $ver = $1;
50 -      if ($ver =~ /5.00/) {
51 -        $perlreq{"0:$ver"} = 1;
52 -        next;
53 -      }
54 -      else {
55 -        $perlreq{"1:$ver"} = 1;
56 -        next;
57 -      }
58 +       my $ver=$2;
59 +       if (($1 eq 'v') or ($ver =~ /[0-9]+\.[0-9]+\.[0-9]+/)) {
60 +         # $V-style
61 +         if ($ver =~ m/5\.([0-5])(\.([0-9]+))?$/) {
62 +           if (defined $3) {
63 +             print "perl-base >= 0:5.00$1_$3\n";
64 +           } else {
65 +             print "perl-base >= 0:5.00$1\n";
66 +           }
67 +         } else {
68 +           print "perl-base >= 1:$ver\n";
69 +         }
70 +       } else {
71 +         # $]-style
72 +         if ($ver =~ m/5\.(00[0-5])_?([0-9]+)?$/) {
73 +           if (defined $2) {
74 +             print "perl-base >= 0:5.$1_$2\n";
75 +           } else {
76 +             print "perl-base >= 0:5.$1\n";
77 +           }
78 +         } else {
79 +           # expand to M.NNN_nnn form
80 +           $ver =~ s/^([0-9])$/$1./;
81 +           $ver =~ s/^([0-9]\.[0-9]{0,5}|[0-9]\.[0-9]{3}_[0-9]{0,2})$/${1}000000/;
82 +           $ver =~ s/^([0-9]\.[0-9]{3})_?([0-9]{3})0*$/$1_$2/;
83 +           # match trimming leading 0s
84 +           $ver =~ m/^([0-9])\.0*([1-9][0-9]*|0)_0*([1-9][0-9]*|0)$/;
85 +           print "perl-base >= 1:$1.$2.$3\n";
86 +         }
87 +       }
88 +       next;
89  
90        };
91  
92 @@ -244,7 +274,31 @@ sub process_file {
93        #  will be included with the name sys/systeminfo.ph so only use the
94        # basename of *.ph files
95  
96 -      ($module =~ m/\.ph$/) && next;
97 +      # ($module  =~ m/\.ph$/) && ($module =~ s!.*/!!g );
98 +
99 +      # there is no need to generate dependencies for ph, pl or test files
100 +      # so let's just skip them.
101 +
102 +      ($module =~ m/\.(ph|pl|t)$/) && next;
103 +
104 +      # skip all modules for platforms other than linux.
105 +
106 +      ($module =~ m/Mac|OS2|MSDOS|Win32|VMS|vmsish/) && next;
107 +
108 +      # if the module name starts in a dot it is not a module name.
109 +
110 +      ($module =~ m/^\./) && next;
111 +
112 +      # if the module ends with .pm strip it to leave only basename.
113 +
114 +      $module =~ s/\.pm$//;
115 +
116 +      $module =~ s/\//::/;
117 +
118 +      # trim off trailing parenthesis if any.  Sometimes people pass
119 +      # the module an empty list.
120 +
121 +      $module =~ s/\(\s*\)$//;
122  
123        # use base|parent qw(Foo) dependencies
124        if ($statement eq "use" && ($module eq "base" || $module eq "parent")) {
This page took 0.055346 seconds and 3 git commands to generate.