summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/perl/perl-5.8.8/52_debian_extutils_hacks.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/perl/perl-5.8.8/52_debian_extutils_hacks.patch')
-rw-r--r--meta/recipes-devtools/perl/perl-5.8.8/52_debian_extutils_hacks.patch234
1 files changed, 234 insertions, 0 deletions
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/52_debian_extutils_hacks.patch b/meta/recipes-devtools/perl/perl-5.8.8/52_debian_extutils_hacks.patch
new file mode 100644
index 0000000000..8a964f9338
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.8.8/52_debian_extutils_hacks.patch
@@ -0,0 +1,234 @@
1Various debian-specific ExtUtils changes:
2
3 * Respect umask during installation, and set as appropriate for each of
4 perl, vendor and site (policy requires group writable site dirs).
5
6 * Don't install .packlist or perllocal.pod for perl or vendor.
7 * Fiddle with *PREFIX and variables written to the makefile so that
8 install directories may be changed when make is run by passing
9 PREFIX= to the "make install" command (used when packaging
10 modules).
11
12 * Set location of libperl.a to /usr/lib.
13 * Note that libperl-dev package is required for embedded linking.
14
15diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/Embed.pm perl-5.8.8/lib/ExtUtils/Embed.pm
16--- perl-5.8.8.orig/lib/ExtUtils/Embed.pm 2004-08-03 20:41:49.000000000 +1000
17+++ perl-5.8.8/lib/ExtUtils/Embed.pm 2006-02-05 10:42:11.000000000 +1100
18@@ -300,6 +300,9 @@
19 Typically, an application B<Makefile> will invoke ExtUtils::Embed
20 functions while building your application.
21
22+Note that on Debian systems the B<libperl-dev> package is required for
23+compiling applications which embed an interpreter.
24+
25 =head1 @EXPORT
26
27 ExtUtils::Embed exports the following functions:
28diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/Install.pm perl-5.8.8/lib/ExtUtils/Install.pm
29--- perl-5.8.8.orig/lib/ExtUtils/Install.pm 2005-10-21 22:00:01.000000000 +1000
30+++ perl-5.8.8/lib/ExtUtils/Install.pm 2006-02-05 10:42:11.000000000 +1100
31@@ -173,8 +173,8 @@
32 if (-f $targetfile){
33 forceunlink($targetfile) unless $nonono;
34 } else {
35- mkpath($targetdir,0,0755) unless $nonono;
36- print "mkpath($targetdir,0,0755)\n" if $verbose>1;
37+ mkpath($targetdir) unless $nonono;
38+ print "mkpath($targetdir)\n" if $verbose>1;
39 }
40 copy($sourcefile, $targetfile) unless $nonono;
41 print "Installing $targetfile\n";
42diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Any.pm perl-5.8.8/lib/ExtUtils/MM_Any.pm
43--- perl-5.8.8.orig/lib/ExtUtils/MM_Any.pm 2005-04-13 17:49:53.000000000 +1000
44+++ perl-5.8.8/lib/ExtUtils/MM_Any.pm 2006-02-05 11:17:52.000000000 +1100
45@@ -645,8 +645,6 @@
46 sub manifypods_target {
47 my($self) = shift;
48
49- my $man1pods = '';
50- my $man3pods = '';
51 my $dependencies = '';
52
53 # populate manXpods & dependencies:
54@@ -666,7 +664,7 @@
55 foreach my $section (qw(1 3)) {
56 my $pods = $self->{"MAN${section}PODS"};
57 push @man_cmds, $self->split_command(<<CMD, %$pods);
58- \$(NOECHO) \$(POD2MAN) --section=$section --perm_rw=\$(PERM_RW)
59+ \$(NOECHO) \$(POD2MAN) --section=\$(MAN${section}EXT) --perm_rw=\$(PERM_RW)
60 CMD
61 }
62
63@@ -1080,9 +1078,11 @@
64 $self->{SITEPREFIX} ||= $sprefix;
65 $self->{VENDORPREFIX} ||= $vprefix;
66
67- # Lots of MM extension authors like to use $(PREFIX) so we
68- # put something sensible in there no matter what.
69- $self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
70+ my $p = $self->{PREFIX} = $self->{PERLPREFIX};
71+ for my $t (qw/PERL SITE VENDOR/)
72+ {
73+ $self->{"${t}PREFIX"} =~ s!^\Q$p\E(?=/|$)!\$(PREFIX)!;
74+ }
75 }
76
77 my $arch = $Config{archname};
78diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/lib/ExtUtils/MM_Unix.pm
79--- perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm 2005-05-21 19:42:56.000000000 +1000
80+++ perl-5.8.8/lib/ExtUtils/MM_Unix.pm 2006-02-05 17:40:19.000000000 +1100
81@@ -2054,9 +2054,7 @@
82 $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
83
84 pure_perl_install ::
85- $(NOECHO) $(MOD_INSTALL) \
86- read }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
87- write }.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
88+ $(NOECHO) umask 022; $(MOD_INSTALL) \
89 $(INST_LIB) $(DESTINSTALLPRIVLIB) \
90 $(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
91 $(INST_BIN) $(DESTINSTALLBIN) \
92@@ -2068,7 +2066,7 @@
93
94
95 pure_site_install ::
96- $(NOECHO) $(MOD_INSTALL) \
97+ $(NOECHO) umask 02; $(MOD_INSTALL) \
98 read }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
99 write }.$self->catfile('$(DESTINSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').q{ \
100 $(INST_LIB) $(DESTINSTALLSITELIB) \
101@@ -2081,9 +2079,7 @@
102 }.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{
103
104 pure_vendor_install ::
105- $(NOECHO) $(MOD_INSTALL) \
106- read }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
107- write }.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{ \
108+ $(NOECHO) umask 022; $(MOD_INSTALL) \
109 $(INST_LIB) $(DESTINSTALLVENDORLIB) \
110 $(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
111 $(INST_BIN) $(DESTINSTALLVENDORBIN) \
112@@ -2092,37 +2088,19 @@
113 $(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
114
115 doc_perl_install ::
116- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
117- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
118- -$(NOECHO) $(DOC_INSTALL) \
119- "Module" "$(NAME)" \
120- "installed into" "$(INSTALLPRIVLIB)" \
121- LINKTYPE "$(LINKTYPE)" \
122- VERSION "$(VERSION)" \
123- EXE_FILES "$(EXE_FILES)" \
124- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
125
126 doc_site_install ::
127- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
128- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
129- -$(NOECHO) $(DOC_INSTALL) \
130+ $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLSITEARCH)/perllocal.pod
131+ -$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLSITEARCH)
132+ -$(NOECHO) umask 02; $(DOC_INSTALL) \
133 "Module" "$(NAME)" \
134 "installed into" "$(INSTALLSITELIB)" \
135 LINKTYPE "$(LINKTYPE)" \
136 VERSION "$(VERSION)" \
137 EXE_FILES "$(EXE_FILES)" \
138- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
139+ >> }.$self->catfile('$(DESTINSTALLSITEARCH)','perllocal.pod').q{
140
141 doc_vendor_install ::
142- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
143- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
144- -$(NOECHO) $(DOC_INSTALL) \
145- "Module" "$(NAME)" \
146- "installed into" "$(INSTALLVENDORLIB)" \
147- LINKTYPE "$(LINKTYPE)" \
148- VERSION "$(VERSION)" \
149- EXE_FILES "$(EXE_FILES)" \
150- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
151
152 };
153
154@@ -2131,13 +2109,12 @@
155 $(NOECHO) $(NOOP)
156
157 uninstall_from_perldirs ::
158- $(NOECHO) $(UNINSTALL) }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{
159
160 uninstall_from_sitedirs ::
161 $(NOECHO) $(UNINSTALL) }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{
162
163 uninstall_from_vendordirs ::
164- $(NOECHO) $(UNINSTALL) }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{
165+
166 };
167
168 join("",@m);
169@@ -2415,7 +2392,7 @@
170 ($lperl = $libperl) =~ s/\$\(A\)/$self->{LIB_EXT}/;
171 }
172 unless ($libperl && -f $lperl) { # Ilya's code...
173- my $dir = $self->{PERL_SRC} || "$self->{PERL_ARCHLIB}/CORE";
174+ my $dir = $self->{PERL_SRC} || "/usr/lib";
175 $dir = "$self->{PERL_ARCHLIB}/.." if $self->{UNINSTALLED_PERL};
176 $libperl ||= "libperl$self->{LIB_EXT}";
177 $libperl = "$dir/$libperl";
178@@ -3007,8 +2984,7 @@
179 print STDERR " prefixify $var => $path\n" if $Verbose >= 2;
180 print STDERR " from $sprefix to $rprefix\n" if $Verbose >= 2;
181
182- if( $self->{ARGS}{PREFIX} && $self->file_name_is_absolute($path) &&
183- $path !~ s{^\Q$sprefix\E\b}{$rprefix}s )
184+ if( $path !~ s{^\Q$sprefix\E\b}{$rprefix}s && $self->{ARGS}{PREFIX} )
185 {
186
187 print STDERR " cannot prefix, using default.\n" if $Verbose >= 2;
188diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/t/INST.t perl-5.8.8/lib/ExtUtils/t/INST.t
189--- perl-5.8.8.orig/lib/ExtUtils/t/INST.t 2005-10-21 19:12:39.000000000 +1000
190+++ perl-5.8.8/lib/ExtUtils/t/INST.t 2006-02-05 17:48:56.000000000 +1100
191@@ -65,9 +65,7 @@
192 is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
193 is( $mm->{VERSION}, 0.01, 'VERSION' );
194
195-my $config_prefix = $Config{installprefixexp} || $Config{installprefix} ||
196- $Config{prefixexp} || $Config{prefix};
197-is( $mm->{PERLPREFIX}, $config_prefix, 'PERLPREFIX' );
198+is( $mm->{PERLPREFIX}, '$(PREFIX)', 'PERLPREFIX' );
199
200 is( !!$mm->{PERL_CORE}, !!$ENV{PERL_CORE}, 'PERL_CORE' );
201
202diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/t/INST_PREFIX.t perl-5.8.8/lib/ExtUtils/t/INST_PREFIX.t
203--- perl-5.8.8.orig/lib/ExtUtils/t/INST_PREFIX.t 2005-10-21 22:00:19.000000000 +1000
204+++ perl-5.8.8/lib/ExtUtils/t/INST_PREFIX.t 2006-02-05 17:48:06.000000000 +1100
205@@ -16,7 +16,7 @@
206 }
207
208 use strict;
209-use Test::More tests => 52;
210+use Test::More tests => 47;
211 use MakeMaker::Test::Utils;
212 use MakeMaker::Test::Setup::BFD;
213 use ExtUtils::MakeMaker;
214@@ -62,16 +62,16 @@
215 Writing\ $Makefile\ for\ Big::Dummy\n
216 }x );
217
218-is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
219+#is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
220
221 isa_ok( $mm, 'ExtUtils::MakeMaker' );
222
223 is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
224 is( $mm->{VERSION}, 0.01, 'VERSION' );
225
226-foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
227- unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
228-}
229+#foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
230+# unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
231+#}
232
233
234 my $PREFIX = File::Spec->catdir('foo', 'bar');