]> git.pld-linux.org Git - packages/rpm.git/blob - rpm-perl-macros.patch
- some simplifications, minor fixes && addons to perl.{req,prov} scripts
[packages/rpm.git] / rpm-perl-macros.patch
1 --- rpm-3.0.3/scripts/Makefile.am.wiget Sat Jun  5 22:52:30 1999
2 +++ rpm-3.0.3/scripts/Makefile.am       Sat Oct 30 12:28:50 1999
3 @@ -4,7 +4,8 @@
4  
5  EXTRA_DIST = \
6         convertrpmrc.sh find-lang.sh freshen.sh getpo.sh \
7 -       perl.prov perl.req vpkg-provides.sh
8 +       perl.prov perl.req find-perl-requires find-perl-provides \
9 +       vpkg-provides.sh
10  
11  installprefix = $(DESTDIR)
12  
13 @@ -13,5 +14,6 @@
14  configdir = ${prefix}/lib/rpm
15  config_SCRIPTS = \
16         convertrpmrc.sh find-lang.sh freshen.sh getpo.sh \
17 -       perl.prov perl.req vpkg-provides.sh
18 +       perl.prov perl.req find-perl-requires find-perl-provides \
19 +       vpkg-provides.sh
20  
21 --- rpm-3.0.3/scripts/find-perl-provides.wiget  Sat Oct 30 12:28:50 1999
22 +++ rpm-3.0.3/scripts/find-perl-provides        Sat Oct 30 12:28:50 1999
23 @@ -0,0 +1,8 @@
24 +#!/bin/sh
25 +ulimit -c 0
26 +
27 +filelist=`sed "s/['\"]/\\\&/g"`
28 +
29 +echo $filelist|/usr/lib/rpm/find-provides
30 +/usr/lib/rpm/perl.prov $filelist
31 +
32 --- rpm-3.0.3/scripts/find-perl-requires.wiget  Sat Oct 30 12:28:50 1999
33 +++ rpm-3.0.3/scripts/find-perl-requires        Sat Oct 30 12:28:50 1999
34 @@ -0,0 +1,11 @@
35 +#!/bin/sh
36 +ulimit -c 0
37 +
38 +filelist=`sed "s/['\"]/\\\&/g"`
39 +
40 +requires="`echo $filelist|/usr/lib/rpm/find-requires`"
41 +requires_perl="`/usr/lib/rpm/perl.req $filelist`"
42 +requires_mod="`rpm -q --whatprovides --qf "%{NAME}\n"  $requires_perl 2>/dev/null`"
43 +echo "$requires
44 +$requires_perl
45 +$requires_mod"|  sort -u
46 --- rpm-3.0.3/macros.in.wiget   Sat Oct 30 12:28:50 1999
47 +++ rpm-3.0.3/macros.in Sat Oct 30 12:28:50 1999
48 @@ -248,6 +248,8 @@
49  #      %{perl_sitearch}/Image
50  #      %dir %{perl_sitearch}/auto/Image
51  #
52 +#
53 +# NOTE: %{perl_sitearch}, %{perl_archlib} and %{perl_sitelib} macros 
54 +#      has been moved to macros.perl (see info in this file for details).
55 +#
56  %requires_eq() %(LC_ALL="C" rpm -q --queryformat 'Requires:%%{NAME} = %%{VERSION}' %1| grep -v "is not")
57 -%perl_sitearch %(eval "`perl -V:installsitearch`"; echo $installsitearch)
58 -%perl_archlib  %(eval "`perl -V:installarchlib`"; echo $installarchlib)
59 --- rpm-3.0.3/macros.perl.in.wiget      Sat Oct 30 12:28:50 1999
60 +++ rpm-3.0.3/macros.perl.in    Sat Oct 30 12:28:50 1999
61 @@ -0,0 +1,11 @@
62 +# Perl specific macro definitions.
63 +# To make use of these macros insert the following line into your spec file:
64 +# %include @RPMCONFIGDIR@/macros.perl
65 +
66 +%define                __find_requires @RPMCONFIGDIR@/find-perl-requires
67 +%define                __find_provides @RPMCONFIGDIR@/find-perl-provides
68 +
69 +%define                perl_sitelib    %(eval "`perl -V:installsitelib`"; echo $installsitelib)
70 +%define                perl_sitearch   %(eval "`perl -V:installsitearch`"; echo $installsitearch)
71 +%define                perl_archlib    %(eval "`perl -V:installarchlib`"; echo $installarchlib)
72 +
73 --- rpm-3.0.3/configure.in.wiget        Sat Oct 30 13:17:49 1999
74 +++ rpm-3.0.3/configure.in      Sat Oct 30 13:18:52 1999
75 @@ -181,6 +181,7 @@
76         AC_MSG_RESULT(patch later then 2.2 found)
77      fi
78  
79 +    AC_PATH_PROG(PERL, perl, /usr/bin/perl, $MYPATH)
80      AC_PATH_PROG(PGPBIN, pgp, /usr/bin/pgp, $MYPATH)
81      AC_PATH_PROG(__RM, rm, /bin/rm, $MYPATH)
82      AC_PATH_PROG(__TAR, tar, /bin/tar, $MYPATH)
83 @@ -906,8 +907,9 @@
84  export LIBS INCPATH CONFIG_SITE
85  
86  AC_CONFIG_SUBDIRS(popt)
87 -AC_OUTPUT([Makefile rpmrc macros macros.pld lib/Makefile
88 -       build/Makefile tools/Makefile scripts/Makefile
89 +AC_OUTPUT([Makefile rpmrc macros macros.pld macros.perl lib/Makefile
90 +       build/Makefile tools/Makefile
91 +        scripts/Makefile scripts/perl.req scripts/perl.prov
92         tests/Makefile tests/rpmrc tests/macros tests/hello-test/Makefile
93         misc/Makefile po/Makefile.in intl/Makefile
94         doc/Makefile doc/manual/Makefile doc/pl/Makefile doc/ru/Makefile
95 --- rpm-3.0.3/scripts/perl.req.pius     Sat Jun  5 22:52:31 1999
96 +++ rpm-3.0.3/scripts/perl.req  Sun Dec  5 02:38:42 1999
97 @@ -1,4 +1,4 @@
98 -#!/usr/bin/perl
99 +#!@PERL@
100
101  # a simple makedepends like script for perl.
102
103 @@ -12,7 +12,11 @@
104  
105  if ("@ARGV") {
106    foreach (@ARGV) {
107 -    process_file($_);
108 +    if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
109 +      if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
110 +        process_file($_);
111 +      }
112 +    }
113    }
114  } else {
115    
116 @@ -20,22 +24,24 @@
117    # contents of the file.
118    
119    foreach (<>) {
120 -    process_file($_);
121 +    if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
122 +      if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
123 +        process_file($_);
124 +      }
125 +    }
126    }
127  }
128  
129  
130  foreach $module (sort keys %require) {
131    if (length($require{$module}) == 0) {
132 -    print "perl($module)\n";
133 +    if ($module =~ /^[0-9._]+$/) {
134 +      print "perl >= $module\n";
135 +    } else {
136 +        print "perl($module)\n";
137 +    }
138    } else {
139 -
140 -    print "perl($module)>=$require{$module}\n";
141 -
142 -    # we need to print it without the version number until the
143 -    # requires syntax accepts version numbers correctly.
144 -
145 -    print "perl($module)\n";
146 +    print "perl($module) >= $require{$module}\n";
147    }
148  }
149  
150 @@ -49,12 +55,16 @@
151    chomp $file;
152    
153    open(FILE, "<$file")||
154 -    die("Could not open file: '$file' : $!\n");
155 +    die("$0: Could not open file: '$file' : $!\n");
156    
157    while (<FILE>) {
158      
159      # skip the documentation
160 -    if ( (m/^=(head1|head2|pod)/) .. (m/^=(cut)/) ) {
161 +    if ( (m/^=(head1|head2|pod|item)/) .. (m/^=(cut)/) ) {
162 +      next;
163 +    }
164 +
165 +    if ( (m/^=(over)/) .. (m/^=(back)/) ) {
166        next;
167      }
168  
169 @@ -108,13 +118,38 @@
170        # will be included with the name sys/systeminfo.ph so only use the
171        # basename of *.ph files
172  
173 -      ($module  =~ m/\.ph$/) && ($module =~ s!.*/!!g );
174 +      # ($module  =~ m/\.ph$/) && ($module =~ s!.*/!!g );
175 +
176 +      # there is no need to generate dependencies for ph and pl files
177 +      # so let's just skip them.
178  
179 +      ($module =~ m/\.(ph|pl)$/) && next;
180 +
181 +      # skip all modules for platforms other than linux.
182 +
183 +      ($module =~ m/Mac|OS2|MSDOS|Win32|VMS|vmsish/) && next;
184 +
185 +      # if the module name starts in a dot it is not a module name.
186 +
187 +      ($module =~ m/^\./) && next;
188 +
189 +      # if the module ends with .pm strip it to leave only basename.
190 +
191 +      $module =~ s/\.pm$//;
192 +
193 +      # trim off trailing parenthesis if any.  Sometimes people pass
194 +      # the module an empty list.
195 +
196 +      $module =~ s/\(\s*\)$//;
197  
198        $require{$module}=$version;
199        $line{$module}=$_;
200      }
201      
202    }
203
204 +
205 +  close(FILE)||
206 +    die("$0: Could not close file: '$file' : $!\n");
207 +
208 +  return ; 
209  }
210 --- rpm-3.0.3/scripts/perl.prov.pius    Sat Jun  5 22:52:31 1999
211 +++ rpm-3.0.3/scripts/perl.prov Sun Dec  5 02:31:33 1999
212 @@ -1,4 +1,4 @@
213 -#!/usr/bin/perl
214 +#!@PERL@
215
216  # a simple script to print the proper name for perl libraries.
217
218 @@ -13,7 +13,9 @@
219  
220  if ("@ARGV") {
221    foreach (@ARGV) {
222 -    process_file($_);
223 +     if (! m=(/(doc|usr/src)/|\.(so|gz|ph|pod|h|html)$)=) {
224 +      process_file($_);
225 +    }
226    }
227  } else {
228  
229 @@ -21,7 +23,9 @@
230    # contents of the file.
231  
232    foreach (<>) {
233 -    process_file($_);
234 +     if (! m=(/(doc|usr/src)/|\.(so|gz|ph|pod|h|html)$)=) {
235 +      process_file($_);
236 +    }
237    }
238  }
239  
240 @@ -30,12 +34,7 @@
241    if (length($require{$module}) == 0) {
242      print "perl($module)\n";
243    } else {
244 -    print "perl($module)=$require{$module}\n";
245 -
246 -    # we need to print it without the version number until the
247 -    # requires syntax accepts version numbers correctly.
248 -
249 -    print "perl($module)\n";
250 +    print "perl($module) = $require{$module}\n";
251    }
252  }
253  
254 @@ -49,14 +48,18 @@
255    chomp $file;
256    
257    open(FILE, "<$file")||
258 -    die("Could not open file: '$file' : $!\n");
259 +    die("$0: Could not open file: '$file' : $!\n");
260  
261    my ($package, $version) = ();
262  
263    while (<FILE>) {
264      
265      # skip the documentation
266 -    if ( (m/^=(head1|head2|pod)/) .. (m/^=(cut)/) ) {
267 +    if ( (m/^=(head1|head2|pod|item)/) .. (m/^=(cut)/) ) {
268 +      next;
269 +    }
270 +
271 +    if ( (m/^=(over)/) .. (m/^=(back)/) ) {
272        next;
273      }
274      
275 @@ -88,7 +91,7 @@
276  
277      if ( 
278         ($package) && 
279 -       (m/^\s*\$VERSION\s+=\s+/)
280 +       (m/^\s*\$VERSION\s*=\s+/)
281         ) {
282  
283        # first see if the version string contains the string
284 @@ -107,6 +110,9 @@
285      }
286      
287    }
288 +
289 +  close(FILE)||
290 +    die("$0: Could not close file: '$file' : $!\n");
291  
292    return ;
293  }
This page took 0.10605 seconds and 4 git commands to generate.