diff options
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.patch | 234 |
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 @@ | |||
1 | Various 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 | |||
15 | diff -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: | ||
28 | diff -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"; | ||
42 | diff -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}; | ||
78 | diff -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; | ||
188 | diff -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 | |||
202 | diff -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'); | ||