aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/perl/perl-5.14.3/debian/fixes')
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/document_makemaker_ccflags.diff32
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/extutils-cbuilder-cflags.diff87
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/h2ph-multiarch.diff70
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/index-tainting.diff74
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/module-build-home-directory.diff38
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/net_smtp_docs.diff26
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/pod_fixes.diff146
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/respect_umask.diff154
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/sys-syslog-socket-timeout-kfreebsd.patch37
9 files changed, 664 insertions, 0 deletions
diff --git a/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/document_makemaker_ccflags.diff b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/document_makemaker_ccflags.diff
new file mode 100644
index 0000000000..3f2c3dc646
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/document_makemaker_ccflags.diff
@@ -0,0 +1,32 @@
+Upstream-Status:Inappropriate [debian patches]
+From f0e3a51bd7286788e410510af86a6c07edac4445 Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni@debian.org>
+Date: Mon, 30 May 2011 22:54:24 +0300
+Subject: Document that CCFLAGS should include $Config{ccflags}
+
+Bug: https://rt.cpan.org/Public/Bug/Display.html?id=68613
+Bug-Debian: http://bugs.debian.org/628522
+
+Compiling XS extensions without $Config{ccflags} can break the
+binary interface on some platforms.
+
+Patch-Name: fixes/document_makemaker_ccflags.diff
+---
+ cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
+index be9624e..c56ca8f 100644
+--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
+@@ -1524,6 +1524,10 @@ currently used by MakeMaker but may be handy in Makefile.PLs.
+ String that will be included in the compiler call command line between
+ the arguments INC and OPTIMIZE.
+
++The default value is taken from $Config{ccflags}. When overriding
++CCFLAGS, make sure to include the $Config{ccflags} settings to avoid
++binary incompatibilities.
++
+ =item CONFIG
+
+ Arrayref. E.g. [qw(archname manext)] defines ARCHNAME & MANEXT from
diff --git a/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/extutils-cbuilder-cflags.diff b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/extutils-cbuilder-cflags.diff
new file mode 100644
index 0000000000..f9a3c6bdf1
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/extutils-cbuilder-cflags.diff
@@ -0,0 +1,87 @@
+Upstream-Status:Inappropriate [debian patches]
+From 0c91624f1f9ec46a6f13cad3031b706213233479 Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni@debian.org>
+Date: Thu, 28 Apr 2011 09:18:54 +0300
+Subject: Append CFLAGS and LDFLAGS to their Config.pm counterparts in
+ EU::CBuilder
+
+Bug: http://rt.perl.org/rt3//Public/Bug/Display.html?id=89478
+Bug-Debian: http://bugs.debian.org/624460
+Origin: upstream, http://perl5.git.perl.org/perl.git/commitdiff/011e8fb476b5fb27c9aa613360d918aa0b798b3d
+
+Since ExtUtils::CBuilder 0.27_04 (bleadperl commit 06e8058f27e4),
+CFLAGS and LDFLAGS from the environment have overridden the Config.pm
+ccflags and ldflags settings. This can cause binary incompatibilities
+between the core Perl and extensions built with EU::CBuilder.
+
+Append to the Config.pm values rather than overriding them.
+
+Patch-Name: fixes/extutils-cbuilder-cflags.diff
+---
+ .../lib/ExtUtils/CBuilder/Base.pm | 6 +++-
+ dist/ExtUtils-CBuilder/t/04-base.t | 25 +++++++++++++++++++-
+ 2 files changed, 28 insertions(+), 3 deletions(-)
+
+diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
+index b572312..2255c51 100644
+--- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
++++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
+@@ -40,11 +40,13 @@ sub new {
+ $self->{config}{$k} = $v unless exists $self->{config}{$k};
+ }
+ $self->{config}{cc} = $ENV{CC} if defined $ENV{CC};
+- $self->{config}{ccflags} = $ENV{CFLAGS} if defined $ENV{CFLAGS};
++ $self->{config}{ccflags} = join(" ", $self->{config}{ccflags}, $ENV{CFLAGS})
++ if defined $ENV{CFLAGS};
+ $self->{config}{cxx} = $ENV{CXX} if defined $ENV{CXX};
+ $self->{config}{cxxflags} = $ENV{CXXFLAGS} if defined $ENV{CXXFLAGS};
+ $self->{config}{ld} = $ENV{LD} if defined $ENV{LD};
+- $self->{config}{ldflags} = $ENV{LDFLAGS} if defined $ENV{LDFLAGS};
++ $self->{config}{ldflags} = join(" ", $self->{config}{ldflags}, $ENV{LDFLAGS})
++ if defined $ENV{LDFLAGS};
+
+ unless ( exists $self->{config}{cxx} ) {
+ my ($ccpath, $ccbase, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/);
+diff --git a/dist/ExtUtils-CBuilder/t/04-base.t b/dist/ExtUtils-CBuilder/t/04-base.t
+index db0ef98..49819a1 100644
+--- a/dist/ExtUtils-CBuilder/t/04-base.t
++++ b/dist/ExtUtils-CBuilder/t/04-base.t
+@@ -1,7 +1,7 @@
+ #! perl -w
+
+ use strict;
+-use Test::More tests => 50;
++use Test::More tests => 64;
+ use Config;
+ use Cwd;
+ use File::Path qw( mkpath );
+@@ -328,6 +328,29 @@ is_deeply( $mksymlists_args,
+ "_prepare_mksymlists_args(): got expected arguments for Mksymlists",
+ );
+
++my %testvars = (
++ CFLAGS => 'ccflags',
++ LDFLAGS => 'ldflags',
++);
++
++while (my ($VAR, $var) = each %testvars) {
++ local $ENV{$VAR};
++ $base = ExtUtils::CBuilder::Base->new( quiet => 1 );
++ ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" );
++ isa_ok( $base, 'ExtUtils::CBuilder::Base' );
++ like($base->{config}{$var}, qr/\Q$Config{$var}/,
++ "honours $var from Config.pm");
++
++ $ENV{$VAR} = "-foo -bar";
++ $base = ExtUtils::CBuilder::Base->new( quiet => 1 );
++ ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" );
++ isa_ok( $base, 'ExtUtils::CBuilder::Base' );
++ like($base->{config}{$var}, qr/\Q$ENV{$VAR}/,
++ "honours $VAR from the environment");
++ like($base->{config}{$var}, qr/\Q$Config{$var}/,
++ "doesn't override $var from Config.pm with $VAR from the environment");
++}
++
+ #####
+
+ for ($source_file, $object_file, $lib_file) {
diff --git a/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/h2ph-multiarch.diff b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/h2ph-multiarch.diff
new file mode 100644
index 0000000000..3b6b4a078c
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/h2ph-multiarch.diff
@@ -0,0 +1,70 @@
+Upstream-Status:Inappropriate [debian patches]
+From 37969e249dfc593ebabfcb682893b6c69dc6b313 Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni@debian.org>
+Date: Wed, 18 May 2011 21:44:06 -0700
+Subject: Make h2ph correctly search gcc include directories
+
+Bug: http://rt.perl.org/rt3/Public/Bug/Display.html?id=90122
+Bug-Debian: http://bugs.debian.org/625808
+Origin: upstream, http://perl5.git.perl.org/perl.git/commit/e7ec705d9b91d35fa99dc50d0a232b6372160a77
+
+System header conversion with "h2ph -a" is currently broken on Ubuntu
+Natty and Oneiric (unless the gcc-multilib package is installed for
+backward compatibility), resulting in things like
+
+ # perl -e 'require "syscall.ph"'
+ Can't locate asm/unistd.ph in @INC [...]
+
+This happens because Ubuntu has switched to a 'multiarch' setup, see
+<https://wiki.ubuntu.com/MultiarchSpec> for details.
+
+The asm subdirectory isn't in $Config{usrinc} anymore: /usr/include/asm
+is now /usr/include/x86_64-linux-gnu/asm. (The third component of the
+new path varies with the actual architecture.)
+
+gcc --print-search-dirs doesn't really tell anything about where gcc
+looks for the include directories, it was just used to find the gcc
+internal directory prefix.
+
+Parse the output of "gcc -v -E" instead, and append $Config{usrinc}
+for safety. Duplicates shouldn't matter.
+
+The h2ph "-a" switch isn't currently tested automatically, and that
+seems nontrivial to do portably. Manual testing was done with
+
+ # mkdir ttt
+ # ./perl -Ilib ./utils/h2ph -a -d $(pwd)/ttt syscall.h
+
+The gcc invocation has been tested to work with gcc 4.6, 4.1, and 3.3.
+
+http://bugs.debian.org/625808
+https://bugs.launchpad.net/bugs/777903
+
+Patch-Name: fixes/h2ph-multiarch.diff
+---
+ utils/h2ph.PL | 12 ++----------
+ 1 files changed, 2 insertions(+), 10 deletions(-)
+
+diff --git a/utils/h2ph.PL b/utils/h2ph.PL
+index 87f3c7d..4545d6d 100644
+--- a/utils/h2ph.PL
++++ b/utils/h2ph.PL
+@@ -761,16 +761,8 @@ sub queue_includes_from
+ # non-GCC?) C compilers, but gcc uses additional include directories.
+ sub inc_dirs
+ {
+- my $from_gcc = `LC_ALL=C $Config{cc} -v 2>&1`;
+- if( !( $from_gcc =~ s:^Reading specs from (.*?)/specs\b.*:$1/include:s ) )
+- { # gcc-4+ :
+- $from_gcc = `LC_ALL=C $Config{cc} -print-search-dirs 2>&1`;
+- if ( !($from_gcc =~ s/^install:\s*([^\s]+[^\s\/])([\s\/]*).*$/$1\/include/s) )
+- {
+- $from_gcc = '';
+- };
+- };
+- length($from_gcc) ? ($from_gcc, $from_gcc . "-fixed", $Config{usrinc}) : ($Config{usrinc});
++ my $from_gcc = `LC_ALL=C $Config{cc} -v -E - < /dev/null 2>&1 | awk '/^#include/, /^End of search list/' | grep '^ '`;
++ length($from_gcc) ? (split(' ', $from_gcc), $Config{usrinc}) : ($Config{usrinc});
+ }
+
+
diff --git a/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/index-tainting.diff b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/index-tainting.diff
new file mode 100644
index 0000000000..ee00ca3cdf
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/index-tainting.diff
@@ -0,0 +1,74 @@
+Upstream-Status:Inappropriate [debian patches]
+From e25298a339dd6679f1b080f0125ac1b237b87950 Mon Sep 17 00:00:00 2001
+From: David Mitchell <davem@iabyn.com>
+Date: Tue, 28 Jun 2011 17:04:40 +0100
+Subject: RT 64804: tainting with index() of a constant
+
+Bug: http://rt.perl.org/rt3/Public/Bug/Display.html?id=64804
+Bug-Debian: http://bugs.debian.org/291450
+Origin: upstream, http://perl5.git.perl.org/perl.git/commit/3b36395d31cf0a2f3a017505cd0ea857a7acb5d1
+
+At compile time, ck_index with a tainted constant set PL_tainted,
+which remained on during the rest of compilation, tainting all other
+constants.
+
+Fix this by saving and restoring PL_tainted across the call to
+fbm_compile, which is what sets PL_tainted.
+
+Patch-Name: fixes/index-tainting.diff
+---
+ op.c | 5 ++++-
+ t/op/taint.t | 16 +++++++++++++++-
+ 2 files changed, 19 insertions(+), 2 deletions(-)
+
+diff --git a/op.c b/op.c
+index e21b9a4..973df13 100644
+--- a/op.c
++++ b/op.c
+@@ -7780,8 +7780,11 @@ Perl_ck_index(pTHX_ OP *o)
+ OP *kid = cLISTOPo->op_first->op_sibling; /* get past pushmark */
+ if (kid)
+ kid = kid->op_sibling; /* get past "big" */
+- if (kid && kid->op_type == OP_CONST)
++ if (kid && kid->op_type == OP_CONST) {
++ const bool save_taint = PL_tainted;
+ fbm_compile(((SVOP*)kid)->op_sv, 0);
++ PL_tainted = save_taint;
++ }
+ }
+ return ck_fun(o);
+ }
+diff --git a/t/op/taint.t b/t/op/taint.t
+index 9df6fee..a300b9b 100644
+--- a/t/op/taint.t
++++ b/t/op/taint.t
+@@ -17,7 +17,7 @@ BEGIN {
+ use strict;
+ use Config;
+
+-plan tests => 774;
++plan tests => 778;
+
+ $| = 1;
+
+@@ -2144,6 +2144,20 @@ end
+ is_tainted $dest, "ucfirst(tainted) taints its return value";
+ }
+
++
++# tainted constants and index()
++# RT 64804; http://bugs.debian.org/291450
++{
++ ok(tainted $old_env_path, "initial taintedness");
++ BEGIN { no strict 'refs'; my $v = $old_env_path; *{"::C"} = sub () { $v }; }
++ ok(tainted C, "constant is tainted properly");
++ ok(!tainted "", "tainting not broken yet");
++ index(undef, C);
++ ok(!tainted "", "tainting still works after index() of the constant");
++}
++
++
++
+ # This may bomb out with the alarm signal so keep it last
+ SKIP: {
+ skip "No alarm()" unless $Config{d_alarm};
diff --git a/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/module-build-home-directory.diff b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/module-build-home-directory.diff
new file mode 100644
index 0000000000..998a6a3d81
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/module-build-home-directory.diff
@@ -0,0 +1,38 @@
+Upstream-Status:Inappropriate [debian patches]
+From 9266292f705f2a3b6e5b97fa50e5f2be31371d5c Mon Sep 17 00:00:00 2001
+From: Dominic Hargreaves <dom@earth.li>
+Date: Mon, 2 May 2011 10:35:04 +0100
+Subject: Fix failing tilde test when run under a UID without a passwd entry
+
+Bug: https://rt.cpan.org/Public/Bug/Display.html?id=67893
+Bug-Debian: http://bugs.debian.org/624850
+
+Patch-Name: fixes/module-build-home-directory.diff
+---
+ cpan/Module-Build/t/tilde.t | 6 ++++--
+ 1 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/cpan/Module-Build/t/tilde.t b/cpan/Module-Build/t/tilde.t
+index fac821b..04f0210 100644
+--- a/cpan/Module-Build/t/tilde.t
++++ b/cpan/Module-Build/t/tilde.t
+@@ -46,7 +46,8 @@ SKIP: {
+
+ unless (defined $home) {
+ my @info = eval { getpwuid $> };
+- skip "No home directory for tilde-expansion tests", 15 if $@;
++ skip "No home directory for tilde-expansion tests", 15 if $@
++ or !defined $info[7];
+ $home = $info[7];
+ }
+
+@@ -95,7 +96,8 @@ SKIP: {
+ # Again, with named users
+ SKIP: {
+ my @info = eval { getpwuid $> };
+- skip "No home directory for tilde-expansion tests", 1 if $@;
++ skip "No home directory for tilde-expansion tests", 1 if $@
++ or !defined $info[7] or !defined $info[0];
+ my ($me, $home) = @info[0,7];
+
+ my $expected = "$home/fooxzy";
diff --git a/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/net_smtp_docs.diff b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/net_smtp_docs.diff
new file mode 100644
index 0000000000..f68c352985
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/net_smtp_docs.diff
@@ -0,0 +1,26 @@
+Upstream-Status:Inappropriate [debian patches]
+From ab32eba7fcc45d864c22e8f4ee02e0a6712070e0 Mon Sep 17 00:00:00 2001
+From: Brendan O'Dea <bod@debian.org>
+Date: Thu, 20 Sep 2007 19:47:14 +1000
+Subject: Document the Net::SMTP 'Port' option
+
+Bug-Debian: http://bugs.debian.org/100195
+Bug: http://rt.cpan.org/Public/Bug/Display.html?id=36038
+
+Patch-Name: fixes/net_smtp_docs.diff
+---
+ cpan/libnet/Net/SMTP.pm | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/cpan/libnet/Net/SMTP.pm b/cpan/libnet/Net/SMTP.pm
+index a28496d..07b2498 100644
+--- a/cpan/libnet/Net/SMTP.pm
++++ b/cpan/libnet/Net/SMTP.pm
+@@ -625,6 +625,7 @@ Net::SMTP will attempt to extract the address from the value passed.
+
+ B<Debug> - Enable debugging information
+
++B<Port> - Select a port on the remote host to connect to (default is 25)
+
+ Example:
+
diff --git a/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/pod_fixes.diff b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/pod_fixes.diff
new file mode 100644
index 0000000000..58e770bc76
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/pod_fixes.diff
@@ -0,0 +1,146 @@
+Upstream-Status:Inappropriate [debian patches]
+From c6b1fdd18dab0236458502564e54c180bb0ce341 Mon Sep 17 00:00:00 2001
+From: Keith Thompson <kst@mib.org>
+Date: Fri, 29 Jul 2011 17:17:00 -0700
+Subject: Fix typos in several pod/perl*.pod files
+
+Bug-Debian: http://bugs.debian.org/637816
+Origin: http://perl5.git.perl.org/perl.git/commit/7698aede74509727f7bca31c58fc7a53b182315d
+Patch-Name: fixes/pod_fixes.diff
+---
+ pod/perlfunc.pod | 8 ++++----
+ pod/perlglossary.pod | 10 +++++-----
+ pod/perlmod.pod | 4 ++--
+ pod/perlretut.pod | 6 +++---
+ 4 files changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod
+index 2ee3637..719a740 100644
+--- a/pod/perlfunc.pod
++++ b/pod/perlfunc.pod
+@@ -3918,7 +3918,7 @@ count. A numeric repeat count may optionally be enclosed in brackets, as
+ in C<pack("C[80]", @arr)>. The repeat count gobbles that many values from
+ the LIST when used with all format types other than C<a>, C<A>, C<Z>, C<b>,
+ C<B>, C<h>, C<H>, C<@>, C<.>, C<x>, C<X>, and C<P>, where it means
+-something else, dscribed below. Supplying a C<*> for the repeat count
++something else, described below. Supplying a C<*> for the repeat count
+ instead of a number means to use however many items are left, except for:
+
+ =over
+@@ -5870,7 +5870,7 @@ sometimes saying the opposite, for example) the results are not
+ well-defined.
+
+ Because C<< <=> >> returns C<undef> when either operand is C<NaN>
+-(not-a-number), and laso because C<sort> raises an exception unless the
++(not-a-number), and also because C<sort> raises an exception unless the
+ result of a comparison is defined, be careful when sorting with a
+ comparison function like C<< $a <=> $b >> any lists that might contain a
+ C<NaN>. The following example takes advantage that C<NaN != NaN> to
+@@ -5958,7 +5958,7 @@ specified.
+
+ A pattern matching the empty string (not to be confused with
+ an empty pattern C<//>, which is just one member of the set of patterns
+-matching the epmty string), splits EXPR into individual
++matching the empty string), splits EXPR into individual
+ characters. For example:
+
+ print join(':', split(/ */, 'hi there')), "\n";
+@@ -6222,7 +6222,7 @@ For example:
+ printf '<%.1e>', 10; # prints "<1.0e+01>"
+
+ For "g" and "G", this specifies the maximum number of digits to show,
+-including thoe prior to the decimal point and those after it; for
++including those prior to the decimal point and those after it; for
+ example:
+
+ # These examples are subject to system-specific variation.
+diff --git a/pod/perlglossary.pod b/pod/perlglossary.pod
+index 639ce33..191371c 100644
+--- a/pod/perlglossary.pod
++++ b/pod/perlglossary.pod
+@@ -507,7 +507,7 @@ the class (its L<objects|/object>). See also L</inheritance>.
+
+ =item class method
+
+-A L</method> whose L</invocand> is a L</package> name, not an
++A L</method> whose L</invocant> is a L</package> name, not an
+ L</object> reference. A method associated with the class as a whole.
+
+ =item client
+@@ -1470,7 +1470,7 @@ Perl, C<print STDOUT "$foo\n";> can be understood as "verb
+ indirect-object object" where L</STDOUT> is the recipient of the
+ L<print|perlfunc/print> action, and C<"$foo"> is the object being
+ printed. Similarly, when invoking a L</method>, you might place the
+-invocand between the method and its arguments:
++invocant between the method and its arguments:
+
+ $gollum = new Pathetic::Creature "Smeagol";
+ give $gollum "Fisssssh!";
+@@ -1548,11 +1548,11 @@ of compiler that takes a program and turns it into a more executable
+ form (L<syntax trees|/syntax tree>) within the I<perl> process itself,
+ which the Perl L</run time> system then interprets.
+
+-=item invocand
++=item invocant
+
+ The agent on whose behalf a L</method> is invoked. In a L</class>
+-method, the invocand is a package name. In an L</instance> method,
+-the invocand is an object reference.
++method, the invocant is a package name. In an L</instance> method,
++the invocant is an object reference.
+
+ =item invocation
+
+diff --git a/pod/perlmod.pod b/pod/perlmod.pod
+index 5266f19..17de73e 100644
+--- a/pod/perlmod.pod
++++ b/pod/perlmod.pod
+@@ -571,7 +571,7 @@ like for example handle the cloning of non-Perl data, if necessary.
+ C<CLONE> will be called once as a class method for every package that has it
+ defined (or inherits it). It will be called in the context of the new thread,
+ so all modifications are made in the new area. Currently CLONE is called with
+-no parameters other than the invocand package name, but code should not assume
++no parameters other than the invocant package name, but code should not assume
+ that this will remain unchanged, as it is likely that in future extra parameters
+ will be passed in to give more information about the state of cloning.
+
+@@ -593,7 +593,7 @@ to make use of the objects, then a more sophisticated approach is
+ needed.
+
+ Like C<CLONE>, C<CLONE_SKIP> is currently called with no parameters other
+-than the invocand package name, although that may change. Similarly, to
++than the invocant package name, although that may change. Similarly, to
+ allow for future expansion, the return value should be a single C<0> or
+ C<1> value.
+
+diff --git a/pod/perlretut.pod b/pod/perlretut.pod
+index ea80594..1c65f5b 100644
+--- a/pod/perlretut.pod
++++ b/pod/perlretut.pod
+@@ -781,7 +781,7 @@ so may lead to surprising and unsatisfactory results.
+ =head2 Relative backreferences
+
+ Counting the opening parentheses to get the correct number for a
+-backreference is errorprone as soon as there is more than one
++backreference is error-prone as soon as there is more than one
+ capturing group. A more convenient technique became available
+ with Perl 5.10: relative backreferences. To refer to the immediately
+ preceding capture group one now may write C<\g{-1}>, the next but
+@@ -1537,7 +1537,7 @@ the regexp in the I<last successful match> is used instead. So we have
+
+ =head3 Global matching
+
+-The final two modifiers we will disccuss here,
++The final two modifiers we will discuss here,
+ C<//g> and C<//c>, concern multiple matches.
+ The modifier C<//g> stands for global matching and allows the
+ matching operator to match within a string as many times as possible.
+@@ -1870,7 +1870,7 @@ substituted.
+
+ C<\Q>, C<\L>, C<\l>, C<\U>, C<\u> and C<\E> are actually part of
+ double-quotish syntax, and not part of regexp syntax proper. They will
+-work if they appear in a regular expression embeddded directly in a
++work if they appear in a regular expression embedded directly in a
+ program, but not when contained in a string that is interpolated in a
+ pattern.
+
diff --git a/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/respect_umask.diff b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/respect_umask.diff
new file mode 100644
index 0000000000..aa9307fc8a
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/respect_umask.diff
@@ -0,0 +1,154 @@
+Upstream-Status:Inappropriate [debian patches]
+From 0d1ab4f799eb14d5488fcc959f4a6bdec548b370 Mon Sep 17 00:00:00 2001
+From: Brendan O'Dea <bod@debian.org>
+Date: Tue, 8 Mar 2005 19:30:38 +1100
+Subject: Respect umask during installation
+
+This is needed to satisfy Debian policy regarding group-writable
+site directories.
+
+Patch-Name: fixes/respect_umask.diff
+---
+ cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 18 +++++++++---------
+ dist/ExtUtils-Install/lib/ExtUtils/Install.pm | 18 +++++++++---------
+ 2 files changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+index 6964eea..865d36d 100644
+--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+@@ -2053,7 +2053,7 @@ doc__install : doc_site_install
+ $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
+
+ pure_perl_install :: all
+- $(NOECHO) $(MOD_INSTALL) \
++ $(NOECHO) umask 022; $(MOD_INSTALL) \
+ read }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
+ write }.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
+ $(INST_LIB) $(DESTINSTALLPRIVLIB) \
+@@ -2067,7 +2067,7 @@ pure_perl_install :: all
+
+
+ pure_site_install :: all
+- $(NOECHO) $(MOD_INSTALL) \
++ $(NOECHO) umask 022; $(MOD_INSTALL) \
+ read }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
+ write }.$self->catfile('$(DESTINSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').q{ \
+ $(INST_LIB) $(DESTINSTALLSITELIB) \
+@@ -2080,7 +2080,7 @@ pure_site_install :: all
+ }.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{
+
+ pure_vendor_install :: all
+- $(NOECHO) $(MOD_INSTALL) \
++ $(NOECHO) umask 022; $(MOD_INSTALL) \
+ read }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
+ write }.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{ \
+ $(INST_LIB) $(DESTINSTALLVENDORLIB) \
+@@ -2092,8 +2092,8 @@ pure_vendor_install :: all
+
+ doc_perl_install :: all
+ $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
+- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
+- -$(NOECHO) $(DOC_INSTALL) \
++ -$(NOECHO) umask 022; $(MKPATH) $(DESTINSTALLARCHLIB)
++ -$(NOECHO) umask 022; $(DOC_INSTALL) \
+ "Module" "$(NAME)" \
+ "installed into" "$(INSTALLPRIVLIB)" \
+ LINKTYPE "$(LINKTYPE)" \
+@@ -2103,8 +2103,8 @@ doc_perl_install :: all
+
+ doc_site_install :: all
+ $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
+- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
+- -$(NOECHO) $(DOC_INSTALL) \
++ -$(NOECHO) umask 022; $(MKPATH) $(DESTINSTALLARCHLIB)
++ -$(NOECHO) umask 022; $(DOC_INSTALL) \
+ "Module" "$(NAME)" \
+ "installed into" "$(INSTALLSITELIB)" \
+ LINKTYPE "$(LINKTYPE)" \
+@@ -2114,8 +2114,8 @@ doc_site_install :: all
+
+ doc_vendor_install :: all
+ $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
+- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
+- -$(NOECHO) $(DOC_INSTALL) \
++ -$(NOECHO) umask 022; $(MKPATH) $(DESTINSTALLARCHLIB)
++ -$(NOECHO) umask 022; $(DOC_INSTALL) \
+ "Module" "$(NAME)" \
+ "installed into" "$(INSTALLVENDORLIB)" \
+ LINKTYPE "$(LINKTYPE)" \
+diff --git a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
+index 3b030a5..cb0e9e0 100644
+--- a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
++++ b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
+@@ -468,7 +468,7 @@ sub _can_write_dir {
+
+ =pod
+
+-=item _mkpath($dir,$show,$mode,$verbose,$dry_run)
++=item _mkpath($dir,$show,$verbose,$dry_run)
+
+ Wrapper around File::Path::mkpath() to handle errors.
+
+@@ -485,13 +485,13 @@ writable.
+ =cut
+
+ sub _mkpath {
+- my ($dir,$show,$mode,$verbose,$dry_run)=@_;
++ my ($dir,$show,$verbose,$dry_run)=@_;
+ if ( $verbose && $verbose > 1 && ! -d $dir) {
+ $show= 1;
+- printf "mkpath(%s,%d,%#o)\n", $dir, $show, $mode;
++ printf "mkpath(%s,%d)\n", $dir, $show;
+ }
+ if (!$dry_run) {
+- if ( ! eval { File::Path::mkpath($dir,$show,$mode); 1 } ) {
++ if ( ! eval { File::Path::mkpath($dir,$show); 1 } ) {
+ _choke("Can't create '$dir'","$@");
+ }
+
+@@ -796,7 +796,7 @@ sub install { #XXX OS-SPECIFIC
+ _chdir($cwd);
+ }
+ foreach my $targetdir (sort keys %check_dirs) {
+- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
++ _mkpath( $targetdir, 0, $verbose, $dry_run );
+ }
+ foreach my $found (@found_files) {
+ my ($diff, $ffd, $origfile, $mode, $size, $atime, $mtime,
+@@ -810,7 +810,7 @@ sub install { #XXX OS-SPECIFIC
+ $targetfile= _unlink_or_rename( $targetfile, 'tryhard', 'install' )
+ unless $dry_run;
+ } elsif ( ! -d $targetdir ) {
+- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
++ _mkpath( $targetdir, 0, $verbose, $dry_run );
+ }
+ print "Installing $targetfile\n";
+
+@@ -850,7 +850,7 @@ sub install { #XXX OS-SPECIFIC
+
+ if ($pack{'write'}) {
+ $dir = install_rooted_dir(dirname($pack{'write'}));
+- _mkpath( $dir, 0, 0755, $verbose, $dry_run );
++ _mkpath( $dir, 0, $verbose, $dry_run );
+ print "Writing $pack{'write'}\n" if $verbose;
+ $packlist->write(install_rooted_file($pack{'write'})) unless $dry_run;
+ }
+@@ -1190,7 +1190,7 @@ be prepended as a directory to each installed file (and directory).
+ sub pm_to_blib {
+ my($fromto,$autodir,$pm_filter) = @_;
+
+- _mkpath($autodir,0,0755);
++ _mkpath($autodir,0);
+ while(my($from, $to) = each %$fromto) {
+ if( -f $to && -s $from == -s $to && -M $to < -M $from ) {
+ print "Skip $to (unchanged)\n";
+@@ -1213,7 +1213,7 @@ sub pm_to_blib {
+ # we wont try hard here. its too likely to mess things up.
+ forceunlink($to);
+ } else {
+- _mkpath(dirname($to),0,0755);
++ _mkpath(dirname($to),0);
+ }
+ if ($need_filtering) {
+ run_filter($pm_filter, $from, $to);
diff --git a/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/sys-syslog-socket-timeout-kfreebsd.patch b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/sys-syslog-socket-timeout-kfreebsd.patch
new file mode 100644
index 0000000000..632d426baa
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.3/debian/fixes/sys-syslog-socket-timeout-kfreebsd.patch
@@ -0,0 +1,37 @@
+Upstream-Status:Inappropriate [debian patches]
+From 9ba88d73444c22788b7c2a212e15dbfe3da2a1af Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni@debian.org>
+Date: Wed, 3 Aug 2011 22:36:24 +0300
+Subject: Use a socket timeout on GNU/kFreeBSD to catch ICMP port unreachable
+ messages
+
+Bug: http://rt.cpan.org/Ticket/Display.html?id=69997
+Bug-Debian: http://bugs.debian.org/627821
+
+Without this, openlog() on a UDP socket may succeed on the FreeBSD kernel
+even when there's no listener, causing test failures.
+
+It seems probable that all FreeBSD-based systems suffer from the
+same issue, but that's for upstream to decide.
+
+Patch-Name: fixes/sys-syslog-socket-timeout-kfreebsd.patch
+---
+ cpan/Sys-Syslog/Syslog.pm | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/cpan/Sys-Syslog/Syslog.pm b/cpan/Sys-Syslog/Syslog.pm
+index 002e6e4..b445c66 100644
+--- a/cpan/Sys-Syslog/Syslog.pm
++++ b/cpan/Sys-Syslog/Syslog.pm
+@@ -138,7 +138,10 @@ my @fallbackMethods = ();
+ # happy, the timeout is now zero by default on all systems
+ # except on OSX where it is set to 250 msec, and can be set
+ # with the infamous setlogsock() function.
+-$sock_timeout = 0.25 if $^O =~ /darwin/;
++#
++# Debian change: include Debian GNU/kFreeBSD, lower to 1ms
++# see [rt.cpan.org #69997]
++$sock_timeout = 0.001 if $^O =~ /darwin|gnukfreebsd/;
+
+ # coderef for a nicer handling of errors
+ my $err_sub = $options{nofatal} ? \&warnings::warnif : \&croak;