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
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
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
18 # RPM (and its source code) is covered under two separate licenses.
25 + if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
26 + if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
33 @@ -49,7 +53,11 @@ if ("@ARGV") {
34 # contents of the file.
38 + if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
39 + if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
46 @@ -215,19 +223,41 @@ sub process_file {
48 $module =~ s/\(\s*\)$//;
50 - if ( $module =~ m/^v?([0-9._]+)$/ ) {
51 + if ( $module =~ m/^(v?)([0-9._]+)$/ ) {
52 # if module is a number then both require and use interpret that
53 # to mean that a particular version of perl is specified
56 - if ($ver =~ /5.00/) {
57 - $perlreq{"0:$ver"} = 1;
61 - $perlreq{"1:$ver"} = 1;
65 + if (($1 eq 'v') or ($ver =~ /[0-9]+\.[0-9]+\.[0-9]+/)) {
67 + if ($ver =~ m/5\.([0-5])(\.([0-9]+))?$/) {
69 + print "perl-base >= 0:5.00$1_$3\n";
71 + print "perl-base >= 0:5.00$1\n";
74 + print "perl-base >= 1:$ver\n";
78 + if ($ver =~ m/5\.(00[0-5])_?([0-9]+)?$/) {
80 + print "perl-base >= 0:5.$1_$2\n";
82 + print "perl-base >= 0:5.$1\n";
85 + # expand to M.NNN_nnn form
86 + $ver =~ s/^([0-9])$/$1./;
87 + $ver =~ s/^([0-9]\.[0-9]{0,5}|[0-9]\.[0-9]{3}_[0-9]{0,2})$/${1}000000/;
88 + $ver =~ s/^([0-9]\.[0-9]{3})_?([0-9]{3})0*$/$1_$2/;
89 + # match trimming leading 0s
90 + $ver =~ m/^([0-9])\.0*([1-9][0-9]*|0)_0*([1-9][0-9]*|0)$/;
91 + print "perl-base >= 1:$1.$2.$3\n";
98 @@ -244,7 +274,31 @@ sub process_file {
99 # will be included with the name sys/systeminfo.ph so only use the
100 # basename of *.ph files
102 - ($module =~ m/\.ph$/) && next;
103 + # ($module =~ m/\.ph$/) && ($module =~ s!.*/!!g );
105 + # there is no need to generate dependencies for ph, pl or test files
106 + # so let's just skip them.
108 + ($module =~ m/\.(ph|pl|t)$/) && next;
110 + # skip all modules for platforms other than linux.
112 + ($module =~ m/Mac|OS2|MSDOS|Win32|VMS|vmsish/) && next;
114 + # if the module name starts in a dot it is not a module name.
116 + ($module =~ m/^\./) && next;
118 + # if the module ends with .pm strip it to leave only basename.
120 + $module =~ s/\.pm$//;
122 + $module =~ s/\//::/;
124 + # trim off trailing parenthesis if any. Sometimes people pass
125 + # the module an empty list.
127 + $module =~ s/\(\s*\)$//;
129 # use base|parent qw(Foo) dependencies
130 if ($statement eq "use" && ($module eq "base" || $module eq "parent")) {