summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/perl/perl-5.20.0/debian
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/perl/perl-5.20.0/debian')
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/cpan-missing-site-dirs.diff62
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/cpan_definstalldirs.diff37
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/db_file_ver.diff34
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/doc_info.diff35
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/enc2xs_inc.diff70
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/errno_ver.diff35
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/extutils_set_libperl_path.diff37
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/find_html2text.diff35
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/fixes/document_makemaker_ccflags.diff31
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/fixes/memoize_storable_nstore.diff110
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/fixes/net_smtp_docs.diff25
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/fixes/respect_umask.diff153
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/hurd_test_skip_stack.diff32
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/instmodsh_doc.diff27
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/ld_run_path.diff24
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/libnet_config_path.diff37
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/libperl_embed_doc.diff26
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/mod_paths.diff99
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/module_build_man_extensions.diff35
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/no_packlist_perllocal.diff93
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/perl5db-x-terminal-emulator.patch29
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/perlivp.diff39
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/prefix_changes.diff118
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/prune_libs.diff38
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/regen-skip.diff27
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/skip-kfreebsd-crash.diff40
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/skip-upstream-git-tests.diff28
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/squelch-locale-warnings.diff55
-rw-r--r--meta/recipes-devtools/perl/perl-5.20.0/debian/writable_site_dirs.diff36
29 files changed, 1447 insertions, 0 deletions
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/cpan-missing-site-dirs.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/cpan-missing-site-dirs.diff
new file mode 100644
index 0000000000..a5eb71e153
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/cpan-missing-site-dirs.diff
@@ -0,0 +1,62 @@
1From 25994ac1124566398adee13806ef9a73d2cae150 Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Tue, 16 Oct 2012 23:07:56 +0300
4Subject: Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent
5 is writable
6
7The site directories do not exist on a typical Debian system. The build
8systems will create them when necessary, so there's no need for a prompt
9suggesting local::lib if the first existing parent directory is writable.
10
11Also, writability of the core directories is not interesting as we
12explicitly tell CPAN not to touch those with INSTALLDIRS=site.
13
14Bug-Debian: http://bugs.debian.org/688842
15Patch-Name: debian/cpan-missing-site-dirs.diff
16---
17 cpan/CPAN/lib/CPAN/FirstTime.pm | 31 +++++++++++++++++++++++++++----
18 1 file changed, 27 insertions(+), 4 deletions(-)
19
20diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm
21index 4416072..187f5c4 100644
22--- a/cpan/CPAN/lib/CPAN/FirstTime.pm
23+++ b/cpan/CPAN/lib/CPAN/FirstTime.pm
24@@ -2045,11 +2045,34 @@ sub _print_urllist {
25 };
26 }
27
28+# Debian modification: return true if this directory
29+# or the first existing one upwards is writable
30+sub _can_write_to_this_or_parent {
31+ my ($dir) = @_;
32+ my @parts = File::Spec->splitdir($dir);
33+ while (@parts) {
34+ my $cur = File::Spec->catdir(@parts);
35+ return 1 if -w $cur;
36+ return 0 if -e _;
37+ pop @parts;
38+ }
39+ return 0;
40+}
41+
42+# Debian specific modification: the site directories don't necessarily
43+# exist on the system, but the build systems create them when necessary,
44+# so return true if the first existing directory upwards is writable
45+#
46+# Furthermore, on Debian, only test the site directories
47+# (installsite*, expanded to /usr/local/{share,lib}/perl),
48+# not the core ones
49+# (install*lib, expanded to /usr/{share,lib}/perl).
50+# We pass INSTALLDIRS=site by default to keep CPAN from touching
51+# the core directories.
52+
53 sub _can_write_to_libdirs {
54- return -w $Config{installprivlib}
55- && -w $Config{installarchlib}
56- && -w $Config{installsitelib}
57- && -w $Config{installsitearch}
58+ return _can_write_to_this_or_parent($Config{installsitelib})
59+ && _can_write_to_this_or_parent($Config{installsitearch})
60 }
61
62 sub _using_installbase {
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/cpan_definstalldirs.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/cpan_definstalldirs.diff
new file mode 100644
index 0000000000..77a2ee9940
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/cpan_definstalldirs.diff
@@ -0,0 +1,37 @@
1From 64c9ad40c26f051a275a8b963cc849ca0ddd3cbb Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Tue, 8 Mar 2005 19:30:38 +1100
4Subject: Provide a sensible INSTALLDIRS default for modules installed from
5 CPAN.
6
7Some modules which are included in core set INSTALLDIRS => 'perl'
8explicitly in Makefile.PL or Build.PL. This makes sense for the normal @INC
9ordering, but not ours.
10
11Patch-Name: debian/cpan_definstalldirs.diff
12---
13 cpan/CPAN/lib/CPAN/FirstTime.pm | 4 ++--
14 1 file changed, 2 insertions(+), 2 deletions(-)
15
16diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm
17index d1a8eef..4416072 100644
18--- a/cpan/CPAN/lib/CPAN/FirstTime.pm
19+++ b/cpan/CPAN/lib/CPAN/FirstTime.pm
20@@ -1023,7 +1023,7 @@ sub init {
21 my_prompt_loop(prefer_installer => 'MB', $matcher, 'MB|EUMM|RAND');
22
23 if (!$matcher or 'makepl_arg make_arg' =~ /$matcher/) {
24- my_dflt_prompt(makepl_arg => "", $matcher);
25+ my_dflt_prompt(makepl_arg => "INSTALLDIRS=site", $matcher);
26 my_dflt_prompt(make_arg => "", $matcher);
27 if ( $CPAN::Config->{makepl_arg} =~ /LIBS=|INC=/ ) {
28 $CPAN::Frontend->mywarn(
29@@ -1055,7 +1055,7 @@ sub init {
30 my_dflt_prompt(make_install_arg => $CPAN::Config->{make_arg} || "",
31 $matcher);
32
33- my_dflt_prompt(mbuildpl_arg => "", $matcher);
34+ my_dflt_prompt(mbuildpl_arg => "--installdirs site", $matcher);
35 my_dflt_prompt(mbuild_arg => "", $matcher);
36
37 if (exists $CPAN::HandleConfig::keys{mbuild_install_build_command}
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/db_file_ver.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/db_file_ver.diff
new file mode 100644
index 0000000000..9557560a1c
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/db_file_ver.diff
@@ -0,0 +1,34 @@
1From 4da39e2ce6c5a510409c2da1c7b24e0e7ff87f31 Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Fri, 16 Dec 2005 01:32:14 +1100
4Subject: Remove overly restrictive DB_File version check.
5
6Bug-Debian: http://bugs.debian.org/340047
7
8Package dependencies ensure the correct library is linked at run-time.
9
10Patch-Name: debian/db_file_ver.diff
11---
12 cpan/DB_File/version.c | 2 ++
13 1 file changed, 2 insertions(+)
14
15diff --git a/cpan/DB_File/version.c b/cpan/DB_File/version.c
16index e01f6f6..544e6ee 100644
17--- a/cpan/DB_File/version.c
18+++ b/cpan/DB_File/version.c
19@@ -48,6 +48,7 @@ __getBerkeleyDBInfo()
20
21 (void)db_version(&Major, &Minor, &Patch) ;
22
23+#ifndef DEBIAN
24 /* Check that the versions of db.h and libdb.a are the same */
25 if (Major != DB_VERSION_MAJOR || Minor != DB_VERSION_MINOR )
26 /* || Patch != DB_VERSION_PATCH) */
27@@ -55,6 +56,7 @@ __getBerkeleyDBInfo()
28 croak("\nDB_File was build with libdb version %d.%d.%d,\nbut you are attempting to run it with libdb version %d.%d.%d\n",
29 DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH,
30 Major, Minor, Patch) ;
31+#endif /* DEBIAN */
32
33 /* check that libdb is recent enough -- we need 2.3.4 or greater */
34 if (Major == 2 && (Minor < 3 || (Minor == 3 && Patch < 4)))
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/doc_info.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/doc_info.diff
new file mode 100644
index 0000000000..7643759667
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/doc_info.diff
@@ -0,0 +1,35 @@
1From 2f3e4b35da039600de403083b5a0c7391751d02e Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Fri, 18 Mar 2005 22:22:25 +1100
4Subject: Replace generic man(1) instructions with Debian-specific information.
5
6Indicate that the user needs to install the perl-doc package.
7
8Patch-Name: debian/doc_info.diff
9---
10 pod/perl.pod | 12 ++++++++++--
11 1 file changed, 10 insertions(+), 2 deletions(-)
12
13diff --git a/pod/perl.pod b/pod/perl.pod
14index 2e8d0d8..8810769 100644
15--- a/pod/perl.pod
16+++ b/pod/perl.pod
17@@ -274,8 +274,16 @@ aux a2p c2ph h2ph h2xs perlbug pl2pm pod2html pod2man s2p splain xsubpp
18
19 =for buildtoc __END__
20
21-On a Unix-like system, these documentation files will usually also be
22-available as manpages for use with the F<man> program.
23+On Debian systems, you need to install the B<perl-doc> package which
24+contains the majority of the standard Perl documentation and the
25+F<perldoc> program.
26+
27+Extensive additional documentation for Perl modules is available, both
28+those distributed with Perl and third-party modules which are packaged
29+or locally installed.
30+
31+You should be able to view Perl's documentation with your man(1)
32+program or perldoc(1).
33
34 Some documentation is not available as man pages, so if a
35 cross-reference is not found by man, try it with L<perldoc>. Perldoc can
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/enc2xs_inc.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/enc2xs_inc.diff
new file mode 100644
index 0000000000..4650b0bef8
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/enc2xs_inc.diff
@@ -0,0 +1,70 @@
1From 98e7248580af353d781b24715b42af5b6a4caf35 Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Tue, 8 Mar 2005 19:30:38 +1100
4Subject: Tweak enc2xs to follow symlinks and ignore missing @INC directories.
5
6Bug-Debian: http://bugs.debian.org/290336
7
8- ignore missing directories,
9- follow symlinks (/usr/share/perl/5.8 -> 5.8.4).
10- filter "." out when running "enc2xs -C", it's unnecessary and causes
11 issues with follow => 1 (see #603686 and [rt.cpan.org #64585])
12
13Patch-Name: debian/enc2xs_inc.diff
14---
15 cpan/Encode/bin/enc2xs | 8 ++++----
16 t/porting/customized.t | 3 +++
17 2 files changed, 7 insertions(+), 4 deletions(-)
18
19diff --git a/cpan/Encode/bin/enc2xs b/cpan/Encode/bin/enc2xs
20index c44487d..a9af54f 100644
21--- a/cpan/Encode/bin/enc2xs
22+++ b/cpan/Encode/bin/enc2xs
23@@ -929,11 +929,11 @@ use vars qw(
24 sub find_e2x{
25 eval { require File::Find; };
26 my (@inc, %e2x_dir);
27- for my $inc (@INC){
28+ for my $inc (grep -d, @INC){
29 push @inc, $inc unless $inc eq '.'; #skip current dir
30 }
31 File::Find::find(
32- sub {
33+ { wanted => sub {
34 my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
35 $atime,$mtime,$ctime,$blksize,$blocks)
36 = lstat($_) or return;
37@@ -943,7 +943,7 @@ sub find_e2x{
38 $e2x_dir{$File::Find::dir} ||= $mtime;
39 }
40 return;
41- }, @inc);
42+ }, follow => 1}, @inc);
43 warn join("\n", keys %e2x_dir), "\n";
44 for my $d (sort {$e2x_dir{$a} <=> $e2x_dir{$b}} keys %e2x_dir){
45 $_E2X = $d;
46@@ -1010,7 +1010,7 @@ sub make_configlocal_pm {
47 $LocalMod{$enc} ||= $mod;
48 }
49 };
50- File::Find::find({wanted => $wanted}, @INC);
51+ File::Find::find({wanted => $wanted, follow => 1}, grep -d && !/^\./, @INC);
52 $_ModLines = "";
53 for my $enc ( sort keys %LocalMod ) {
54 $_ModLines .=
55diff --git a/t/porting/customized.t b/t/porting/customized.t
56index a769c58..6b9977f 100644
57--- a/t/porting/customized.t
58+++ b/t/porting/customized.t
59@@ -99,8 +99,11 @@ foreach my $module ( sort keys %Modules ) {
60 print $data_fh join(' ', $module, $file, $id), "\n";
61 next;
62 }
63+SKIP: {
64+ skip("$file modified for Debian", 1) if $file eq 'cpan/Encode/bin/enc2xs';
65 my $should_be = $customised{ $module }->{ $file };
66 is( $id, $should_be, "SHA for $file matches stashed SHA" );
67+}
68 }
69 }
70
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/errno_ver.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/errno_ver.diff
new file mode 100644
index 0000000000..d8885a70b1
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/errno_ver.diff
@@ -0,0 +1,35 @@
1From 81255b67014bda2ec127e0856436acfa554a068c Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Fri, 16 Dec 2005 01:32:14 +1100
4Subject: Remove Errno version check due to upgrade problems with long-running
5 processes.
6
7Bug-Debian: http://bugs.debian.org/343351
8
9Remove version check which can cause problems for long running
10processes embedding perl when upgrading to a newer version,
11compatible, but built on a different machine.
12
13Patch-Name: debian/errno_ver.diff
14---
15 ext/Errno/Errno_pm.PL | 5 -----
16 1 file changed, 5 deletions(-)
17
18diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
19index 55ad01a..e4a31ef 100644
20--- a/ext/Errno/Errno_pm.PL
21+++ b/ext/Errno/Errno_pm.PL
22@@ -277,13 +277,8 @@ sub write_errno_pm {
23
24 package Errno;
25 require Exporter;
26-use Config;
27 use strict;
28
29-"\$Config{'archname'}-\$Config{'osvers'}" eq
30-"$archname-$Config{'osvers'}" or
31- die "Errno architecture ($archname-$Config{'osvers'}) does not match executable architecture (\$Config{'archname'}-\$Config{'osvers'})";
32-
33 our \$VERSION = "$VERSION";
34 \$VERSION = eval \$VERSION;
35 our \@ISA = 'Exporter';
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/extutils_set_libperl_path.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/extutils_set_libperl_path.diff
new file mode 100644
index 0000000000..53fd1f616e
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/extutils_set_libperl_path.diff
@@ -0,0 +1,37 @@
1From 2870b992e4b5e8bb0b9c44c9aff81adaaf9de439 Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Sat, 10 May 2014 23:34:14 +0300
4Subject: EU:MM: set location of libperl.a under /usr/lib
5
6The Debian packaging moves libperl.a a couple of levels up from the
7CORE directory to match other static libraries.
8
9Patch-Name: debian/extutils_set_libperl_path.diff
10---
11 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +-
12 pp.c | 2 +-
13 2 files changed, 2 insertions(+), 2 deletions(-)
14
15diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
16index 8b86a24..f977476 100644
17--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
18+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
19@@ -2462,7 +2462,7 @@ MAP_PRELIBS = $Config{perllibs} $Config{cryptlib}
20 ($lperl = $libperl) =~ s/\$\(A\)/$self->{LIB_EXT}/;
21 }
22 unless ($libperl && -f $lperl) { # Ilya's code...
23- my $dir = $self->{PERL_SRC} || "$self->{PERL_ARCHLIB}/CORE";
24+ my $dir = $self->{PERL_SRC} || "$self->{PERL_ARCHLIB}/../..";
25 $dir = "$self->{PERL_ARCHLIB}/.." if $self->{UNINSTALLED_PERL};
26 $libperl ||= "libperl$self->{LIB_EXT}";
27 $libperl = "$dir/$libperl";
28diff --git a/pp.c b/pp.c
29index 4ec6887..a44c137 100644
30--- a/pp.c
31+++ b/pp.c
32@@ -1,4 +1,4 @@
33-/* pp.c
34+ /* pp.c
35 *
36 * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
37 * 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by Larry Wall and others
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/find_html2text.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/find_html2text.diff
new file mode 100644
index 0000000000..c0e1949f5f
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/find_html2text.diff
@@ -0,0 +1,35 @@
1From 8deb14b24ee17694a2f23a78e8782b24c116daae Mon Sep 17 00:00:00 2001
2From: Andreas Marschke <andreas.marschke@googlemail.com>
3Date: Sat, 17 Sep 2011 11:38:42 +0100
4Subject: Configure CPAN::Distribution with correct name of html2text
5
6Bug-Debian: http://bugs.debian.org/640479
7Patch-Name: debian/find_html2text.diff
8
9If you use cpan from Debian you usually wind up trying to read online
10documentation through it. Unfortunately cpan can't find the
11html2text.pl script even though it is installed using the Debian
12package 'html2text'.
13
14Please see the attached patch for a quick fix of this issue.
15
16[Maintainer's note: html2text in Debian is not the same implementation
17as the html2text.pl which is expected, but should provide similar
18functionality].
19---
20 cpan/CPAN/lib/CPAN/Distribution.pm | 2 +-
21 1 file changed, 1 insertion(+), 1 deletion(-)
22
23diff --git a/cpan/CPAN/lib/CPAN/Distribution.pm b/cpan/CPAN/lib/CPAN/Distribution.pm
24index 9a08707..332a627 100644
25--- a/cpan/CPAN/lib/CPAN/Distribution.pm
26+++ b/cpan/CPAN/lib/CPAN/Distribution.pm
27@@ -4031,7 +4031,7 @@ sub _display_url {
28 if $CPAN::DEBUG;
29
30 # should we define it in the config instead?
31- my $html_converter = "html2text.pl";
32+ my $html_converter = "html2text";
33
34 my $web_browser = $CPAN::Config->{'lynx'} || undef;
35 my $web_browser_out = $web_browser
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/fixes/document_makemaker_ccflags.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/fixes/document_makemaker_ccflags.diff
new file mode 100644
index 0000000000..f4050c01f4
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/fixes/document_makemaker_ccflags.diff
@@ -0,0 +1,31 @@
1From c7ffe0cc3105cb627fbbb7d0c7dbb53f1f236a17 Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Mon, 30 May 2011 22:54:24 +0300
4Subject: Document that CCFLAGS should include $Config{ccflags}
5
6Bug: https://rt.cpan.org/Public/Bug/Display.html?id=68613
7Bug-Debian: http://bugs.debian.org/628522
8
9Compiling XS extensions without $Config{ccflags} can break the
10binary interface on some platforms.
11
12Patch-Name: fixes/document_makemaker_ccflags.diff
13---
14 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm | 4 ++++
15 1 file changed, 4 insertions(+)
16
17diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
18index d2fabf6..fabb021 100644
19--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
20+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
21@@ -1716,6 +1716,10 @@ currently used by MakeMaker but may be handy in Makefile.PLs.
22 String that will be included in the compiler call command line between
23 the arguments INC and OPTIMIZE.
24
25+The default value is taken from $Config{ccflags}. When overriding
26+CCFLAGS, make sure to include the $Config{ccflags} settings to avoid
27+binary incompatibilities.
28+
29 =item CONFIG
30
31 Arrayref. E.g. [qw(archname manext)] defines ARCHNAME & MANEXT from
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/fixes/memoize_storable_nstore.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/fixes/memoize_storable_nstore.diff
new file mode 100644
index 0000000000..b9d61c713e
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/fixes/memoize_storable_nstore.diff
@@ -0,0 +1,110 @@
1From 8b7b31d6b2368717514a05dc0e968c1357511733 Mon Sep 17 00:00:00 2001
2From: Jonathan Nieder <jrnieder@gmail.com>
3Date: Fri, 27 Jul 2012 10:35:07 -0500
4Subject: Memoize::Storable: respect 'nstore' option not respected
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Memoize(3perl) says:
10
11 tie my %cache => 'Memoize::Storable', $filename, 'nstore';
12 memoize 'function', SCALAR_CACHE => [HASH => \%cache];
13
14 Include the ‘nstore’ option to have the "Storable" database
15 written in ‘network order’. (See Storable for more details
16 about this.)
17
18In fact the "nstore" option does no such thing. Option parsing looks
19like this:
20
21 @options{@_} = ();
22
23$self->{OPTIONS}{'nstore'} is accordingly set to undef. Later
24Memoize::Storable checks if the option is true, and since undef is
25not true, the "else" branch is always taken.
26
27 if ($self->{OPTIONS}{'nstore'}) {
28 Storable::nstore($self->{H}, $self->{FILENAME});
29 } else {
30 Storable::store($self->{H}, $self->{FILENAME});
31 }
32
33Correcting the condition to (exists $self->{OPTIONS}{'nstore'}) fixes
34it.
35
36Noticed because git-svn, which uses the 'nstore' option for its
37on-disk caches, was producing
38
39 Byte order is not compatible at ../../lib/Storable.pm
40
41when run using a perl with a different integer size (and hence
42byteorder).
43
44Reported by Tim Retout (RT#77790)
45
46Bug-Debian: http://bugs.debian.org/587650
47Bug: https://rt.cpan.org/Public/Bug/Display.html?id=77790
48Forwarded: https://rt.cpan.org/Public/Bug/Display.html?id=77790
49Patch-Name: fixes/memoize_storable_nstore.diff
50---
51 cpan/Memoize/Memoize/Storable.pm | 2 +-
52 cpan/Memoize/t/tie_storable.t | 24 ++++++++++++++++++++----
53 2 files changed, 21 insertions(+), 5 deletions(-)
54
55diff --git a/cpan/Memoize/Memoize/Storable.pm b/cpan/Memoize/Memoize/Storable.pm
56index 1314797..87876f2 100644
57--- a/cpan/Memoize/Memoize/Storable.pm
58+++ b/cpan/Memoize/Memoize/Storable.pm
59@@ -55,7 +55,7 @@ sub DESTROY {
60 require Carp if $Verbose;
61 my $self= shift;
62 print STDERR "Memoize::Storable::DESTROY(@_)\n" if $Verbose;
63- if ($self->{OPTIONS}{'nstore'}) {
64+ if (exists $self->{OPTIONS}{'nstore'}) {
65 Storable::nstore($self->{H}, $self->{FILENAME});
66 } else {
67 Storable::store($self->{H}, $self->{FILENAME});
68diff --git a/cpan/Memoize/t/tie_storable.t b/cpan/Memoize/t/tie_storable.t
69index de3b8dc..a624238 100644
70--- a/cpan/Memoize/t/tie_storable.t
71+++ b/cpan/Memoize/t/tie_storable.t
72@@ -31,18 +31,34 @@ if ($@) {
73 exit 0;
74 }
75
76-print "1..4\n";
77+print "1..9\n";
78
79 $file = "storable$$";
80 1 while unlink $file;
81 tryout('Memoize::Storable', $file, 1); # Test 1..4
82 1 while unlink $file;
83+tryout('Memoize::Storable', $file, 5, 'nstore'); # Test 5..8
84+assert_netorder($file, 9); # Test 9
85+1 while unlink $file;
86+
87+
88+sub assert_netorder {
89+ my ($file, $testno) = @_;
90+
91+ my $netorder = Storable::file_magic($file)->{'netorder'};
92+ print ($netorder ? "ok $testno\n" : "not ok $testno\n");
93+}
94
95 sub tryout {
96- my ($tiepack, $file, $testno) = @_;
97+ my ($tiepack, $file, $testno, $option) = @_;
98
99- tie my %cache => $tiepack, $file
100- or die $!;
101+ if (defined $option) {
102+ tie my %cache => $tiepack, $file, $option
103+ or die $!;
104+ } else {
105+ tie my %cache => $tiepack, $file
106+ or die $!;
107+ }
108
109 memoize 'c5',
110 SCALAR_CACHE => [HASH => \%cache],
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/fixes/net_smtp_docs.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/fixes/net_smtp_docs.diff
new file mode 100644
index 0000000000..b7ccc5757c
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/fixes/net_smtp_docs.diff
@@ -0,0 +1,25 @@
1From e2e1127a521d942bd9aea4c1290cdf46c15c35fd Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Thu, 20 Sep 2007 19:47:14 +1000
4Subject: Document the Net::SMTP 'Port' option
5
6Bug-Debian: http://bugs.debian.org/100195
7Bug: http://rt.cpan.org/Public/Bug/Display.html?id=36038
8
9Patch-Name: fixes/net_smtp_docs.diff
10---
11 cpan/libnet/Net/SMTP.pm | 1 +
12 1 file changed, 1 insertion(+)
13
14diff --git a/cpan/libnet/Net/SMTP.pm b/cpan/libnet/Net/SMTP.pm
15index 705b5c5..17c1d21 100644
16--- a/cpan/libnet/Net/SMTP.pm
17+++ b/cpan/libnet/Net/SMTP.pm
18@@ -637,6 +637,7 @@ Net::SMTP will attempt to extract the address from the value passed.
19
20 B<Debug> - Enable debugging information
21
22+B<Port> - Select a port on the remote host to connect to (default is 25)
23
24 Example:
25
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/fixes/respect_umask.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/fixes/respect_umask.diff
new file mode 100644
index 0000000000..e5f116abd4
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/fixes/respect_umask.diff
@@ -0,0 +1,153 @@
1From f290a5ebd91e89d63b2a1958420f53e22d20c4ee Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Tue, 8 Mar 2005 19:30:38 +1100
4Subject: Respect umask during installation
5
6This is needed to satisfy Debian policy regarding group-writable
7site directories.
8
9Patch-Name: fixes/respect_umask.diff
10---
11 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 18 +++++++++---------
12 dist/ExtUtils-Install/lib/ExtUtils/Install.pm | 18 +++++++++---------
13 2 files changed, 18 insertions(+), 18 deletions(-)
14
15diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
16index 4140432..8fdb67c 100644
17--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
18+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
19@@ -2075,7 +2075,7 @@ doc__install : doc_site_install
20 $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
21
22 pure_perl_install :: all
23- $(NOECHO) $(MOD_INSTALL) \
24+ $(NOECHO) umask 022; $(MOD_INSTALL) \
25 };
26
27 push @m,
28@@ -2095,7 +2095,7 @@ q{ $(INST_LIB) $(DESTINSTALLPRIVLIB) \
29
30
31 pure_site_install :: all
32- $(NOECHO) $(MOD_INSTALL) \
33+ $(NOECHO) umask 022; $(MOD_INSTALL) \
34 };
35 push @m,
36 q{ read }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
37@@ -2113,7 +2113,7 @@ q{ $(INST_LIB) $(DESTINSTALLSITELIB) \
38 }.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{
39
40 pure_vendor_install :: all
41- $(NOECHO) $(MOD_INSTALL) \
42+ $(NOECHO) umask 022; $(MOD_INSTALL) \
43 };
44 push @m,
45 q{ read }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
46@@ -2145,8 +2145,8 @@ doc_vendor_install :: all
47 push @m, q{
48 doc_perl_install :: all
49 $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
50- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
51- -$(NOECHO) $(DOC_INSTALL) \
52+ -$(NOECHO) umask 022; $(MKPATH) $(DESTINSTALLARCHLIB)
53+ -$(NOECHO) umask 022; $(DOC_INSTALL) \
54 "Module" "$(NAME)" \
55 "installed into" "$(INSTALLPRIVLIB)" \
56 LINKTYPE "$(LINKTYPE)" \
57@@ -2156,8 +2156,8 @@ doc_perl_install :: all
58
59 doc_site_install :: all
60 $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
61- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
62- -$(NOECHO) $(DOC_INSTALL) \
63+ -$(NOECHO) umask 022; $(MKPATH) $(DESTINSTALLARCHLIB)
64+ -$(NOECHO) umask 022; $(DOC_INSTALL) \
65 "Module" "$(NAME)" \
66 "installed into" "$(INSTALLSITELIB)" \
67 LINKTYPE "$(LINKTYPE)" \
68@@ -2167,8 +2167,8 @@ doc_site_install :: all
69
70 doc_vendor_install :: all
71 $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
72- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
73- -$(NOECHO) $(DOC_INSTALL) \
74+ -$(NOECHO) umask 022; $(MKPATH) $(DESTINSTALLARCHLIB)
75+ -$(NOECHO) umask 022; $(DOC_INSTALL) \
76 "Module" "$(NAME)" \
77 "installed into" "$(INSTALLVENDORLIB)" \
78 LINKTYPE "$(LINKTYPE)" \
79diff --git a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
80index eec57aa..06cc530 100644
81--- a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
82+++ b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
83@@ -450,7 +450,7 @@ sub _can_write_dir {
84
85 =pod
86
87-=item _mkpath($dir,$show,$mode,$verbose,$dry_run)
88+=item _mkpath($dir,$show,$verbose,$dry_run)
89
90 Wrapper around File::Path::mkpath() to handle errors.
91
92@@ -467,13 +467,13 @@ writable.
93 =cut
94
95 sub _mkpath {
96- my ($dir,$show,$mode,$verbose,$dry_run)=@_;
97+ my ($dir,$show,$verbose,$dry_run)=@_;
98 if ( $verbose && $verbose > 1 && ! -d $dir) {
99 $show= 1;
100- printf "mkpath(%s,%d,%#o)\n", $dir, $show, $mode;
101+ printf "mkpath(%s,%d)\n", $dir, $show;
102 }
103 if (!$dry_run) {
104- if ( ! eval { File::Path::mkpath($dir,$show,$mode); 1 } ) {
105+ if ( ! eval { File::Path::mkpath($dir,$show); 1 } ) {
106 _choke("Can't create '$dir'","$@");
107 }
108
109@@ -782,7 +782,7 @@ sub install { #XXX OS-SPECIFIC
110 _chdir($cwd);
111 }
112 foreach my $targetdir (sort keys %check_dirs) {
113- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
114+ _mkpath( $targetdir, 0, $verbose, $dry_run );
115 }
116 foreach my $found (@found_files) {
117 my ($diff, $ffd, $origfile, $mode, $size, $atime, $mtime,
118@@ -796,7 +796,7 @@ sub install { #XXX OS-SPECIFIC
119 $targetfile= _unlink_or_rename( $targetfile, 'tryhard', 'install' )
120 unless $dry_run;
121 } elsif ( ! -d $targetdir ) {
122- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
123+ _mkpath( $targetdir, 0, $verbose, $dry_run );
124 }
125 print "Installing $targetfile\n";
126
127@@ -836,7 +836,7 @@ sub install { #XXX OS-SPECIFIC
128
129 if ($pack{'write'}) {
130 $dir = install_rooted_dir(dirname($pack{'write'}));
131- _mkpath( $dir, 0, 0755, $verbose, $dry_run );
132+ _mkpath( $dir, 0, $verbose, $dry_run );
133 print "Writing $pack{'write'}\n" if $verbose;
134 $packlist->write(install_rooted_file($pack{'write'})) unless $dry_run;
135 }
136@@ -1176,7 +1176,7 @@ be prepended as a directory to each installed file (and directory).
137 sub pm_to_blib {
138 my($fromto,$autodir,$pm_filter) = @_;
139
140- _mkpath($autodir,0,0755);
141+ _mkpath($autodir,0);
142 while(my($from, $to) = each %$fromto) {
143 if( -f $to && -s $from == -s $to && -M $to < -M $from ) {
144 print "Skip $to (unchanged)\n";
145@@ -1199,7 +1199,7 @@ sub pm_to_blib {
146 # we wont try hard here. its too likely to mess things up.
147 forceunlink($to);
148 } else {
149- _mkpath(dirname($to),0,0755);
150+ _mkpath(dirname($to),0);
151 }
152 if ($need_filtering) {
153 run_filter($pm_filter, $from, $to);
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/hurd_test_skip_stack.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/hurd_test_skip_stack.diff
new file mode 100644
index 0000000000..66208a2661
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/hurd_test_skip_stack.diff
@@ -0,0 +1,32 @@
1From 651aaac47361c03d15681b6cfdba0056a348fbb7 Mon Sep 17 00:00:00 2001
2From: Dominic Hargreaves <dom@earth.li>
3Date: Sun, 27 Nov 2011 16:27:07 +0000
4Subject: Disable failing GNU/Hurd tests dist/threads/t/stack.t
5
6These tests fail on GNU/Hurd owing to libpthread using fixed-size stacks.
7This is a known limitation that should get fixed in the future.
8
9For now, disable the tests.
10
11Bug-Debian: http://bugs.debian.org/650175
12
13Patch-Name: debian/hurd_test_skip_stack.diff
14---
15 dist/threads/t/stack.t | 4 ++++
16 1 file changed, 4 insertions(+)
17
18diff --git a/dist/threads/t/stack.t b/dist/threads/t/stack.t
19index cfd6cf7..84cc527 100644
20--- a/dist/threads/t/stack.t
21+++ b/dist/threads/t/stack.t
22@@ -7,6 +7,10 @@ BEGIN {
23 print("1..0 # SKIP Perl not compiled with 'useithreads'\n");
24 exit(0);
25 }
26+ if ($^O eq 'gnu') {
27+ print("1..0 # SKIP fails on GNU/Hurd (Debian #650175)\n");
28+ exit(0);
29+ }
30 }
31
32 use ExtUtils::testlib;
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/instmodsh_doc.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/instmodsh_doc.diff
new file mode 100644
index 0000000000..569acb8a23
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/instmodsh_doc.diff
@@ -0,0 +1,27 @@
1From 035ae97a9c2bf8ed73031e8879a0f860797544c1 Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Tue, 8 Mar 2005 19:30:38 +1100
4Subject: Debian policy doesn't install .packlist files for core or vendor.
5
6Patch-Name: debian/instmodsh_doc.diff
7---
8 cpan/ExtUtils-MakeMaker/bin/instmodsh | 4 +++-
9 1 file changed, 3 insertions(+), 1 deletion(-)
10
11diff --git a/cpan/ExtUtils-MakeMaker/bin/instmodsh b/cpan/ExtUtils-MakeMaker/bin/instmodsh
12index 8b9aa95..e551434 100644
13--- a/cpan/ExtUtils-MakeMaker/bin/instmodsh
14+++ b/cpan/ExtUtils-MakeMaker/bin/instmodsh
15@@ -18,9 +18,11 @@ instmodsh - A shell to examine installed modules
16
17 =head1 DESCRIPTION
18
19-A little interface to ExtUtils::Installed to examine installed modules,
20+A little interface to ExtUtils::Installed to examine locally* installed modules,
21 validate your packlists and even create a tarball from an installed module.
22
23+*On Debian system, B<core> and B<vendor> modules are managed by C<dpkg>.
24+
25 =head1 SEE ALSO
26
27 ExtUtils::Installed
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/ld_run_path.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/ld_run_path.diff
new file mode 100644
index 0000000000..fa0039f27a
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/ld_run_path.diff
@@ -0,0 +1,24 @@
1From c089c8eb475a2018e8028e23b07defb5789a5633 Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Fri, 18 Mar 2005 22:22:25 +1100
4Subject: Remove standard libs from LD_RUN_PATH as per Debian policy.
5
6Patch-Name: debian/ld_run_path.diff
7---
8 cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm | 3 +++
9 1 file changed, 3 insertions(+)
10
11diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
12index e39c8b2..0b933ce 100644
13--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
14+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
15@@ -56,6 +56,9 @@ sub _unix_os2_ext {
16 my ( $pwd ) = cwd(); # from Cwd.pm
17 my ( $found ) = 0;
18
19+ # Debian-specific: don't use LD_RUN_PATH for standard dirs
20+ $ld_run_path_seen{$_}++ for @libpath;
21+
22 foreach my $thislib ( split ' ', $potential_libs ) {
23
24 # Handle possible linker path arguments.
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/libnet_config_path.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/libnet_config_path.diff
new file mode 100644
index 0000000000..0a11cd7ae8
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/libnet_config_path.diff
@@ -0,0 +1,37 @@
1From 54e202518f081aa42d5ff733d56c4d42395bcba4 Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Tue, 8 Mar 2005 19:30:38 +1100
4Subject: Set location of libnet.cfg to /etc/perl/Net as /usr may not be
5 writable.
6
7Patch-Name: debian/libnet_config_path.diff
8---
9 cpan/libnet/Net/Config.pm | 7 +++----
10 1 file changed, 3 insertions(+), 4 deletions(-)
11
12diff --git a/cpan/libnet/Net/Config.pm b/cpan/libnet/Net/Config.pm
13index ba16332..4b1ea19 100644
14--- a/cpan/libnet/Net/Config.pm
15+++ b/cpan/libnet/Net/Config.pm
16@@ -57,9 +57,8 @@ my %nc = (
17 }
18 TRY_INTERNET_CONFIG
19
20-my $file = __FILE__;
21+my $file = '/etc/perl/Net/libnet.cfg';
22 my $ref;
23-$file =~ s/Config.pm/libnet.cfg/;
24 if (-f $file) {
25 $ref = eval { local $SIG{__DIE__}; do $file };
26 if (ref($ref) eq 'HASH') {
27@@ -132,8 +131,8 @@ Net::Config - Local configuration data for libnet
28 C<Net::Config> holds configuration data for the modules in the libnet
29 distribution. During installation you will be asked for these values.
30
31-The configuration data is held globally in a file in the perl installation
32-tree, but a user may override any of these values by providing their own. This
33+The configuration data is held globally in C</etc/perl/Net/libnet.cfg>,
34+but a user may override any of these values by providing their own. This
35 can be done by having a C<.libnetrc> file in their home directory. This file
36 should return a reference to a HASH containing the keys described below.
37 For example
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/libperl_embed_doc.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/libperl_embed_doc.diff
new file mode 100644
index 0000000000..7b9bd75e6c
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/libperl_embed_doc.diff
@@ -0,0 +1,26 @@
1From 967a87e268bd348423f72dec993eda444ce9f53d Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Tue, 8 Mar 2005 19:30:38 +1100
4Subject: Note that libperl-dev package is required for embedded linking
5
6Bug-Debian: http://bugs.debian.org/186778
7
8Patch-Name: debian/libperl_embed_doc.diff
9---
10 lib/ExtUtils/Embed.pm | 3 +++
11 1 file changed, 3 insertions(+)
12
13diff --git a/lib/ExtUtils/Embed.pm b/lib/ExtUtils/Embed.pm
14index 3f983c1..0ec8a67 100644
15--- a/lib/ExtUtils/Embed.pm
16+++ b/lib/ExtUtils/Embed.pm
17@@ -296,6 +296,9 @@ and extensions in your C/C++ applications.
18 Typically, an application F<Makefile> will invoke C<ExtUtils::Embed>
19 functions while building your application.
20
21+Note that on Debian systems the B<libperl-dev> package is required for
22+compiling applications which embed an interpreter.
23+
24 =head1 @EXPORT
25
26 C<ExtUtils::Embed> exports the following functions:
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/mod_paths.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/mod_paths.diff
new file mode 100644
index 0000000000..49805a015f
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/mod_paths.diff
@@ -0,0 +1,99 @@
1From f994a741e51287494ed62b10738be6856aadce71 Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Fri, 18 Mar 2005 22:22:25 +1100
4Subject: Tweak @INC ordering for Debian
5
6Our order is:
7
8 etc (for config files)
9 site (5.8.1)
10 vendor (all)
11 core (5.8.1)
12 site (version-indep)
13 site (pre-5.8.1)
14
15The rationale being that an admin (via site), or module packager
16(vendor) can chose to shadow core modules when there is a newer
17version than is included in core.
18
19Patch-Name: debian/mod_paths.diff
20---
21 perl.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
22 1 file changed, 58 insertions(+)
23
24diff --git a/perl.c b/perl.c
25index 27d0d9e..1fe2f1c 100644
26--- a/perl.c
27+++ b/perl.c
28@@ -4367,6 +4367,11 @@ S_init_perllib(pTHX)
29 INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
30 #endif
31
32+#ifdef DEBIAN
33+ /* for configuration where /usr is mounted ro (CPAN::Config, Net::Config) */
34+ S_incpush_use_sep(aTHX_ STR_WITH_LEN("/etc/perl"), 0x0);
35+#endif
36+
37 #ifdef SITEARCH_EXP
38 /* sitearch is always relative to sitelib on Windows for
39 * DLL-based path intuition to work correctly */
40@@ -4484,6 +4489,59 @@ S_init_perllib(pTHX)
41 INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE);
42 #endif
43
44+#ifdef DEBIAN
45+ /* Non-versioned site directory for local modules and for
46+ compatability with the previous packages' site dirs */
47+ S_incpush_use_sep(aTHX_ STR_WITH_LEN("/usr/local/lib/site_perl"),
48+ INCPUSH_ADD_SUB_DIRS);
49+
50+#ifdef PERL_INC_VERSION_LIST
51+ {
52+ struct stat s;
53+
54+ /* add small buffer in case old versions are longer than the
55+ current version */
56+ char sitearch[sizeof(SITEARCH_EXP)+16] = SITEARCH_EXP;
57+ char sitelib[sizeof(SITELIB_EXP)+16] = SITELIB_EXP;
58+ char const *vers[] = { PERL_INC_VERSION_LIST };
59+ char const **p;
60+
61+ char *arch_vers = strrchr(sitearch, '/');
62+ char *lib_vers = strrchr(sitelib, '/');
63+
64+ if (arch_vers && isdigit(*++arch_vers))
65+ *arch_vers = 0;
66+ else
67+ arch_vers = 0;
68+
69+ if (lib_vers && isdigit(*++lib_vers))
70+ *lib_vers = 0;
71+ else
72+ lib_vers = 0;
73+
74+ /* there is some duplication here as incpush does something
75+ similar internally, but required as sitearch is not a
76+ subdirectory of sitelib */
77+ for (p = vers; *p; p++)
78+ {
79+ if (arch_vers)
80+ {
81+ strcpy(arch_vers, *p);
82+ if (PerlLIO_stat(sitearch, &s) >= 0 && S_ISDIR(s.st_mode))
83+ S_incpush_use_sep(aTHX_ sitearch, strlen(sitearch), 0x0);
84+ }
85+
86+ if (lib_vers)
87+ {
88+ strcpy(lib_vers, *p);
89+ if (PerlLIO_stat(sitelib, &s) >= 0 && S_ISDIR(s.st_mode))
90+ S_incpush_use_sep(aTHX_ sitelib, strlen(sitelib), 0x0);
91+ }
92+ }
93+ }
94+#endif
95+#endif
96+
97 #ifdef PERL_OTHERLIBDIRS
98 S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS),
99 INCPUSH_ADD_OLD_VERS|INCPUSH_ADD_ARCHONLY_SUB_DIRS
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/module_build_man_extensions.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/module_build_man_extensions.diff
new file mode 100644
index 0000000000..894e9533fc
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/module_build_man_extensions.diff
@@ -0,0 +1,35 @@
1From 333efa7c9da43d94272a872a59a6cd28da8ca245 Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Thu, 8 May 2008 14:32:33 +0300
4Subject: Adjust Module::Build manual page extensions for the Debian Perl
5 policy
6
7Bug-Debian: http://bugs.debian.org/479460
8
9Patch-Name: debian/module_build_man_extensions.diff
10---
11 cpan/Module-Build/lib/Module/Build/Base.pm | 4 ++--
12 1 file changed, 2 insertions(+), 2 deletions(-)
13
14diff --git a/cpan/Module-Build/lib/Module/Build/Base.pm b/cpan/Module-Build/lib/Module/Build/Base.pm
15index 84e137f..4422cd4 100644
16--- a/cpan/Module-Build/lib/Module/Build/Base.pm
17+++ b/cpan/Module-Build/lib/Module/Build/Base.pm
18@@ -3226,7 +3226,7 @@ sub manify_bin_pods {
19 foreach my $file (keys %$files) {
20 # Pod::Simple based parsers only support one document per instance.
21 # This is expected to change in a future version (Pod::Simple > 3.03).
22- my $parser = Pod::Man->new( %podman_args );
23+ my $parser = Pod::Man->new( %podman_args, section => '1p' ); # binaries go in section 1p
24 my $manpage = $self->man1page_name( $file ) . '.' .
25 $self->config( 'man1ext' );
26 my $outfile = File::Spec->catfile($mandir, $manpage);
27@@ -3252,7 +3252,7 @@ sub manify_lib_pods {
28 while (my ($file, $relfile) = each %$files) {
29 # Pod::Simple based parsers only support one document per instance.
30 # This is expected to change in a future version (Pod::Simple > 3.03).
31- my $parser = Pod::Man->new( %podman_args );
32+ my $parser = Pod::Man->new( %podman_args, section => '3pm' ); # libraries go in section 3pm
33 my $manpage = $self->man3page_name( $relfile ) . '.' .
34 $self->config( 'man3ext' );
35 my $outfile = File::Spec->catfile( $mandir, $manpage);
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/no_packlist_perllocal.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/no_packlist_perllocal.diff
new file mode 100644
index 0000000000..09fe1a965e
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/no_packlist_perllocal.diff
@@ -0,0 +1,93 @@
1From 127c026bbb63907b196febf3558842d8f01e52ef Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Tue, 8 Mar 2005 19:30:38 +1100
4Subject: Don't install .packlist or perllocal.pod for perl or vendor
5
6Patch-Name: debian/no_packlist_perllocal.diff
7---
8 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 36 +++----------------------
9 1 file changed, 4 insertions(+), 32 deletions(-)
10
11diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
12index f977476..0a6797f 100644
13--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
14+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
15@@ -2079,11 +2079,6 @@ pure_perl_install :: all
16 };
17
18 push @m,
19-q{ read }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
20- write }.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
21-} unless $self->{NO_PACKLIST};
22-
23- push @m,
24 q{ $(INST_LIB) $(DESTINSTALLPRIVLIB) \
25 $(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
26 $(INST_BIN) $(DESTINSTALLBIN) \
27@@ -2115,10 +2110,6 @@ q{ $(INST_LIB) $(DESTINSTALLSITELIB) \
28 pure_vendor_install :: all
29 $(NOECHO) umask 022; $(MOD_INSTALL) \
30 };
31- push @m,
32-q{ read }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
33- write }.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{ \
34-} unless $self->{NO_PACKLIST};
35
36 push @m,
37 q{ $(INST_LIB) $(DESTINSTALLVENDORLIB) \
38@@ -2144,37 +2135,19 @@ doc_vendor_install :: all
39
40 push @m, q{
41 doc_perl_install :: all
42- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
43- -$(NOECHO) umask 022; $(MKPATH) $(DESTINSTALLARCHLIB)
44- -$(NOECHO) umask 022; $(DOC_INSTALL) \
45- "Module" "$(NAME)" \
46- "installed into" "$(INSTALLPRIVLIB)" \
47- LINKTYPE "$(LINKTYPE)" \
48- VERSION "$(VERSION)" \
49- EXE_FILES "$(EXE_FILES)" \
50- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
51
52 doc_site_install :: all
53- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
54- -$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLARCHLIB)
55+ $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLSITEARCH)/perllocal.pod
56+ -$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLSITEARCH)
57 -$(NOECHO) umask 02; $(DOC_INSTALL) \
58 "Module" "$(NAME)" \
59 "installed into" "$(INSTALLSITELIB)" \
60 LINKTYPE "$(LINKTYPE)" \
61 VERSION "$(VERSION)" \
62 EXE_FILES "$(EXE_FILES)" \
63- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
64+ >> }.$self->catfile('$(DESTINSTALLSITEARCH)','perllocal.pod').q{
65
66 doc_vendor_install :: all
67- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
68- -$(NOECHO) umask 022; $(MKPATH) $(DESTINSTALLARCHLIB)
69- -$(NOECHO) umask 022; $(DOC_INSTALL) \
70- "Module" "$(NAME)" \
71- "installed into" "$(INSTALLVENDORLIB)" \
72- LINKTYPE "$(LINKTYPE)" \
73- VERSION "$(VERSION)" \
74- EXE_FILES "$(EXE_FILES)" \
75- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
76
77 } unless $self->{NO_PERLLOCAL};
78
79@@ -2183,13 +2156,12 @@ uninstall :: uninstall_from_$(INSTALLDIRS)dirs
80 $(NOECHO) $(NOOP)
81
82 uninstall_from_perldirs ::
83- $(NOECHO) $(UNINSTALL) }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{
84
85 uninstall_from_sitedirs ::
86 $(NOECHO) $(UNINSTALL) }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{
87
88 uninstall_from_vendordirs ::
89- $(NOECHO) $(UNINSTALL) }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{
90+
91 };
92
93 join("",@m);
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/perl5db-x-terminal-emulator.patch b/meta/recipes-devtools/perl/perl-5.20.0/debian/perl5db-x-terminal-emulator.patch
new file mode 100644
index 0000000000..82a9f1a400
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/perl5db-x-terminal-emulator.patch
@@ -0,0 +1,29 @@
1From dc495a233b95d7e3e6900845847035da8f01aa59 Mon Sep 17 00:00:00 2001
2From: Dominic Hargreaves <dom@earth.li>
3Date: Sat, 14 Apr 2012 11:34:05 +0100
4Subject: Invoke x-terminal-emulator rather than xterm in perl5db.pl
5
6In Debian systems, xterm might not exist or might not be the preferred
7terminal emulator. Use x-terminal-emulator instead
8
9Bug-Debian: http://bugs.debian.org/668490
10Forwarded: not-needed
11
12Patch-Name: debian/perl5db-x-terminal-emulator.patch
13---
14 lib/perl5db.pl | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/lib/perl5db.pl b/lib/perl5db.pl
18index 707d04d..6ac4d36 100644
19--- a/lib/perl5db.pl
20+++ b/lib/perl5db.pl
21@@ -6945,7 +6945,7 @@ properly set up.
22 sub xterm_get_fork_TTY {
23 ( my $name = $0 ) =~ s,^.*[/\\],,s;
24 open XT,
25-qq[3>&1 xterm -title "Daughter Perl debugger $pids $name" -e sh -c 'tty 1>&3;\
26+qq[3>&1 x-terminal-emulator -T "Daughter Perl debugger $pids $name" -e sh -c 'tty 1>&3;\
27 sleep 10000000' |];
28
29 # Get the output from 'tty' and clean it up a little.
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/perlivp.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/perlivp.diff
new file mode 100644
index 0000000000..60a714f8bb
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/perlivp.diff
@@ -0,0 +1,39 @@
1From 70eb3e56e884e62bcf837c1f8cd32e35e5552889 Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Fri, 9 Jan 2009 18:54:47 +0200
4Subject: Make perlivp skip include directories in /usr/local
5
6Bug-Debian: http://bugs.debian.org/510895
7
8On Sat, Jan 10, 2009 at 12:37:18AM +1100, Brendan O'Dea wrote:
9> On Wed, Jan 7, 2009 at 12:21 AM, Niko Tyni <ntyni@debian.org> wrote:
10
11> > We could create the directories in a postinst script, but I'm not sure
12> > I see the point. They will be created automatically when installing
13> > CPAN modules.
14>
15> The directories are intentionally not created, as this way they are
16> excluded from the search path at start-up, saving a bunch of wasted
17> stats at use/require time in the common case that the user has not
18> installed any local packages. As Niko points out, they will be
19> created as required.
20
21Signed-off-by: Niko Tyni <ntyni@debian.org>
22
23Patch-Name: debian/perlivp.diff
24---
25 utils/perlivp.PL | 1 +
26 1 file changed, 1 insertion(+)
27
28diff --git a/utils/perlivp.PL b/utils/perlivp.PL
29index c2f0a11..cc49f96 100644
30--- a/utils/perlivp.PL
31+++ b/utils/perlivp.PL
32@@ -153,6 +153,7 @@ my $INC_total = 0;
33 my $INC_there = 0;
34 foreach (@INC) {
35 next if $_ eq '.'; # skip -d test here
36+ next if m|/usr/local|; # not shipped on Debian
37 if (-d $_) {
38 print "## Perl \@INC directory '$_' exists.\n" if $opt{'v'};
39 $INC_there++;
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/prefix_changes.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/prefix_changes.diff
new file mode 100644
index 0000000000..535a90d5e2
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/prefix_changes.diff
@@ -0,0 +1,118 @@
1From 9ff12f918da84dc355b75fbaa5374a8e276f76d7 Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Tue, 8 Mar 2005 19:30:38 +1100
4Subject: Fiddle with *PREFIX and variables written to the makefile
5
6Fiddle with *PREFIX and variables written to the makefile so that
7install directories may be changed when make is run by passing
8PREFIX= to the "make install" command (used when packaging
9modules).
10
11Patch-Name: debian/prefix_changes.diff
12---
13 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | 12 ++++++------
14 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 3 +--
15 cpan/ExtUtils-MakeMaker/t/INST.t | 4 +---
16 cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t | 10 +++++-----
17 4 files changed, 13 insertions(+), 16 deletions(-)
18
19diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
20index 2066311..0a1fb49 100644
21--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
22+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
23@@ -765,8 +765,6 @@ all POD files in MAN1PODS and MAN3PODS.
24 sub manifypods_target {
25 my($self) = shift;
26
27- my $man1pods = '';
28- my $man3pods = '';
29 my $dependencies = '';
30
31 # populate manXpods & dependencies:
32@@ -782,7 +780,7 @@ END
33 foreach my $section (qw(1 3)) {
34 my $pods = $self->{"MAN${section}PODS"};
35 push @man_cmds, $self->split_command(<<CMD, map {($_,$pods->{$_})} sort keys %$pods);
36- \$(NOECHO) \$(POD2MAN) --section=$section --perm_rw=\$(PERM_RW)
37+ \$(NOECHO) \$(POD2MAN) --section=\$(MAN${section}EXT) --perm_rw=\$(PERM_RW)
38 CMD
39 }
40
41@@ -1748,9 +1746,11 @@ sub init_INSTALL_from_PREFIX {
42 $self->{SITEPREFIX} ||= $sprefix;
43 $self->{VENDORPREFIX} ||= $vprefix;
44
45- # Lots of MM extension authors like to use $(PREFIX) so we
46- # put something sensible in there no matter what.
47- $self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
48+ my $p = $self->{PREFIX} = $self->{PERLPREFIX};
49+ for my $t (qw/PERL SITE VENDOR/)
50+ {
51+ $self->{"${t}PREFIX"} =~ s!^\Q$p\E(?=/|$)!\$(PREFIX)!;
52+ }
53 }
54
55 my $arch = $Config{archname};
56diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
57index 0a6797f..c19a5f9 100644
58--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
59+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
60@@ -3029,8 +3029,7 @@ sub prefixify {
61 warn " prefixify $var => $path\n" if $Verbose >= 2;
62 warn " from $sprefix to $rprefix\n" if $Verbose >= 2;
63
64- if( $self->{ARGS}{PREFIX} &&
65- $path !~ s{^\Q$sprefix\E\b}{$rprefix}s )
66+ if( $path !~ s{^\Q$sprefix\E\b}{$rprefix}s && $self->{ARGS}{PREFIX} )
67 {
68
69 warn " cannot prefix, using default.\n" if $Verbose >= 2;
70diff --git a/cpan/ExtUtils-MakeMaker/t/INST.t b/cpan/ExtUtils-MakeMaker/t/INST.t
71index 91058bb..e399ced 100644
72--- a/cpan/ExtUtils-MakeMaker/t/INST.t
73+++ b/cpan/ExtUtils-MakeMaker/t/INST.t
74@@ -65,9 +65,7 @@ isa_ok( $mm, 'ExtUtils::MakeMaker' );
75 is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
76 is( $mm->{VERSION}, 0.01, 'VERSION' );
77
78-my $config_prefix = $Config{installprefixexp} || $Config{installprefix} ||
79- $Config{prefixexp} || $Config{prefix};
80-is( $mm->{PERLPREFIX}, $config_prefix, 'PERLPREFIX' );
81+is( $mm->{PERLPREFIX}, '$(PREFIX)', 'PERLPREFIX' );
82
83 is( !!$mm->{PERL_CORE}, !!$ENV{PERL_CORE}, 'PERL_CORE' );
84
85diff --git a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
86index e8de7c6..3fb3f12 100644
87--- a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
88+++ b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
89@@ -10,7 +10,7 @@ BEGIN {
90 }
91
92 use strict;
93-use Test::More tests => 52;
94+use Test::More tests => 47;
95 use MakeMaker::Test::Utils;
96 use MakeMaker::Test::Setup::BFD;
97 use ExtUtils::MakeMaker;
98@@ -62,16 +62,16 @@ like( $stdout->read, qr{
99 (?:Writing\ MYMETA.yml\ and\ MYMETA.json\n)?
100 }x );
101
102-is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
103+#is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
104
105 isa_ok( $mm, 'ExtUtils::MakeMaker' );
106
107 is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
108 is( $mm->{VERSION}, 0.01, 'VERSION' );
109
110-foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
111- unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
112-}
113+#foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
114+# unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
115+#}
116
117
118 my $PREFIX = File::Spec->catdir('foo', 'bar');
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/prune_libs.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/prune_libs.diff
new file mode 100644
index 0000000000..50bcc47ccd
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/prune_libs.diff
@@ -0,0 +1,38 @@
1From f2d2ddd656999f51148c66a3efce76bda8d2f9ca Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Fri, 18 Mar 2005 22:22:25 +1100
4Subject: Prune the list of libraries wanted to what we actually need.
5
6Bug-Debian: http://bugs.debian.org/128355
7
8We want to keep the dependencies on perl-base as small as possible,
9and some of the original list may be present on buildds (see Bug#128355).
10
11Patch-Name: debian/prune_libs.diff
12---
13 Configure | 5 ++---
14 1 file changed, 2 insertions(+), 3 deletions(-)
15
16diff --git a/Configure b/Configure
17index 293ef61..3f80a76 100755
18--- a/Configure
19+++ b/Configure
20@@ -1387,8 +1387,7 @@ libswanted_uselargefiles=''
21 : set usesocks on the Configure command line to enable socks.
22 : List of libraries we want.
23 : If anyone needs extra -lxxx, put those in a hint file.
24-libswanted="socket bind inet nsl nm ndbm gdbm dbm db malloc dl ld sun"
25-libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
26+libswanted='gdbm gdbm_compat db dl m c crypt'
27 : We probably want to search /usr/shlib before most other libraries.
28 : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
29 glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
30@@ -22796,7 +22795,7 @@ sunos*X4*)
31 ;;
32 *) case "$usedl" in
33 $define|true|[yY]*)
34- set X `echo " $libs " | sed -e 's@ -lndbm @ @' -e 's@ -lgdbm @ @' -e 's@ -lgdbm_compat @ @' -e 's@ -ldbm @ @' -e 's@ -ldb @ @'`
35+ set X `echo " $libs " | sed -e 's@ -lgdbm @ @' -e 's@ -lgdbm_compat @ @' -e 's@ -ldb @ @'`
36 shift
37 perllibs="$*"
38 ;;
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/regen-skip.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/regen-skip.diff
new file mode 100644
index 0000000000..50bc97c94b
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/regen-skip.diff
@@ -0,0 +1,27 @@
1From 55a3d4b004595a9f171d79329c9d218f0b850bd8 Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Sat, 17 May 2014 14:57:01 +0300
4Subject: Skip a regeneration check in unrelated git repositories
5
6If the test is run in a git repository without lib/.gitignore,
7for instance because the repository only imported the Perl tarball,
8the regeneration check is broken because lib/.gitignore is missing.
9
10Patch-Name: debian/regen-skip.diff
11---
12 regen/lib_cleanup.pl | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/regen/lib_cleanup.pl b/regen/lib_cleanup.pl
16index c9d6e43..fece1ed 100644
17--- a/regen/lib_cleanup.pl
18+++ b/regen/lib_cleanup.pl
19@@ -159,7 +159,7 @@ foreach ('win32/Makefile', 'win32/makefile.mk') {
20 }
21
22 # This must come last as it can exit early:
23-if ($TAP && !-d '.git' && !-f 'lib/.gitignore') {
24+if ($TAP && !-d '.git' || !-f 'lib/.gitignore') {
25 print "ok # skip not being run from a git checkout, hence no lib/.gitignore\n";
26 exit 0;
27 }
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/skip-kfreebsd-crash.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/skip-kfreebsd-crash.diff
new file mode 100644
index 0000000000..f7cc55570b
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/skip-kfreebsd-crash.diff
@@ -0,0 +1,40 @@
1From 21747cdd5381a9466fc75ead783980ced8b184a3 Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Fri, 5 Aug 2011 10:50:18 +0300
4Subject: Skip a crashing test case in t/op/threads.t on GNU/kFreeBSD
5
6Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=96272
7Bug-Debian: http://bugs.debian.org/628493
8
9The crash is not a regression in 5.14, it just gets triggered there by
10a new unrelated test case.
11
12Skip the test until the culprit is found.
13
14Patch-Name: debian/skip-kfreebsd-crash.diff
15---
16 t/op/threads.t | 4 ++++
17 1 file changed, 4 insertions(+)
18
19diff --git a/t/op/threads.t b/t/op/threads.t
20index 6fb2410..67b5f4a 100644
21--- a/t/op/threads.t
22+++ b/t/op/threads.t
23@@ -376,6 +376,9 @@ EOF
24 }
25
26
27+SKIP: {
28+ skip "[perl #96272] avoid crash on GNU/kFreeBSD", 1
29+ if $^O eq 'gnukfreebsd';
30 # [perl #78494] Pipes shared between threads block when closed
31 {
32 my $perl = which_perl;
33@@ -384,6 +387,7 @@ EOF
34 threads->create(sub { })->join;
35 ok(1, "Pipes shared between threads do not block when closed");
36 }
37+}
38
39 # [perl #105208] Typeglob clones should not be cloned again during a join
40 {
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/skip-upstream-git-tests.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/skip-upstream-git-tests.diff
new file mode 100644
index 0000000000..7110298f04
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/skip-upstream-git-tests.diff
@@ -0,0 +1,28 @@
1From 4d1b20bcec1610d22b718ffae154427a7a218632 Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Fri, 22 Apr 2011 11:15:32 +0300
4Subject: Skip tests specific to the upstream Git repository
5
6These tests fail if run from a different git repository than
7upstream. This complicates things needlessly for downstream packagers.
8
9Skip the tests altogether even if the .git directory exists.
10
11Patch-Name: debian/skip-upstream-git-tests.diff
12---
13 t/test.pl | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/t/test.pl b/t/test.pl
17index 30db88c..0fdc4f4 100644
18--- a/t/test.pl
19+++ b/t/test.pl
20@@ -159,7 +159,7 @@ sub skip_all_without_config {
21
22 sub find_git_or_skip {
23 my ($source_dir, $reason);
24- if (-d '.git') {
25+ if (-d '.git' && ! -d 'debian') {
26 $source_dir = '.';
27 } elsif (-l 'MANIFEST' && -l 'AUTHORS') {
28 my $where = readlink 'MANIFEST';
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/squelch-locale-warnings.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/squelch-locale-warnings.diff
new file mode 100644
index 0000000000..5c1900498b
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/squelch-locale-warnings.diff
@@ -0,0 +1,55 @@
1From 2f332eeedbf63f72f6b1b157a912282a31a25d3b Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Sun, 3 Oct 2010 21:36:17 +0300
4Subject: Squelch locale warnings in Debian package maintainer scripts
5
6Bug-Debian: http://bugs.debian.org/508764
7
8The system locales are rather frequently out of sync with the C library
9during package upgrades, causing a huge amount of useless Perl locale
10warnings. Squelch them when running package maintainer scripts, detected
11by the DPKG_RUNNING_VERSION environment variable.
12
13Any real locale problem will show up after the system upgrade too, and
14the warning will be triggered normally again at that point.
15
16Patch-Name: debian/squelch-locale-warnings.diff
17---
18 locale.c | 4 ++++
19 pod/perllocale.pod | 8 ++++++++
20 2 files changed, 12 insertions(+)
21
22diff --git a/locale.c b/locale.c
23index 6e8728c..f55c4b2 100644
24--- a/locale.c
25+++ b/locale.c
26@@ -512,6 +512,10 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
27 char *p;
28 const bool locwarn = (printwarn > 1 ||
29 (printwarn &&
30+
31+ /* Debian specific change - see http://bugs.debian.org/508764 */
32+ (!PerlEnv_getenv("DPKG_RUNNING_VERSION")) &&
33+
34 (!(p = PerlEnv_getenv("PERL_BADLANG")) || atoi(p))));
35 bool done = FALSE;
36 const char *system_default_locale = NULL;
37diff --git a/pod/perllocale.pod b/pod/perllocale.pod
38index 914281f..15de0d4 100644
39--- a/pod/perllocale.pod
40+++ b/pod/perllocale.pod
41@@ -1151,6 +1151,14 @@ B<NOTE>: PERL_BADLANG only gives you a way to hide the warning message.
42 The message tells about some problem in your system's locale support,
43 and you should investigate what the problem is.
44
45+=item DPKG_RUNNING_VERSION
46+
47+On Debian systems, if the DPKG_RUNNING_VERSION environment variable is
48+set (to any value), the locale failure warnings will be suppressed just
49+like with a zero PERL_BADLANG setting. This is done to avoid floods
50+of spurious warnings during system upgrades.
51+See L<http://bugs.debian.org/508764>.
52+
53 =back
54
55 The following environment variables are not specific to Perl: They are
diff --git a/meta/recipes-devtools/perl/perl-5.20.0/debian/writable_site_dirs.diff b/meta/recipes-devtools/perl/perl-5.20.0/debian/writable_site_dirs.diff
new file mode 100644
index 0000000000..f73f8bbabe
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.20.0/debian/writable_site_dirs.diff
@@ -0,0 +1,36 @@
1From f33f120f0fdf7cd100066390fe0bc426d45b1929 Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Tue, 8 Mar 2005 19:30:38 +1100
4Subject: Set umask approproately for site install directories
5
6Policy requires group writable site directories
7
8Patch-Name: debian/writable_site_dirs.diff
9---
10 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 6 +++---
11 1 file changed, 3 insertions(+), 3 deletions(-)
12
13diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
14index 8fdb67c..8b86a24 100644
15--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
16+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
17@@ -2095,7 +2095,7 @@ q{ $(INST_LIB) $(DESTINSTALLPRIVLIB) \
18
19
20 pure_site_install :: all
21- $(NOECHO) umask 022; $(MOD_INSTALL) \
22+ $(NOECHO) umask 02; $(MOD_INSTALL) \
23 };
24 push @m,
25 q{ read }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
26@@ -2156,8 +2156,8 @@ doc_perl_install :: all
27
28 doc_site_install :: all
29 $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
30- -$(NOECHO) umask 022; $(MKPATH) $(DESTINSTALLARCHLIB)
31- -$(NOECHO) umask 022; $(DOC_INSTALL) \
32+ -$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLARCHLIB)
33+ -$(NOECHO) umask 02; $(DOC_INSTALL) \
34 "Module" "$(NAME)" \
35 "installed into" "$(INSTALLSITELIB)" \
36 LINKTYPE "$(LINKTYPE)" \