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