]> git.pld-linux.org Git - packages/rpm.git/blame - rpm-perl-macros.patch
- one more fix in perl.{req,prov} scripts
[packages/rpm.git] / rpm-perl-macros.patch
CommitLineData
cfd811fa
AF
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
edf87823 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
cfd811fa
AF
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
edf87823 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+
cfd811fa
AF
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
edf87823 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
3ce8984f 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.pld Sat Oct 30 17:00:59 1999
96+++ rpm-3.0.3/scripts/perl.req Sat Oct 30 17:01:08 1999
2fa5aec3
AF
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/(bin|lib|share|X11R6/(lib|bin))/=) {
cebd7a08 109+ if (! m=(/(doc|man|info|usr/src)/|\.(so|pl|ph|h|html|pod)$)=) {
2fa5aec3
AF
110+ process_file($_);
111+ }
112+ }
113 }
114 } else {
115
3ce8984f 116@@ -20,22 +24,30 @@
2fa5aec3
AF
117 # contents of the file.
118
119 foreach (<>) {
120- process_file($_);
121+ if (m=/usr/(bin|lib|share|X11R6/(lib|bin))/=) {
cebd7a08 122+ if (! m=(/(doc|man|info|usr/src)/|\.(so|pl|ph|h|html|pod)$)=) {
2fa5aec3
AF
123+ process_file($_);
124+ }
125+ }
126 }
127 }
edf87823 128
129
130 foreach $module (sort keys %require) {
edf87823 131 if (length($require{$module}) == 0) {
132- print "perl($module)\n";
133+ if ($module =~ /^[0-9._]+$/) {
134+ print "perl >= $module\n";
135+ } else {
cfd811fa 136+ print "perl($module)\n";
edf87823 137+ }
138 } else {
139
140- print "perl($module)>=$require{$module}\n";
141+ print "perl($module) >= $require{$module}\n";
142
143 # we need to print it without the version number until the
144 # requires syntax accepts version numbers correctly.
145
146- print "perl($module)\n";
147+# print "perl($module)\n";
148 }
149 }
150
3ce8984f 151@@ -54,7 +66,7 @@
2fa5aec3
AF
152 while (<FILE>) {
153
154 # skip the documentation
155- if ( (m/^=(head1|head2|pod)/) .. (m/^=(cut)/) ) {
156+ if ( (m/^=(head1|head2|pod|item)/) .. (m/^=(cut)/) ) {
157 next;
158 }
159
4d8fb4e3 160@@ -108,8 +120,28 @@
3ce8984f 161 # will be included with the name sys/systeminfo.ph so only use the
162 # basename of *.ph files
163
164- ($module =~ m/\.ph$/) && ($module =~ s!.*/!!g );
165+ # ($module =~ m/\.ph$/) && ($module =~ s!.*/!!g );
cfd811fa 166+
3ce8984f 167+ # there is no need to generate dependencies for ph and pl files
168+ # so let's just skip them
cfd811fa 169+
3ce8984f 170+ ($module =~ m/\.(ph|pl)$/) && next;
cfd811fa 171+
92b19143 172+ # skip all modules for oparating systems other than linux
173+
174+ ($module =~ m/Mac|OS2|MSDOS|Win32|VMS|vmsish/) && next;
175+
4d8fb4e3 176+ # if the module name starts in a dot it is not a module name
177+
178+ ($module =~ m/^\./) && next;
179+
92b19143 180+ # if the module ends with .pm strip it to leave only basename
5e855029 181+
182+ ($module =~ m/\.pm$/) && ($module =~ s/\.pm//g);
183+
184+ # strip () from module name ( ex. Carp() )
92b19143 185
5e855029 186+ ($module =~m/\(\)$/) && ($module =~ s/\(\)//g);
cfd811fa 187
3ce8984f 188 $require{$module}=$version;
189 $line{$module}=$_;
40e8d3f7 190--- rpm-3.0.3/scripts/perl.prov.pld Sat Jun 5 22:52:31 1999
191+++ rpm-3.0.3/scripts/perl.prov Sun Oct 31 02:17:45 1999
192@@ -1,4 +1,4 @@
193-#!/usr/bin/perl
194+#!@PERL@
195
196 # a simple script to print the proper name for perl libraries.
197
198@@ -13,7 +13,9 @@
199
200 if ("@ARGV") {
201 foreach (@ARGV) {
202- process_file($_);
cebd7a08 203+ if (! m=(/(doc|usr/src)/|\.(so|gz|ph|pod|h|html)$)=) {
40e8d3f7 204+ process_file($_);
205+ }
206 }
207 } else {
208
209@@ -21,7 +23,9 @@
210 # contents of the file.
211
212 foreach (<>) {
213- process_file($_);
cebd7a08 214+ if (! m=(/(doc|usr/src)/|\.(so|gz|ph|pod|h|html)$)=) {
40e8d3f7 215+ process_file($_);
216+ }
217 }
218 }
219
220@@ -30,12 +34,12 @@
221 if (length($require{$module}) == 0) {
222 print "perl($module)\n";
223 } else {
224- print "perl($module)=$require{$module}\n";
225+ print "perl($module) = $require{$module}\n";
226
227 # we need to print it without the version number until the
228 # requires syntax accepts version numbers correctly.
229
230- print "perl($module)\n";
231+# print "perl($module)\n";
232 }
233 }
234
This page took 0.059141 seconds and 4 git commands to generate.