summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/perl/perl-5.12.3/debian
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/perl/perl-5.12.3/debian')
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/arm_optim.diff34
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/arm_thread_stress_timeout.diff25
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/cpan_config_path.diff24
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/cpan_definstalldirs.diff37
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/cpanplus_config_path.diff45
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/cpanplus_definstalldirs.diff54
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/db_file_ver.diff34
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/deprecate-with-apt.diff61
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/devel-ppport-ia64-optim.diff34
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/disable-zlib-bundling.diff31
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/doc_info.diff36
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/enc2xs_inc.diff52
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/errno_ver.diff34
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/extutils_hacks.diff315
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/fakeroot.diff45
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/autodie-flock.diff100
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/concat-stack-corruption.diff39
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/cpanplus-without-home.diff32
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/h2ph-gcc-4.5.diff108
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/hurd-ccflags.diff28
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/lc-numeric-docs.diff97
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/lc-numeric-sprintf.diff31
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/net_smtp_docs.diff25
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/processPL.diff45
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/instmodsh_doc.diff28
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/ld_run_path.diff25
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/libnet_config_path.diff37
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/m68k_thread_stress.diff45
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/mod_paths.diff100
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/module_build_man_extensions.diff33
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/patchlevel45
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/perlivp.diff40
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/prune_libs.diff38
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/series34
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/squelch-locale-warnings.diff55
35 files changed, 1846 insertions, 0 deletions
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/arm_optim.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/arm_optim.diff
new file mode 100644
index 0000000000..b5b952e838
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/arm_optim.diff
@@ -0,0 +1,34 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Description: Downgrade the optimization of sv.c on arm due to a gcc-4.4 bug
5Bug-Debian: http://bugs.debian.org/580334
6
7Regression from gcc-4.3, not reported yet.
8
9 perl -e '"-2" =~ /(.+)/; @foo=(); push @foo, $_ for $1..undef; print @foo ? "ok\n" : "not ok\n"'
10
11
12---
13 cflags.SH | 6 +++++-
14 1 files changed, 5 insertions(+), 1 deletions(-)
15
16diff --git a/cflags.SH b/cflags.SH
17index a5d71b9..6914ba6 100755
18--- a/cflags.SH
19+++ b/cflags.SH
20@@ -312,7 +312,11 @@ for file do
21 regexec) ;;
22 run) ;;
23 scope) ;;
24- sv) ;;
25+ sv)
26+ case $archname in
27+ arm-*|armeb-*)
28+ optimize=-O0;;
29+ esac;;
30 taint) ;;
31 toke) ;;
32 universal) ;;
33--
34tg: (a508b62..) debian/arm_optim (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/arm_thread_stress_timeout.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/arm_thread_stress_timeout.diff
new file mode 100644
index 0000000000..700b344ed3
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/arm_thread_stress_timeout.diff
@@ -0,0 +1,25 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Raise the timeout of ext/threads/shared/t/stress.t to accommodate slower build hosts
4Bug-Debian: http://bugs.debian.org/501970
5
6
7---
8 dist/threads-shared/t/stress.t | 2 +-
9 1 files changed, 1 insertions(+), 1 deletions(-)
10
11diff --git a/dist/threads-shared/t/stress.t b/dist/threads-shared/t/stress.t
12index adfd1ed..652a3e6 100755
13--- a/dist/threads-shared/t/stress.t
14+++ b/dist/threads-shared/t/stress.t
15@@ -34,7 +34,7 @@ use threads::shared;
16 {
17 my $cnt = 50;
18
19- my $TIMEOUT = 60;
20+ my $TIMEOUT = 150;
21
22 my $mutex = 1;
23 share($mutex);
24--
25tg: (a508b62..) debian/arm_thread_stress_timeout (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/cpan_config_path.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/cpan_config_path.diff
new file mode 100644
index 0000000000..27b4a45440
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/cpan_config_path.diff
@@ -0,0 +1,24 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Set location of CPAN::Config to /etc/perl as /usr may not be writable.
4
5
6---
7 cpan/CPAN/lib/CPAN/HandleConfig.pm | 2 +-
8 1 files changed, 1 insertions(+), 1 deletions(-)
9
10diff --git a/cpan/CPAN/lib/CPAN/HandleConfig.pm b/cpan/CPAN/lib/CPAN/HandleConfig.pm
11index 76cd81e..65a3b27 100644
12--- a/cpan/CPAN/lib/CPAN/HandleConfig.pm
13+++ b/cpan/CPAN/lib/CPAN/HandleConfig.pm
14@@ -543,7 +543,7 @@ sub load {
15 $configpm = $INC{"CPAN/MyConfig.pm"};
16 $redo++;
17 } else {
18- my($path_to_cpan) = File::Basename::dirname($INC{"CPAN.pm"});
19+ my($path_to_cpan) = '/etc/perl';
20 my($configpmdir) = File::Spec->catdir($path_to_cpan,"CPAN");
21 my($configpmtest) = File::Spec->catfile($configpmdir,"Config.pm");
22 my $inc_key;
23--
24tg: (a508b62..) debian/cpan_config_path (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/cpan_definstalldirs.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/cpan_definstalldirs.diff
new file mode 100644
index 0000000000..3931c2d357
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/cpan_definstalldirs.diff
@@ -0,0 +1,37 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Provide a sensible INSTALLDIRS default for modules installed from CPAN.
4
5Some modules which are included in core set INSTALLDIRS => 'perl'
6explicitly in Makefile.PL or Build.PL. This makes sense for the normal @INC
7ordering, but not ours.
8
9
10---
11 cpan/CPAN/lib/CPAN/FirstTime.pm | 4 ++--
12 1 files changed, 2 insertions(+), 2 deletions(-)
13
14diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm
15index 53ffbf1..53976ff 100644
16--- a/cpan/CPAN/lib/CPAN/FirstTime.pm
17+++ b/cpan/CPAN/lib/CPAN/FirstTime.pm
18@@ -947,7 +947,7 @@ sub init {
19 my_prompt_loop(prefer_installer => 'MB', $matcher, 'MB|EUMM|RAND');
20
21 if (!$matcher or 'makepl_arg make_arg' =~ /$matcher/) {
22- my_dflt_prompt(makepl_arg => "", $matcher);
23+ my_dflt_prompt(makepl_arg => "INSTALLDIRS=site", $matcher);
24 my_dflt_prompt(make_arg => "", $matcher);
25 if ( $CPAN::Config->{makepl_arg} =~ /LIBS=|INC=/ ) {
26 $CPAN::Frontend->mywarn(
27@@ -969,7 +969,7 @@ sub init {
28 my_dflt_prompt(make_install_arg => $CPAN::Config->{make_arg} || "",
29 $matcher);
30
31- my_dflt_prompt(mbuildpl_arg => "", $matcher);
32+ my_dflt_prompt(mbuildpl_arg => "--installdirs site", $matcher);
33 my_dflt_prompt(mbuild_arg => "", $matcher);
34
35 if (exists $CPAN::HandleConfig::keys{mbuild_install_build_command}
36--
37tg: (a508b62..) debian/cpan_definstalldirs (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/cpanplus_config_path.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/cpanplus_config_path.diff
new file mode 100644
index 0000000000..8f2f5d2bd3
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/cpanplus_config_path.diff
@@ -0,0 +1,45 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: Save local versions of CPANPLUS::Config::System into /etc/perl.
5
6This is a configuration file and needs to go in /etc by policy.
7Besides, /usr may not even be writable.
8
9This mirrors the Debian setup of CPAN.pm in debian/cpan_config_path.
10
11See #533707.
12
13---
14 cpan/CPANPLUS/lib/CPANPLUS/Configure.pm | 1 +
15 cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm | 3 +++
16 2 files changed, 4 insertions(+), 0 deletions(-)
17
18diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm b/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm
19index baac91d..a3794de 100644
20--- a/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm
21+++ b/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm
22@@ -276,6 +276,7 @@ Saves the configuration to the package name you provided.
23 If this package is not C<CPANPLUS::Config::System>, it will
24 be saved in your C<.cpanplus> directory, otherwise it will
25 be attempted to be saved in the system wide directory.
26+(On Debian systems, this system wide directory is /etc/perl.)
27
28 If no argument is provided, it will default to your personal
29 config.
30diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm
31index 1a38200..6ee0d82 100644
32--- a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm
33+++ b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm
34@@ -199,6 +199,9 @@ use constant CONFIG_USER_FILE => sub {
35 ) . '.pm';
36 };
37 use constant CONFIG_SYSTEM_FILE => sub {
38+ # Debian-specific shortcut
39+ return '/etc/perl/CPANPLUS/Config/System.pm';
40+
41 require CPANPLUS::Internals;
42 require File::Basename;
43 my $dir = File::Basename::dirname(
44--
45tg: (a508b62..) debian/cpanplus_config_path (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/cpanplus_definstalldirs.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/cpanplus_definstalldirs.diff
new file mode 100644
index 0000000000..bd5fe80618
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/cpanplus_definstalldirs.diff
@@ -0,0 +1,54 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: Configure CPANPLUS to use the site directories by default.
5Closes: 533707
6
7The core modules usually default to INSTALLDIRS=perl (ExtUtils::MakeMaker)
8or installdirs=core (Module::Build), so we need to explicitly ask for
9the site destination to get upgraded versions into /usr/local.
10
11See also the sister patch, debian/cpan_definstalldirs .
12
13---
14 cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm | 30 +++++++++++++++++++++++++++
15 1 files changed, 30 insertions(+), 0 deletions(-)
16
17diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm b/cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm
18new file mode 100644
19index 0000000..5e6e11e
20--- /dev/null
21+++ b/cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm
22@@ -0,0 +1,30 @@
23+### minimal pod, so you can find it with perldoc -l, etc
24+=pod
25+
26+=head1 NAME
27+
28+CPANPLUS::Config::System
29+
30+=head1 DESCRIPTION
31+
32+This is a CPANPLUS configuration file that sets appropriate default
33+settings on Debian systems.
34+
35+The only preconfigured settings are C<makemakerflags> (set to
36+C<INSTALLDIRS=site>) and C<buildflags> (set to C<--installdirs site>).
37+
38+These settings will not have any effect if
39+C</etc/perl/CPANPLUS/Config/System.pm> is present.
40+
41+=cut
42+
43+
44+package CPANPLUS::Config::System;
45+
46+sub setup {
47+ my $conf = shift;
48+ $conf->set_conf( makemakerflags => 'INSTALLDIRS=site' );
49+ $conf->set_conf( buildflags => '--installdirs site' );
50+}
51+
52+1;
53--
54tg: (a508b62..) debian/cpanplus_definstalldirs (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/db_file_ver.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/db_file_ver.diff
new file mode 100644
index 0000000000..e9aa60a9b9
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/db_file_ver.diff
@@ -0,0 +1,34 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Remove overly restrictive DB_File version check.
4Bug-Debian: http://bugs.debian.org/340047
5
6Package dependencies ensure the correct library is linked at run-time.
7
8
9---
10 cpan/DB_File/version.c | 2 ++
11 1 files changed, 2 insertions(+), 0 deletions(-)
12
13diff --git a/cpan/DB_File/version.c b/cpan/DB_File/version.c
14index 47158d3..67ccdff 100644
15--- a/cpan/DB_File/version.c
16+++ b/cpan/DB_File/version.c
17@@ -48,6 +48,7 @@ __getBerkeleyDBInfo()
18
19 (void)db_version(&Major, &Minor, &Patch) ;
20
21+#ifndef DEBIAN
22 /* Check that the versions of db.h and libdb.a are the same */
23 if (Major != DB_VERSION_MAJOR || Minor != DB_VERSION_MINOR )
24 /* || Patch != DB_VERSION_PATCH) */
25@@ -55,6 +56,7 @@ __getBerkeleyDBInfo()
26 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",
27 DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH,
28 Major, Minor, Patch) ;
29+#endif /* DEBIAN */
30
31 /* check that libdb is recent enough -- we need 2.3.4 or greater */
32 if (Major == 2 && (Minor < 3 || (Minor == 3 && Patch < 4)))
33--
34tg: (a508b62..) debian/db_file_ver (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/deprecate-with-apt.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/deprecate-with-apt.diff
new file mode 100644
index 0000000000..ad0b0cfb86
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/deprecate-with-apt.diff
@@ -0,0 +1,61 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: Point users to Debian packages of deprecated core modules
5Bug-Debian: http://bugs.debian.org/580034
6
7Class::ISA, Switch, Pod::Plainer, and (partially) Shell were
8deprecated from the Perl core in 5.12.0.
9
10To get a clean transition, perl-modules is going to recommend the separate
11Debian packages of these for one release cycle so that they will be
12pulled in by default on upgrades.
13
14However, on systems configured to ignore recommendations the deprecation
15warnings will still be useful, so modify them slightly to point to the
16separate packages instead.
17
18---
19 lib/deprecate.pm | 18 +++++++++++++++++-
20 1 files changed, 17 insertions(+), 1 deletions(-)
21
22diff --git a/lib/deprecate.pm b/lib/deprecate.pm
23index 7b92e0b..9db7330 100644
24--- a/lib/deprecate.pm
25+++ b/lib/deprecate.pm
26@@ -7,6 +7,16 @@ our $VERSION = 0.01;
27 our %Config;
28 unless (%Config) { require Config; *Config = \%Config::Config; }
29
30+# Debian-specific change: recommend the separate Debian packages of
31+# deprecated modules where available
32+
33+my %DEBIAN_PACKAGES = (
34+ "Class::ISA" => "libclass-isa-perl",
35+ "Pod::Plainer" => "libpod-plainer-perl",
36+ "Switch" => "libswitch-perl",
37+ "Shell" => "libshell-perl",
38+);
39+
40 sub import {
41 my ($package, $file, $line) = caller;
42 my $expect_leaf = "$package.pm";
43@@ -44,9 +54,15 @@ EOM
44 if (defined $callers_bitmask
45 && (vec($callers_bitmask, $warnings::Offsets{deprecated}, 1)
46 || vec($callers_bitmask, $warnings::Offsets{all}, 1))) {
47- warn <<"EOM";
48+ if (my $deb = $DEBIAN_PACKAGES{$package}) {
49+ warn <<"EOM";
50+$package will be removed from the Perl core distribution in the next major release. Please install the separate $deb package. It is being used at $call_file, line $call_line.
51+EOM
52+ } else {
53+ warn <<"EOM";
54 $package will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at $call_file, line $call_line.
55 EOM
56+ }
57 }
58 return;
59 }
60--
61tg: (a508b62..) debian/deprecate-with-apt (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/devel-ppport-ia64-optim.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/devel-ppport-ia64-optim.diff
new file mode 100644
index 0000000000..e57a31577b
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/devel-ppport-ia64-optim.diff
@@ -0,0 +1,34 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: Work around an ICE on ia64
5Closes: 548943
6
7Temporarily work around an internal compiler error in Devel::PPPort
8on ia64+gcc-4.3.
9
10
11---
12 cpan/Devel-PPPort/Makefile.PL | 7 +++++++
13 1 files changed, 7 insertions(+), 0 deletions(-)
14
15diff --git a/cpan/Devel-PPPort/Makefile.PL b/cpan/Devel-PPPort/Makefile.PL
16index 67eebc1..f1ef7a2 100644
17--- a/cpan/Devel-PPPort/Makefile.PL
18+++ b/cpan/Devel-PPPort/Makefile.PL
19@@ -75,6 +75,13 @@ sub configure
20 push @moreopts, INSTALLDIRS => ($] >= 5.007003 ? 'perl' : 'site');
21 }
22
23+
24+ # temporary Debian hack, see http://bugs.debian.org/548943
25+ require Config;
26+ if ($Config::Config{archname} =~ /^ia64/) {
27+ push @moreopts, OPTIMIZE => '-g -O0';
28+ }
29+
30 if ($opt{'apicheck'}) {
31 $PL_FILES{'apicheck_c.PL'} = 'apicheck.c';
32 push @C_FILES, qw{ apicheck.c };
33--
34tg: (a508b62..) debian/devel-ppport-ia64-optim (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/disable-zlib-bundling.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/disable-zlib-bundling.diff
new file mode 100644
index 0000000000..44349a534e
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/disable-zlib-bundling.diff
@@ -0,0 +1,31 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: Disable zlib bundling in Compress::Raw::Zlib
5
6Compress::Raw::Zlib statically links its bundled version of zlib
7by default, but we use the system library instead.
8
9---
10 cpan/Compress-Raw-Zlib/config.in | 6 +++---
11 1 files changed, 3 insertions(+), 3 deletions(-)
12
13diff --git a/cpan/Compress-Raw-Zlib/config.in b/cpan/Compress-Raw-Zlib/config.in
14index c56cc03..2c6659b 100644
15--- a/cpan/Compress-Raw-Zlib/config.in
16+++ b/cpan/Compress-Raw-Zlib/config.in
17@@ -16,9 +16,9 @@
18 # Setting the Gzip OS Code
19 #
20
21-BUILD_ZLIB = True
22-INCLUDE = ./zlib-src
23-LIB = ./zlib-src
24+BUILD_ZLIB = False
25+INCLUDE = /usr/include
26+LIB = /usr/lib
27
28 OLD_ZLIB = False
29 GZIP_OS_CODE = AUTO_DETECT
30--
31tg: (a508b62..) debian/disable-zlib-bundling (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/doc_info.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/doc_info.diff
new file mode 100644
index 0000000000..be75f30144
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/doc_info.diff
@@ -0,0 +1,36 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Replace generic man(1) instructions with Debian-specific information.
4
5Indicate that the user needs to install the perl-doc package.
6
7
8---
9 pod/perl.pod | 12 ++++++++++--
10 1 files changed, 10 insertions(+), 2 deletions(-)
11
12diff --git a/pod/perl.pod b/pod/perl.pod
13index e67f062..3b8ae83 100644
14--- a/pod/perl.pod
15+++ b/pod/perl.pod
16@@ -242,8 +242,16 @@ For ease of access, the Perl manual has been split up into several sections.
17 perlwin32 Perl notes for Windows
18
19
20-On a Unix-like system, these documentation files will usually also be
21-available as manpages for use with the F<man> program.
22+On Debian systems, you need to install the B<perl-doc> package which
23+contains the majority of the standard Perl documentation and the
24+F<perldoc> program.
25+
26+Extensive additional documentation for Perl modules is available, both
27+those distributed with Perl and third-party modules which are packaged
28+or locally installed.
29+
30+You should be able to view Perl's documentation with your man(1)
31+program or perldoc(1).
32
33 In general, if something strange has gone wrong with your program and you're
34 not sure where you should look for help, try the B<-w> switch first. It will
35--
36tg: (a508b62..) debian/doc_info (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/enc2xs_inc.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/enc2xs_inc.diff
new file mode 100644
index 0000000000..4cac4b75f4
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/enc2xs_inc.diff
@@ -0,0 +1,52 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Tweak enc2xs to follow symlinks and ignore missing @INC directories.
4Bug-Debian: http://bugs.debian.org/290336
5
6- ignore missing directories,
7- follow symlinks (/usr/share/perl/5.8 -> 5.8.4).
8- filter "." out when running "enc2xs -C", it's unnecessary and causes
9 issues with follow => 1 (see #603686 and [rt.cpan.org #64585])
10
11---
12 cpan/Encode/bin/enc2xs | 8 ++++----
13 1 files changed, 4 insertions(+), 4 deletions(-)
14
15diff --git a/cpan/Encode/bin/enc2xs b/cpan/Encode/bin/enc2xs
16index 773c0a0..bc1ae1b 100644
17--- a/cpan/Encode/bin/enc2xs
18+++ b/cpan/Encode/bin/enc2xs
19@@ -924,11 +924,11 @@ use vars qw(
20 sub find_e2x{
21 eval { require File::Find; };
22 my (@inc, %e2x_dir);
23- for my $inc (@INC){
24+ for my $inc (grep -d, @INC){
25 push @inc, $inc unless $inc eq '.'; #skip current dir
26 }
27 File::Find::find(
28- sub {
29+ { wanted => sub {
30 my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
31 $atime,$mtime,$ctime,$blksize,$blocks)
32 = lstat($_) or return;
33@@ -938,7 +938,7 @@ sub find_e2x{
34 $e2x_dir{$File::Find::dir} ||= $mtime;
35 }
36 return;
37- }, @inc);
38+ }, follow => 1}, @inc);
39 warn join("\n", keys %e2x_dir), "\n";
40 for my $d (sort {$e2x_dir{$a} <=> $e2x_dir{$b}} keys %e2x_dir){
41 $_E2X = $d;
42@@ -1005,7 +1005,7 @@ sub make_configlocal_pm {
43 $LocalMod{$enc} ||= $mod;
44 }
45 };
46- File::Find::find({wanted => $wanted}, @INC);
47+ File::Find::find({wanted => $wanted, follow => 1}, grep -d && !/^\./, @INC);
48 $_ModLines = "";
49 for my $enc ( sort keys %LocalMod ) {
50 $_ModLines .=
51--
52tg: (a508b62..) debian/enc2xs_inc (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/errno_ver.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/errno_ver.diff
new file mode 100644
index 0000000000..de73ed549a
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/errno_ver.diff
@@ -0,0 +1,34 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Remove Errno version check due to upgrade problems with long-running processes.
4Bug-Debian: http://bugs.debian.org/343351
5
6Remove version check which can cause problems for long running
7processes embedding perl when upgrading to a newer version,
8compatible, but built on a different machine.
9
10
11---
12 ext/Errno/Errno_pm.PL | 5 -----
13 1 files changed, 0 insertions(+), 5 deletions(-)
14
15diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
16index 124b8fc..b554cd4 100644
17--- a/ext/Errno/Errno_pm.PL
18+++ b/ext/Errno/Errno_pm.PL
19@@ -341,13 +341,8 @@ EOF
20 package Errno;
21 our (\@EXPORT_OK,\%EXPORT_TAGS,\@ISA,\$VERSION,\%errno,\$AUTOLOAD);
22 use Exporter ();
23-use Config;
24 use strict;
25
26-"\$Config{'archname'}-\$Config{'osvers'}" eq
27-"$Config{'archname'}-$Config{'osvers'}" or
28- die "Errno architecture ($Config{'archname'}-$Config{'osvers'}) does not match executable architecture (\$Config{'archname'}-\$Config{'osvers'})";
29-
30 \$VERSION = "$VERSION";
31 \$VERSION = eval \$VERSION;
32 \@ISA = qw(Exporter);
33--
34tg: (a508b62..) debian/errno_ver (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/extutils_hacks.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/extutils_hacks.diff
new file mode 100644
index 0000000000..e1cbdb5658
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/extutils_hacks.diff
@@ -0,0 +1,315 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Various debian-specific ExtUtils changes
4
5 * Respect umask during installation, and set as appropriate for each of
6 perl, vendor and site (policy requires group writable site dirs).
7
8 * Don't install .packlist or perllocal.pod for perl or vendor.
9 * Fiddle with *PREFIX and variables written to the makefile so that
10 install directories may be changed when make is run by passing
11 PREFIX= to the "make install" command (used when packaging
12 modules).
13
14 * Set location of libperl.a to /usr/lib.
15 * Note that libperl-dev package is required for embedded linking.
16 * Change install target dependencies to facilitate parallel makes.
17
18
19---
20 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | 12 +++---
21 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 44 +++++-----------------
22 cpan/ExtUtils-MakeMaker/t/INST.t | 4 +--
23 cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t | 10 +++---
24 dist/ExtUtils-Install/lib/ExtUtils/Install.pm | 18 +++++-----
25 lib/ExtUtils/Embed.pm | 3 ++
26 6 files changed, 34 insertions(+), 57 deletions(-)
27
28diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
29index 4905aeb..a80ac20 100644
30--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
31+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
32@@ -701,8 +701,6 @@ all POD files in MAN1PODS and MAN3PODS.
33 sub manifypods_target {
34 my($self) = shift;
35
36- my $man1pods = '';
37- my $man3pods = '';
38 my $dependencies = '';
39
40 # populate manXpods & dependencies:
41@@ -718,7 +716,7 @@ END
42 foreach my $section (qw(1 3)) {
43 my $pods = $self->{"MAN${section}PODS"};
44 push @man_cmds, $self->split_command(<<CMD, %$pods);
45- \$(NOECHO) \$(POD2MAN) --section=$section --perm_rw=\$(PERM_RW)
46+ \$(NOECHO) \$(POD2MAN) --section=\$(MAN${section}EXT) --perm_rw=\$(PERM_RW)
47 CMD
48 }
49
50@@ -1428,9 +1426,11 @@ sub init_INSTALL_from_PREFIX {
51 $self->{SITEPREFIX} ||= $sprefix;
52 $self->{VENDORPREFIX} ||= $vprefix;
53
54- # Lots of MM extension authors like to use $(PREFIX) so we
55- # put something sensible in there no matter what.
56- $self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
57+ my $p = $self->{PREFIX} = $self->{PERLPREFIX};
58+ for my $t (qw/PERL SITE VENDOR/)
59+ {
60+ $self->{"${t}PREFIX"} =~ s!^\Q$p\E(?=/|$)!\$(PREFIX)!;
61+ }
62 }
63
64 my $arch = $Config{archname};
65diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
66index 239d6df..940de38 100644
67--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
68+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
69@@ -2046,9 +2046,7 @@ doc__install : doc_site_install
70 $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
71
72 pure_perl_install :: all
73- $(NOECHO) $(MOD_INSTALL) \
74- read }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
75- write }.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
76+ $(NOECHO) umask 022; $(MOD_INSTALL) \
77 $(INST_LIB) $(DESTINSTALLPRIVLIB) \
78 $(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
79 $(INST_BIN) $(DESTINSTALLBIN) \
80@@ -2060,7 +2058,7 @@ pure_perl_install :: all
81
82
83 pure_site_install :: all
84- $(NOECHO) $(MOD_INSTALL) \
85+ $(NOECHO) umask 02; $(MOD_INSTALL) \
86 read }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
87 write }.$self->catfile('$(DESTINSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').q{ \
88 $(INST_LIB) $(DESTINSTALLSITELIB) \
89@@ -2073,9 +2071,7 @@ pure_site_install :: all
90 }.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{
91
92 pure_vendor_install :: all
93- $(NOECHO) $(MOD_INSTALL) \
94- read }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
95- write }.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{ \
96+ $(NOECHO) umask 022; $(MOD_INSTALL) \
97 $(INST_LIB) $(DESTINSTALLVENDORLIB) \
98 $(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
99 $(INST_BIN) $(DESTINSTALLVENDORBIN) \
100@@ -2084,37 +2080,19 @@ pure_vendor_install :: all
101 $(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
102
103 doc_perl_install :: all
104- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
105- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
106- -$(NOECHO) $(DOC_INSTALL) \
107- "Module" "$(NAME)" \
108- "installed into" "$(INSTALLPRIVLIB)" \
109- LINKTYPE "$(LINKTYPE)" \
110- VERSION "$(VERSION)" \
111- EXE_FILES "$(EXE_FILES)" \
112- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
113
114 doc_site_install :: all
115- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
116- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
117- -$(NOECHO) $(DOC_INSTALL) \
118+ $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLSITEARCH)/perllocal.pod
119+ -$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLSITEARCH)
120+ -$(NOECHO) umask 02; $(DOC_INSTALL) \
121 "Module" "$(NAME)" \
122 "installed into" "$(INSTALLSITELIB)" \
123 LINKTYPE "$(LINKTYPE)" \
124 VERSION "$(VERSION)" \
125 EXE_FILES "$(EXE_FILES)" \
126- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
127+ >> }.$self->catfile('$(DESTINSTALLSITEARCH)','perllocal.pod').q{
128
129 doc_vendor_install :: all
130- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
131- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
132- -$(NOECHO) $(DOC_INSTALL) \
133- "Module" "$(NAME)" \
134- "installed into" "$(INSTALLVENDORLIB)" \
135- LINKTYPE "$(LINKTYPE)" \
136- VERSION "$(VERSION)" \
137- EXE_FILES "$(EXE_FILES)" \
138- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
139
140 };
141
142@@ -2123,13 +2101,12 @@ uninstall :: uninstall_from_$(INSTALLDIRS)dirs
143 $(NOECHO) $(NOOP)
144
145 uninstall_from_perldirs ::
146- $(NOECHO) $(UNINSTALL) }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{
147
148 uninstall_from_sitedirs ::
149 $(NOECHO) $(UNINSTALL) }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{
150
151 uninstall_from_vendordirs ::
152- $(NOECHO) $(UNINSTALL) }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{
153+
154 };
155
156 join("",@m);
157@@ -2402,7 +2379,7 @@ MAP_PRELIBS = $Config{perllibs} $Config{cryptlib}
158 ($lperl = $libperl) =~ s/\$\(A\)/$self->{LIB_EXT}/;
159 }
160 unless ($libperl && -f $lperl) { # Ilya's code...
161- my $dir = $self->{PERL_SRC} || "$self->{PERL_ARCHLIB}/CORE";
162+ my $dir = $self->{PERL_SRC} || "/usr/lib";
163 $dir = "$self->{PERL_ARCHLIB}/.." if $self->{UNINSTALLED_PERL};
164 $libperl ||= "libperl$self->{LIB_EXT}";
165 $libperl = "$dir/$libperl";
166@@ -2998,8 +2975,7 @@ sub prefixify {
167 print STDERR " prefixify $var => $path\n" if $Verbose >= 2;
168 print STDERR " from $sprefix to $rprefix\n" if $Verbose >= 2;
169
170- if( $self->{ARGS}{PREFIX} &&
171- $path !~ s{^\Q$sprefix\E\b}{$rprefix}s )
172+ if( $path !~ s{^\Q$sprefix\E\b}{$rprefix}s && $self->{ARGS}{PREFIX} )
173 {
174
175 print STDERR " cannot prefix, using default.\n" if $Verbose >= 2;
176diff --git a/cpan/ExtUtils-MakeMaker/t/INST.t b/cpan/ExtUtils-MakeMaker/t/INST.t
177index 8a140eb..cf1410e 100755
178--- a/cpan/ExtUtils-MakeMaker/t/INST.t
179+++ b/cpan/ExtUtils-MakeMaker/t/INST.t
180@@ -59,9 +59,7 @@ isa_ok( $mm, 'ExtUtils::MakeMaker' );
181 is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
182 is( $mm->{VERSION}, 0.01, 'VERSION' );
183
184-my $config_prefix = $Config{installprefixexp} || $Config{installprefix} ||
185- $Config{prefixexp} || $Config{prefix};
186-is( $mm->{PERLPREFIX}, $config_prefix, 'PERLPREFIX' );
187+is( $mm->{PERLPREFIX}, '$(PREFIX)', 'PERLPREFIX' );
188
189 is( !!$mm->{PERL_CORE}, !!$ENV{PERL_CORE}, 'PERL_CORE' );
190
191diff --git a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
192index 8bb9db8..316546d 100755
193--- a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
194+++ b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
195@@ -10,7 +10,7 @@ BEGIN {
196 }
197
198 use strict;
199-use Test::More tests => 52;
200+use Test::More tests => 47;
201 use MakeMaker::Test::Utils;
202 use MakeMaker::Test::Setup::BFD;
203 use ExtUtils::MakeMaker;
204@@ -56,16 +56,16 @@ like( $stdout->read, qr{
205 Writing\ $Makefile\ for\ Big::Dummy\n
206 }x );
207
208-is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
209+#is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
210
211 isa_ok( $mm, 'ExtUtils::MakeMaker' );
212
213 is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
214 is( $mm->{VERSION}, 0.01, 'VERSION' );
215
216-foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
217- unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
218-}
219+#foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
220+# unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
221+#}
222
223
224 my $PREFIX = File::Spec->catdir('foo', 'bar');
225diff --git a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
226index da58365..d6d5c11 100644
227--- a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
228+++ b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
229@@ -468,7 +468,7 @@ sub _can_write_dir {
230
231 =pod
232
233-=item _mkpath($dir,$show,$mode,$verbose,$dry_run)
234+=item _mkpath($dir,$show,$verbose,$dry_run)
235
236 Wrapper around File::Path::mkpath() to handle errors.
237
238@@ -485,13 +485,13 @@ writable.
239 =cut
240
241 sub _mkpath {
242- my ($dir,$show,$mode,$verbose,$dry_run)=@_;
243+ my ($dir,$show,$verbose,$dry_run)=@_;
244 if ( $verbose && $verbose > 1 && ! -d $dir) {
245 $show= 1;
246- printf "mkpath(%s,%d,%#o)\n", $dir, $show, $mode;
247+ printf "mkpath(%s,%d)\n", $dir, $show;
248 }
249 if (!$dry_run) {
250- if ( ! eval { File::Path::mkpath($dir,$show,$mode); 1 } ) {
251+ if ( ! eval { File::Path::mkpath($dir,$show); 1 } ) {
252 _choke("Can't create '$dir'","$@");
253 }
254
255@@ -796,7 +796,7 @@ sub install { #XXX OS-SPECIFIC
256 _chdir($cwd);
257 }
258 foreach my $targetdir (sort keys %check_dirs) {
259- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
260+ _mkpath( $targetdir, 0, $verbose, $dry_run );
261 }
262 foreach my $found (@found_files) {
263 my ($diff, $ffd, $origfile, $mode, $size, $atime, $mtime,
264@@ -810,7 +810,7 @@ sub install { #XXX OS-SPECIFIC
265 $targetfile= _unlink_or_rename( $targetfile, 'tryhard', 'install' )
266 unless $dry_run;
267 } elsif ( ! -d $targetdir ) {
268- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
269+ _mkpath( $targetdir, 0, $verbose, $dry_run );
270 }
271 print "Installing $targetfile\n";
272
273@@ -850,7 +850,7 @@ sub install { #XXX OS-SPECIFIC
274
275 if ($pack{'write'}) {
276 $dir = install_rooted_dir(dirname($pack{'write'}));
277- _mkpath( $dir, 0, 0755, $verbose, $dry_run );
278+ _mkpath( $dir, 0, $verbose, $dry_run );
279 print "Writing $pack{'write'}\n" if $verbose;
280 $packlist->write(install_rooted_file($pack{'write'})) unless $dry_run;
281 }
282@@ -1190,7 +1190,7 @@ be prepended as a directory to each installed file (and directory).
283 sub pm_to_blib {
284 my($fromto,$autodir,$pm_filter) = @_;
285
286- _mkpath($autodir,0,0755);
287+ _mkpath($autodir,0);
288 while(my($from, $to) = each %$fromto) {
289 if( -f $to && -s $from == -s $to && -M $to < -M $from ) {
290 print "Skip $to (unchanged)\n";
291@@ -1213,7 +1213,7 @@ sub pm_to_blib {
292 # we wont try hard here. its too likely to mess things up.
293 forceunlink($to);
294 } else {
295- _mkpath(dirname($to),0,0755);
296+ _mkpath(dirname($to),0);
297 }
298 if ($need_filtering) {
299 run_filter($pm_filter, $from, $to);
300diff --git a/lib/ExtUtils/Embed.pm b/lib/ExtUtils/Embed.pm
301index 24ae909..12d421d 100644
302--- a/lib/ExtUtils/Embed.pm
303+++ b/lib/ExtUtils/Embed.pm
304@@ -305,6 +305,9 @@ and extensions in your C/C++ applications.
305 Typically, an application B<Makefile> will invoke ExtUtils::Embed
306 functions while building your application.
307
308+Note that on Debian systems the B<libperl-dev> package is required for
309+compiling applications which embed an interpreter.
310+
311 =head1 @EXPORT
312
313 ExtUtils::Embed exports the following functions:
314--
315tg: (a508b62..) debian/extutils_hacks (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fakeroot.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/fakeroot.diff
new file mode 100644
index 0000000000..2c8def5a81
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/fakeroot.diff
@@ -0,0 +1,45 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Postpone LD_LIBRARY_PATH evaluation to the binary targets.
4
5Modify the setting of LD_LIBRARY_PATH to append pre-existing values at the
6time the rule is evaluated rather than when the Makefile is created.
7
8This is required when building packages with dpkg-buildpackage and fakeroot,
9since fakeroot (which now sets LD_LIBRARY_PATH) is not used for the "build"
10rule where the Makefile is created, but is for the clean/binary* targets.
11
12
13---
14 Makefile.SH | 9 ++-------
15 1 files changed, 2 insertions(+), 7 deletions(-)
16
17diff --git a/Makefile.SH b/Makefile.SH
18index fc13b2b..d420229 100755
19--- a/Makefile.SH
20+++ b/Makefile.SH
21@@ -50,12 +50,7 @@ case "$useshrplib" in
22 true)
23 # Prefix all runs of 'miniperl' and 'perl' with
24 # $ldlibpth so that ./perl finds *this* shared libperl.
25- case "$LD_LIBRARY_PATH" in
26- '')
27- ldlibpth="LD_LIBRARY_PATH=`pwd`";;
28- *)
29- ldlibpth="LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}";;
30- esac
31+ ldlibpth=LD_LIBRARY_PATH=`pwd`'$${LD_LIBRARY_PATH:+:}$$LD_LIBRARY_PATH'
32
33 pldlflags="$cccdlflags"
34 static_ldflags=''
35@@ -126,7 +121,7 @@ true)
36 ;;
37 esac
38 case "$ldlibpthname" in
39- '') ;;
40+ ''|LD_LIBRARY_PATH) ;;
41 *)
42 case "$osname" in
43 os2)
44--
45tg: (a508b62..) debian/fakeroot (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/autodie-flock.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/autodie-flock.diff
new file mode 100644
index 0000000000..375ae418f4
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/autodie-flock.diff
@@ -0,0 +1,100 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: Allow for flock returning EAGAIN instead of EWOULDBLOCK on linux/parisc
5Bug-Debian: http://bugs.debian.org/543731
6Origin: upstream, http://github.com/pfenwick/autodie/commit/037738e11a6097734b0e1dabdd77b92e5fe35219
7
8
9---
10 cpan/autodie/lib/Fatal.pm | 14 +++++++++++++-
11 cpan/autodie/t/flock.t | 12 ++++++++++--
12 2 files changed, 23 insertions(+), 3 deletions(-)
13
14diff --git a/cpan/autodie/lib/Fatal.pm b/cpan/autodie/lib/Fatal.pm
15old mode 100644
16new mode 100755
17index 18e71ed..c17a257
18--- a/cpan/autodie/lib/Fatal.pm
19+++ b/cpan/autodie/lib/Fatal.pm
20@@ -5,6 +5,7 @@ use Carp;
21 use strict;
22 use warnings;
23 use Tie::RefHash; # To cache subroutine refs
24+use Config;
25
26 use constant PERL510 => ( $] >= 5.010 );
27
28@@ -52,6 +53,10 @@ our %_EWOULDBLOCK = (
29 MSWin32 => 33,
30 );
31
32+# the linux parisc port has separate EAGAIN and EWOULDBLOCK,
33+# and the kernel returns EAGAIN
34+my $try_EAGAIN = ($^O eq 'linux' and $Config{archname} =~ /hppa|parisc/) ? 1 : 0;
35+
36 # We have some tags that can be passed in for use with import.
37 # These are all assumed to be CORE::
38
39@@ -720,6 +725,11 @@ sub _one_invocation {
40 my $EWOULDBLOCK = eval { POSIX::EWOULDBLOCK(); }
41 || $_EWOULDBLOCK{$^O}
42 || _autocroak("Internal error - can't overload flock - EWOULDBLOCK not defined on this system.");
43+ my $EAGAIN = $EWOULDBLOCK;
44+ if ($try_EAGAIN) {
45+ $EAGAIN = eval { POSIX::EAGAIN(); }
46+ || _autocroak("Internal error - can't overload flock - EAGAIN not defined on this system.");
47+ }
48
49 require Fcntl; # For Fcntl::LOCK_NB
50
51@@ -735,7 +745,9 @@ sub _one_invocation {
52 # If we failed, but we're using LOCK_NB and
53 # returned EWOULDBLOCK, it's not a real error.
54
55- if (\$_[1] & Fcntl::LOCK_NB() and \$! == $EWOULDBLOCK ) {
56+ if (\$_[1] & Fcntl::LOCK_NB() and
57+ (\$! == $EWOULDBLOCK or
58+ ($try_EAGAIN and \$! == $EAGAIN ))) {
59 return \$retval;
60 }
61
62diff --git a/cpan/autodie/t/flock.t b/cpan/autodie/t/flock.t
63index a7550ba..6421a56 100755
64--- a/cpan/autodie/t/flock.t
65+++ b/cpan/autodie/t/flock.t
66@@ -2,7 +2,8 @@
67 use strict;
68 use Test::More;
69 use Fcntl qw(:flock);
70-use POSIX qw(EWOULDBLOCK);
71+use POSIX qw(EWOULDBLOCK EAGAIN);
72+use Config;
73
74 require Fatal;
75
76@@ -10,6 +11,9 @@ my $EWOULDBLOCK = eval { EWOULDBLOCK() }
77 || $Fatal::_EWOULDBLOCK{$^O}
78 || plan skip_all => "EWOULDBLOCK not defined on this system";
79
80+my $try_EAGAIN = ($^O eq 'linux' and $Config{archname} =~ /hppa|parisc/) ? 1 : 0;
81+my $EAGAIN = eval { EAGAIN() };
82+
83 my ($self_fh, $self_fh2);
84
85 eval {
86@@ -55,7 +59,11 @@ eval {
87 $return = flock($self_fh2, LOCK_EX | LOCK_NB);
88 };
89
90-is($!+0, $EWOULDBLOCK, "Double-flocking should be EWOULDBLOCK");
91+if (!$try_EAGAIN) {
92+ is($!+0, $EWOULDBLOCK, "Double-flocking should be EWOULDBLOCK");
93+} else {
94+ ok($!+0 == $EWOULDBLOCK || $!+0 == $EAGAIN, "Double-flocking should be EWOULDBLOCK or EAGAIN");
95+}
96 ok(!$return, "flocking a file twice should fail");
97 is($@, "", "Non-blocking flock should not fail on EWOULDBLOCK");
98
99--
100tg: (a508b62..) fixes/autodie-flock (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/concat-stack-corruption.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/concat-stack-corruption.diff
new file mode 100644
index 0000000000..40437f38ca
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/concat-stack-corruption.diff
@@ -0,0 +1,39 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: Fix stack pointer corruption in pp_concat() with 'use encoding'
5Bug-Debian: http://bugs.debian.org/596105
6Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=78674
7Origin: upstream, http://perl5.git.perl.org/perl.git/commit/e3393f51d48d8b790e26324eb0336fac9689fa46
8
9If the stack is reallocated during pp_concat() and 'use encoding' in
10effect, the stack pointer gets corrupted, causing memory allocation bugs
11and the like.
12
13---
14 pp_hot.c | 3 +++
15 1 files changed, 3 insertions(+), 0 deletions(-)
16
17diff --git a/pp_hot.c b/pp_hot.c
18index ee699ef..c5ed14e 100644
19--- a/pp_hot.c
20+++ b/pp_hot.c
21@@ -271,6 +271,8 @@ PP(pp_concat)
22 rbyte = !DO_UTF8(right);
23 }
24 if (lbyte != rbyte) {
25+ /* sv_utf8_upgrade_nomg() may reallocate the stack */
26+ PUTBACK;
27 if (lbyte)
28 sv_utf8_upgrade_nomg(TARG);
29 else {
30@@ -279,6 +281,7 @@ PP(pp_concat)
31 sv_utf8_upgrade_nomg(right);
32 rpv = SvPV_const(right, rlen);
33 }
34+ SPAGAIN;
35 }
36 sv_catpvn_nomg(TARG, rpv, rlen);
37
38--
39tg: (a508b62..) fixes/concat-stack-corruption (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/cpanplus-without-home.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/cpanplus-without-home.diff
new file mode 100644
index 0000000000..e7ff57c54f
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/cpanplus-without-home.diff
@@ -0,0 +1,32 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: Fix CPANPLUS test failures when HOME doesn't exist
5Bug: http://rt.cpan.org/Public/Bug/Display.html?id=52988
6Bug-Debian: http://bugs.debian.org/577011
7Origin: upstream
8
9The Debian autobuilders are configured with a non-existing $ENV{HOME},
10triggering a bug in CPANPLUS that causes test failures.
11
12Fix from CPANPLUS-0.9001.
13
14---
15 cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm | 2 +-
16 1 files changed, 1 insertions(+), 1 deletions(-)
17
18diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm
19index 27d2abc..8475c36 100644
20--- a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm
21+++ b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm
22@@ -5,7 +5,7 @@ use strict;
23 use CPANPLUS::Error;
24 use CPANPLUS::Internals::Constants;
25
26-use Cwd qw[chdir];
27+use Cwd qw[chdir cwd];
28 use File::Copy;
29 use Params::Check qw[check];
30 use Module::Load::Conditional qw[can_load];
31--
32tg: (a508b62..) fixes/cpanplus-without-home (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/h2ph-gcc-4.5.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/h2ph-gcc-4.5.diff
new file mode 100644
index 0000000000..9faab81f31
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/h2ph-gcc-4.5.diff
@@ -0,0 +1,108 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Author: Robin Barker <rmbarker@cpan.org>
4Subject: h2ph fix for gcc 4.5
5Bug-Debian: http://bugs.debian.org/599933
6Origin: upstream, http://perl5.git.perl.org/perl.git/commit/8d66b3f930dc6d88b524d103e304308ae73a46e7
7
8Fix h2ph and test. Needed to build with GCC 4.5.
9
10
11---
12 lib/h2ph.t | 12 ++++++++++--
13 utils/h2ph.PL | 28 +++++++++++++++++++++++-----
14 2 files changed, 33 insertions(+), 7 deletions(-)
15
16diff --git a/lib/h2ph.t b/lib/h2ph.t
17index 27dd7b9..8d62d46 100755
18--- a/lib/h2ph.t
19+++ b/lib/h2ph.t
20@@ -18,7 +18,7 @@ if (!(-e $extracted_program)) {
21 exit 0;
22 }
23
24-plan(4);
25+plan(5);
26
27 # quickly compare two text files
28 sub txt_compare {
29@@ -41,8 +41,16 @@ $result = runperl( progfile => 'lib/h2ph.pht',
30 stderr => 1 );
31 like( $result, qr/syntax OK$/, "output compiles");
32
33+$result = runperl( progfile => '_h2ph_pre.ph',
34+ switches => ['-c'],
35+ stderr => 1 );
36+like( $result, qr/syntax OK$/, "preamble compiles");
37+
38 $result = runperl( switches => ["-w"],
39- prog => '$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);');
40+ stderr => 1,
41+ prog => <<'PROG' );
42+$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);
43+PROG
44 is( $result, '', "output free of warnings" );
45
46 # cleanup
47diff --git a/utils/h2ph.PL b/utils/h2ph.PL
48index 8f56db4..1255807 100644
49--- a/utils/h2ph.PL
50+++ b/utils/h2ph.PL
51@@ -401,7 +401,10 @@ if ($opt_e && (scalar(keys %bad_file) > 0)) {
52 exit $Exit;
53
54 sub expr {
55- $new = '"(assembly code)"' and return if /\b__asm__\b/; # freak out.
56+ if (/\b__asm__\b/) { # freak out
57+ $new = '"(assembly code)"';
58+ return
59+ }
60 my $joined_args;
61 if(keys(%curargs)) {
62 $joined_args = join('|', keys(%curargs));
63@@ -770,7 +773,7 @@ sub inc_dirs
64 sub build_preamble_if_necessary
65 {
66 # Increment $VERSION every time this function is modified:
67- my $VERSION = 2;
68+ my $VERSION = 3;
69 my $preamble = "$Dest_dir/_h2ph_pre.ph";
70
71 # Can we skip building the preamble file?
72@@ -798,7 +801,16 @@ sub build_preamble_if_necessary
73 # parenthesized value: d=(v)
74 $define{$_} = $1;
75 }
76- if ($define{$_} =~ /^([+-]?(\d+)?\.\d+([eE][+-]?\d+)?)[FL]?$/) {
77+ if (/^(\w+)\((\w)\)$/) {
78+ my($macro, $arg) = ($1, $2);
79+ my $def = $define{$_};
80+ $def =~ s/$arg/\$\{$arg\}/g;
81+ print PREAMBLE <<DEFINE;
82+unless (defined &$macro) { sub $macro(\$) { my (\$$arg) = \@_; \"$def\" } }
83+
84+DEFINE
85+ } elsif
86+ ($define{$_} =~ /^([+-]?(\d+)?\.\d+([eE][+-]?\d+)?)[FL]?$/) {
87 # float:
88 print PREAMBLE
89 "unless (defined &$_) { sub $_() { $1 } }\n\n";
90@@ -807,8 +819,14 @@ sub build_preamble_if_necessary
91 print PREAMBLE
92 "unless (defined &$_) { sub $_() { $1 } }\n\n";
93 } elsif ($define{$_} =~ /^\w+$/) {
94- print PREAMBLE
95- "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n";
96+ my $def = $define{$_};
97+ if ($isatype{$def}) {
98+ print PREAMBLE
99+ "unless (defined &$_) { sub $_() { \"$def\" } }\n\n";
100+ } else {
101+ print PREAMBLE
102+ "unless (defined &$_) { sub $_() { &$def } }\n\n";
103+ }
104 } else {
105 print PREAMBLE
106 "unless (defined &$_) { sub $_() { \"",
107--
108tg: (a508b62..) fixes/h2ph-gcc-4.5 (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/hurd-ccflags.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/hurd-ccflags.diff
new file mode 100644
index 0000000000..8868c643f1
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/hurd-ccflags.diff
@@ -0,0 +1,28 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Author: Samuel Thibault <sthibault@debian.org>
4Subject: Make hints/gnu.sh append to $ccflags rather than overriding them
5Bug-Debian: http://bugs.debian.org/587901
6
7Don't override possible extra $ccflags values given to Configure
8on GNU/Hurd.
9
10---
11 hints/gnu.sh | 2 +-
12 1 files changed, 1 insertions(+), 1 deletions(-)
13
14diff --git a/hints/gnu.sh b/hints/gnu.sh
15index 2cfce54..c1ba2db 100644
16--- a/hints/gnu.sh
17+++ b/hints/gnu.sh
18@@ -19,7 +19,7 @@ lddlflags='-shared'
19 ccdlflags='-Wl,-E'
20
21 # Debian bug #258618
22-ccflags='-D_GNU_SOURCE'
23+ccflags="-D_GNU_SOURCE $ccflags"
24
25 # The following routines are only available as stubs in GNU libc.
26 # XXX remove this once metaconf detects the GNU libc stubs.
27--
28tg: (a508b62..) fixes/hurd-ccflags (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/lc-numeric-docs.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/lc-numeric-docs.diff
new file mode 100644
index 0000000000..67a55da427
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/lc-numeric-docs.diff
@@ -0,0 +1,97 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: LC_NUMERIC documentation fixes
5Bug-Debian: http://bugs.debian.org/379329
6Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=78452
7Origin: upstream, http://perl5.git.perl.org/perl.git/commit/903eb63f7d8d47a38971a8e9af7201b9927882cf
8
9LC_NUMERIC documentation updates fixing two errors:
10
11 - the early parts of perllocale.pod still say printf() uses LC_NUMERIC
12 with just 'use locale' when actually a POSIX::setlocale() call is
13 also needed
14
15 - format() hasn't used LC_NUMERIC unconditionally since 5.005_03
16 (commit 097ee67dff1c60f201bc09435bc6eaeeafcd8123).
17
18Test cases from the upstream commit dropped for the sake of simplicity.
19
20---
21 pod/perlform.pod | 20 ++++++++------------
22 pod/perllocale.pod | 15 ++++++---------
23 2 files changed, 14 insertions(+), 21 deletions(-)
24
25diff --git a/pod/perlform.pod b/pod/perlform.pod
26index 3cfa1b7..df0f0a1 100644
27--- a/pod/perlform.pod
28+++ b/pod/perlform.pod
29@@ -166,9 +166,9 @@ token on the first line. If an expression evaluates to a number with a
30 decimal part, and if the corresponding picture specifies that the decimal
31 part should appear in the output (that is, any picture except multiple "#"
32 characters B<without> an embedded "."), the character used for the decimal
33-point is B<always> determined by the current LC_NUMERIC locale. This
34-means that, if, for example, the run-time environment happens to specify a
35-German locale, "," will be used instead of the default ".". See
36+point is determined by the current LC_NUMERIC locale if C<use locale> is in
37+effect. This means that, if, for example, the run-time environment happens
38+to specify a German locale, "," will be used instead of the default ".". See
39 L<perllocale> and L<"WARNINGS"> for more information.
40
41
42@@ -442,15 +442,11 @@ Lexical variables (declared with "my") are not visible within a
43 format unless the format is declared within the scope of the lexical
44 variable. (They weren't visible at all before version 5.001.)
45
46-Formats are the only part of Perl that unconditionally use information
47-from a program's locale; if a program's environment specifies an
48-LC_NUMERIC locale, it is always used to specify the decimal point
49-character in formatted output. Perl ignores all other aspects of locale
50-handling unless the C<use locale> pragma is in effect. Formatted output
51-cannot be controlled by C<use locale> because the pragma is tied to the
52-block structure of the program, and, for historical reasons, formats
53-exist outside that block structure. See L<perllocale> for further
54-discussion of locale handling.
55+If a program's environment specifies an LC_NUMERIC locale and C<use
56+locale> is in effect when the format is declared, the locale is used
57+to specify the decimal point character in formatted output. Formatted
58+output cannot be controlled by C<use locale> at the time when write()
59+is called. See L<perllocale> for further discussion of locale handling.
60
61 Within strings that are to be displayed in a fixed length text field,
62 each control character is substituted by a space. (But remember the
63diff --git a/pod/perllocale.pod b/pod/perllocale.pod
64index 0dbabe7..0bec423 100644
65--- a/pod/perllocale.pod
66+++ b/pod/perllocale.pod
67@@ -115,8 +115,7 @@ ucfirst(), and lcfirst()) use C<LC_CTYPE>
68
69 =item *
70
71-B<The formatting functions> (printf(), sprintf() and write()) use
72-C<LC_NUMERIC>
73+B<Format declarations> (format()) use C<LC_NUMERIC>
74
75 =item *
76
77@@ -967,13 +966,11 @@ system's implementation of the locale system than by Perl.
78
79 =head2 write() and LC_NUMERIC
80
81-Formats are the only part of Perl that unconditionally use information
82-from a program's locale; if a program's environment specifies an
83-LC_NUMERIC locale, it is always used to specify the decimal point
84-character in formatted output. Formatted output cannot be controlled by
85-C<use locale> because the pragma is tied to the block structure of the
86-program, and, for historical reasons, formats exist outside that block
87-structure.
88+If a program's environment specifies an LC_NUMERIC locale and C<use
89+locale> is in effect when the format is declared, the locale is used
90+to specify the decimal point character in formatted output. Formatted
91+output cannot be controlled by C<use locale> at the time when write()
92+is called.
93
94 =head2 Freely available locale definitions
95
96--
97tg: (a508b62..) fixes/lc-numeric-docs (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/lc-numeric-sprintf.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/lc-numeric-sprintf.diff
new file mode 100644
index 0000000000..9fe07eb294
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/lc-numeric-sprintf.diff
@@ -0,0 +1,31 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: Fix sprintf not to ignore LC_NUMERIC with constants
5Bug-Debian: http://bugs.debian.org/601549
6Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=78632
7Origin: upstream, http://perl5.git.perl.org/perl.git/commit/b3fd61496ebc585b1115807e3195f17714662a09
8
9Don't fold constants in sprintf() if locales are used
10
11An upstream regression in 5.10.1 made sprintf() ignore LC_NUMERIC for
12numeric constants.
13
14---
15 op.c | 1 +
16 1 files changed, 1 insertions(+), 0 deletions(-)
17
18diff --git a/op.c b/op.c
19index e94f158..3c6badb 100644
20--- a/op.c
21+++ b/op.c
22@@ -2503,6 +2503,7 @@ S_fold_constants(pTHX_ register OP *o)
23 case OP_SLE:
24 case OP_SGE:
25 case OP_SCMP:
26+ case OP_SPRINTF:
27 /* XXX what about the numeric ops? */
28 if (PL_hints & HINT_LOCALE)
29 goto nope;
30--
31tg: (a508b62..) fixes/lc-numeric-sprintf (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/net_smtp_docs.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/net_smtp_docs.diff
new file mode 100644
index 0000000000..2307a09ea3
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/net_smtp_docs.diff
@@ -0,0 +1,25 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Document the Net::SMTP 'Port' option
4Bug-Debian: http://bugs.debian.org/100195
5Bug: http://rt.cpan.org/Public/Bug/Display.html?id=36038
6
7
8---
9 cpan/libnet/Net/SMTP.pm | 1 +
10 1 files changed, 1 insertions(+), 0 deletions(-)
11
12diff --git a/cpan/libnet/Net/SMTP.pm b/cpan/libnet/Net/SMTP.pm
13index a28496d..07b2498 100644
14--- a/cpan/libnet/Net/SMTP.pm
15+++ b/cpan/libnet/Net/SMTP.pm
16@@ -625,6 +625,7 @@ Net::SMTP will attempt to extract the address from the value passed.
17
18 B<Debug> - Enable debugging information
19
20+B<Port> - Select a port on the remote host to connect to (default is 25)
21
22 Example:
23
24--
25tg: (a508b62..) fixes/net_smtp_docs (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/processPL.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/processPL.diff
new file mode 100644
index 0000000000..fa2d7c365a
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/processPL.diff
@@ -0,0 +1,45 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Always use PERLRUNINST when building perl modules.
4Bug-Debian: http://bugs.debian.org/357264
5Bug: http://rt.cpan.org/Public/Bug/Display.html?id=17224
6
7Revert part of upstream change 24524 to always use PERLRUNINST when
8building perl modules: Some PDL demos expect blib to be implicitly
9searched.
10
11
12---
13 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 5 +----
14 1 files changed, 1 insertions(+), 4 deletions(-)
15
16diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
17index 239d6df..294d266 100644
18--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
19+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
20@@ -3043,14 +3043,11 @@ sub processPL {
21 # pm_to_blib depends on then it can't depend on pm_to_blib
22 # else we have a dependency loop.
23 my $pm_dep;
24- my $perlrun;
25 if( defined $self->{PM}{$target} ) {
26 $pm_dep = '';
27- $perlrun = 'PERLRUN';
28 }
29 else {
30 $pm_dep = 'pm_to_blib';
31- $perlrun = 'PERLRUNINST';
32 }
33
34 $m .= <<MAKE_FRAG;
35@@ -3059,7 +3056,7 @@ all :: $target
36 \$(NOECHO) \$(NOOP)
37
38 $target :: $plfile $pm_dep
39- \$($perlrun) $plfile $target
40+ \$(PERLRUNINST) $plfile $target
41 MAKE_FRAG
42
43 }
44--
45tg: (a508b62..) fixes/processPL (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/instmodsh_doc.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/instmodsh_doc.diff
new file mode 100644
index 0000000000..5555dfc43e
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/instmodsh_doc.diff
@@ -0,0 +1,28 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Debian policy doesn't install .packlist files for core or vendor.
4
5
6---
7 cpan/ExtUtils-MakeMaker/bin/instmodsh | 4 +++-
8 1 files changed, 3 insertions(+), 1 deletions(-)
9
10diff --git a/cpan/ExtUtils-MakeMaker/bin/instmodsh b/cpan/ExtUtils-MakeMaker/bin/instmodsh
11index 5874aa6..6a2f03e 100644
12--- a/cpan/ExtUtils-MakeMaker/bin/instmodsh
13+++ b/cpan/ExtUtils-MakeMaker/bin/instmodsh
14@@ -18,9 +18,11 @@ instmodsh - A shell to examine installed modules
15
16 =head1 DESCRIPTION
17
18-A little interface to ExtUtils::Installed to examine installed modules,
19+A little interface to ExtUtils::Installed to examine locally* installed modules,
20 validate your packlists and even create a tarball from an installed module.
21
22+*On Debian system, B<core> and B<vendor> modules are managed by C<dpkg>.
23+
24 =head1 SEE ALSO
25
26 ExtUtils::Installed
27--
28tg: (a508b62..) debian/instmodsh_doc (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/ld_run_path.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/ld_run_path.diff
new file mode 100644
index 0000000000..02610d34a9
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/ld_run_path.diff
@@ -0,0 +1,25 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Remove standard libs from LD_RUN_PATH as per Debian policy.
4
5
6---
7 .../ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm | 3 +++
8 1 files changed, 3 insertions(+), 0 deletions(-)
9
10diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
11index b807e97..6c955d7 100644
12--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
13+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
14@@ -53,6 +53,9 @@ sub _unix_os2_ext {
15 my($pwd) = cwd(); # from Cwd.pm
16 my($found) = 0;
17
18+ # Debian-specific: don't use LD_RUN_PATH for standard dirs
19+ $ld_run_path_seen{$_}++ for qw(/lib /usr/lib /usr/X11R6/lib);
20+
21 foreach my $thislib (split ' ', $potential_libs) {
22
23 # Handle possible linker path arguments.
24--
25tg: (a508b62..) debian/ld_run_path (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/libnet_config_path.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/libnet_config_path.diff
new file mode 100644
index 0000000000..a38e78ac34
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/libnet_config_path.diff
@@ -0,0 +1,37 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable.
4
5
6---
7 cpan/libnet/Net/Config.pm | 7 +++----
8 1 files changed, 3 insertions(+), 4 deletions(-)
9
10diff --git a/cpan/libnet/Net/Config.pm b/cpan/libnet/Net/Config.pm
11index db51c1f..8404593 100644
12--- a/cpan/libnet/Net/Config.pm
13+++ b/cpan/libnet/Net/Config.pm
14@@ -57,9 +57,8 @@ my %nc = (
15 }
16 TRY_INTERNET_CONFIG
17
18-my $file = __FILE__;
19+my $file = '/etc/perl/Net/libnet.cfg';
20 my $ref;
21-$file =~ s/Config.pm/libnet.cfg/;
22 if (-f $file) {
23 $ref = eval { local $SIG{__DIE__}; do $file };
24 if (ref($ref) eq 'HASH') {
25@@ -132,8 +131,8 @@ Net::Config - Local configuration data for libnet
26 C<Net::Config> holds configuration data for the modules in the libnet
27 distribution. During installation you will be asked for these values.
28
29-The configuration data is held globally in a file in the perl installation
30-tree, but a user may override any of these values by providing their own. This
31+The configuration data is held globally in C</etc/perl/Net/libnet.cfg>,
32+but a user may override any of these values by providing their own. This
33 can be done by having a C<.libnetrc> file in their home directory. This file
34 should return a reference to a HASH containing the keys described below.
35 For example
36--
37tg: (a508b62..) debian/libnet_config_path (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/m68k_thread_stress.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/m68k_thread_stress.diff
new file mode 100644
index 0000000000..675c9aa03d
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/m68k_thread_stress.diff
@@ -0,0 +1,45 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Disable some threads tests on m68k for now due to missing TLS.
4Closes: #495826, #517938
5
6
7---
8 dist/threads-shared/t/stress.t | 4 ++++
9 dist/threads-shared/t/waithires.t | 6 ++++++
10 2 files changed, 10 insertions(+), 0 deletions(-)
11
12diff --git a/dist/threads-shared/t/stress.t b/dist/threads-shared/t/stress.t
13index adfd1ed..8573f1a 100755
14--- a/dist/threads-shared/t/stress.t
15+++ b/dist/threads-shared/t/stress.t
16@@ -11,6 +11,10 @@ BEGIN {
17 print("1..0 # SKIP Broken under HP-UX 10.20\n");
18 exit(0);
19 }
20+ if ($^O eq 'linux' && $Config{archname} =~ /^m68k/) {
21+ print("1..0 # Skip: no TLS on m68k yet <http://bugs.debian.org/495826>\n");
22+ exit(0);
23+ }
24 }
25
26 use ExtUtils::testlib;
27diff --git a/dist/threads-shared/t/waithires.t b/dist/threads-shared/t/waithires.t
28index e3a1086..633374e 100755
29--- a/dist/threads-shared/t/waithires.t
30+++ b/dist/threads-shared/t/waithires.t
31@@ -16,6 +16,12 @@ BEGIN {
32 if (! eval 'use Time::HiRes "time"; 1') {
33 Test::skip_all('Time::HiRes not available');
34 }
35+
36+ if ($^O eq 'linux' && $Config{archname} =~ /^m68k/) {
37+ print("1..0 # Skip: no TLS on m68k yet <http://bugs.debian.org/495826>\n");
38+ exit(0);
39+ }
40+
41 }
42
43 use ExtUtils::testlib;
44--
45tg: (a508b62..) debian/m68k_thread_stress (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/mod_paths.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/mod_paths.diff
new file mode 100644
index 0000000000..26d8ed03a2
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/mod_paths.diff
@@ -0,0 +1,100 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Tweak @INC ordering for Debian
4
5Our order is:
6
7 etc (for config files)
8 site (5.8.1)
9 vendor (all)
10 core (5.8.1)
11 site (version-indep)
12 site (pre-5.8.1)
13
14The rationale being that an admin (via site), or module packager
15(vendor) can chose to shadow core modules when there is a newer
16version than is included in core.
17
18
19---
20 perl.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
21 1 files changed, 58 insertions(+), 0 deletions(-)
22
23diff --git a/perl.c b/perl.c
24index 05cea40..023d6a0 100644
25--- a/perl.c
26+++ b/perl.c
27@@ -4125,6 +4125,11 @@ S_init_perllib(pTHX)
28 INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
29 #endif
30
31+#ifdef DEBIAN
32+ /* for configuration where /usr is mounted ro (CPAN::Config, Net::Config) */
33+ S_incpush_use_sep(aTHX_ STR_WITH_LEN("/etc/perl"), 0x0);
34+#endif
35+
36 #ifdef SITEARCH_EXP
37 /* sitearch is always relative to sitelib on Windows for
38 * DLL-based path intuition to work correctly */
39@@ -4242,6 +4247,59 @@ S_init_perllib(pTHX)
40 INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE);
41 #endif
42
43+#ifdef DEBIAN
44+ /* Non-versioned site directory for local modules and for
45+ compatability with the previous packages' site dirs */
46+ S_incpush_use_sep(aTHX_ STR_WITH_LEN("/usr/local/lib/site_perl"),
47+ INCPUSH_ADD_SUB_DIRS);
48+
49+#ifdef PERL_INC_VERSION_LIST
50+ {
51+ struct stat s;
52+
53+ /* add small buffer in case old versions are longer than the
54+ current version */
55+ char sitearch[sizeof(SITEARCH_EXP)+16] = SITEARCH_EXP;
56+ char sitelib[sizeof(SITELIB_EXP)+16] = SITELIB_EXP;
57+ char const *vers[] = { PERL_INC_VERSION_LIST };
58+ char const **p;
59+
60+ char *arch_vers = strrchr(sitearch, '/');
61+ char *lib_vers = strrchr(sitelib, '/');
62+
63+ if (arch_vers && isdigit(*++arch_vers))
64+ *arch_vers = 0;
65+ else
66+ arch_vers = 0;
67+
68+ if (lib_vers && isdigit(*++lib_vers))
69+ *lib_vers = 0;
70+ else
71+ lib_vers = 0;
72+
73+ /* there is some duplication here as incpush does something
74+ similar internally, but required as sitearch is not a
75+ subdirectory of sitelib */
76+ for (p = vers; *p; p++)
77+ {
78+ if (arch_vers)
79+ {
80+ strcpy(arch_vers, *p);
81+ if (PerlLIO_stat(sitearch, &s) >= 0 && S_ISDIR(s.st_mode))
82+ S_incpush_use_sep(aTHX_ sitearch, strlen(sitearch), 0x0);
83+ }
84+
85+ if (lib_vers)
86+ {
87+ strcpy(lib_vers, *p);
88+ if (PerlLIO_stat(sitelib, &s) >= 0 && S_ISDIR(s.st_mode))
89+ S_incpush_use_sep(aTHX_ sitelib, strlen(sitelib), 0x0);
90+ }
91+ }
92+ }
93+#endif
94+#endif
95+
96 #ifdef PERL_OTHERLIBDIRS
97 S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS),
98 INCPUSH_ADD_OLD_VERS|INCPUSH_ADD_ARCHONLY_SUB_DIRS
99--
100tg: (a508b62..) debian/mod_paths (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/module_build_man_extensions.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/module_build_man_extensions.diff
new file mode 100644
index 0000000000..63c8441bd2
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/module_build_man_extensions.diff
@@ -0,0 +1,33 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Adjust Module::Build manual page extensions for the Debian Perl policy
4Bug-Debian: http://bugs.debian.org/479460
5
6---
7 cpan/Module-Build/lib/Module/Build/Base.pm | 4 ++--
8 1 files changed, 2 insertions(+), 2 deletions(-)
9
10diff --git a/cpan/Module-Build/lib/Module/Build/Base.pm b/cpan/Module-Build/lib/Module/Build/Base.pm
11index 5bd8ec7..b4e606a 100644
12--- a/cpan/Module-Build/lib/Module/Build/Base.pm
13+++ b/cpan/Module-Build/lib/Module/Build/Base.pm
14@@ -3071,7 +3071,7 @@ sub manify_bin_pods {
15 foreach my $file (keys %$files) {
16 # Pod::Simple based parsers only support one document per instance.
17 # This is expected to change in a future version (Pod::Simple > 3.03).
18- my $parser = Pod::Man->new( section => 1 ); # binaries go in section 1
19+ my $parser = Pod::Man->new( section => '1p' ); # binaries go in section 1p
20 my $manpage = $self->man1page_name( $file ) . '.' .
21 $self->config( 'man1ext' );
22 my $outfile = File::Spec->catfile($mandir, $manpage);
23@@ -3096,7 +3096,7 @@ sub manify_lib_pods {
24 while (my ($file, $relfile) = each %$files) {
25 # Pod::Simple based parsers only support one document per instance.
26 # This is expected to change in a future version (Pod::Simple > 3.03).
27- my $parser = Pod::Man->new( section => 3 ); # libraries go in section 3
28+ my $parser = Pod::Man->new( section => '3pm' ); # libraries go in section 3pm
29 my $manpage = $self->man3page_name( $relfile ) . '.' .
30 $self->config( 'man3ext' );
31 my $outfile = File::Spec->catfile( $mandir, $manpage);
32--
33tg: (a508b62..) debian/module_build_man_extensions (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/patchlevel b/meta/recipes-devtools/perl/perl-5.12.3/debian/patchlevel
new file mode 100644
index 0000000000..0839fbd031
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/patchlevel
@@ -0,0 +1,45 @@
1Subject: List packaged patches for 5.12.3-2 in patchlevel.h
2Origin: vendor
3Bug-Debian: http://bugs.debian.org/567489
4
5The list can be refreshed from information in debian/patches by running
6'debian/rules refresh-patchlevel'.
7
8
9--- perl/patchlevel.bak
10+++ perl/patchlevel.h
11@@ -133,0 +134,34 @@
12+ ,"DEBPKG:debian/arm_thread_stress_timeout - http://bugs.debian.org/501970 Raise the timeout of ext/threads/shared/t/stress.t to accommodate slower build hosts"
13+ ,"DEBPKG:debian/cpan_config_path - Set location of CPAN::Config to /etc/perl as /usr may not be writable."
14+ ,"DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN."
15+ ,"DEBPKG:debian/db_file_ver - http://bugs.debian.org/340047 Remove overly restrictive DB_File version check."
16+ ,"DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information."
17+ ,"DEBPKG:debian/enc2xs_inc - http://bugs.debian.org/290336 Tweak enc2xs to follow symlinks and ignore missing @INC directories."
18+ ,"DEBPKG:debian/errno_ver - http://bugs.debian.org/343351 Remove Errno version check due to upgrade problems with long-running processes."
19+ ,"DEBPKG:debian/extutils_hacks - Various debian-specific ExtUtils changes"
20+ ,"DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets."
21+ ,"DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor."
22+ ,"DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy."
23+ ,"DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable."
24+ ,"DEBPKG:debian/m68k_thread_stress - http://bugs.debian.org/495826 Disable some threads tests on m68k for now due to missing TLS."
25+ ,"DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian"
26+ ,"DEBPKG:debian/module_build_man_extensions - http://bugs.debian.org/479460 Adjust Module::Build manual page extensions for the Debian Perl policy"
27+ ,"DEBPKG:debian/prune_libs - http://bugs.debian.org/128355 Prune the list of libraries wanted to what we actually need."
28+ ,"DEBPKG:fixes/net_smtp_docs - http://bugs.debian.org/100195 [rt.cpan.org #36038] Document the Net::SMTP 'Port' option"
29+ ,"DEBPKG:fixes/processPL - http://bugs.debian.org/357264 [rt.cpan.org #17224] Always use PERLRUNINST when building perl modules."
30+ ,"DEBPKG:debian/perlivp - http://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local"
31+ ,"DEBPKG:debian/disable-zlib-bundling - Disable zlib bundling in Compress::Raw::Zlib"
32+ ,"DEBPKG:debian/cpanplus_definstalldirs - http://bugs.debian.org/533707 Configure CPANPLUS to use the site directories by default."
33+ ,"DEBPKG:debian/cpanplus_config_path - Save local versions of CPANPLUS::Config::System into /etc/perl."
34+ ,"DEBPKG:fixes/autodie-flock - http://bugs.debian.org/543731 Allow for flock returning EAGAIN instead of EWOULDBLOCK on linux/parisc"
35+ ,"DEBPKG:debian/devel-ppport-ia64-optim - http://bugs.debian.org/548943 Work around an ICE on ia64"
36+ ,"DEBPKG:fixes/cpanplus-without-home - http://bugs.debian.org/577011 [rt.cpan.org #52988] Fix CPANPLUS test failures when HOME doesn't exist"
37+ ,"DEBPKG:debian/arm_optim - http://bugs.debian.org/580334 Downgrade the optimization of sv.c on arm due to a gcc-4.4 bug"
38+ ,"DEBPKG:debian/deprecate-with-apt - http://bugs.debian.org/580034 Point users to Debian packages of deprecated core modules"
39+ ,"DEBPKG:fixes/hurd-ccflags - http://bugs.debian.org/587901 Make hints/gnu.sh append to $ccflags rather than overriding them"
40+ ,"DEBPKG:debian/squelch-locale-warnings - http://bugs.debian.org/508764 Squelch locale warnings in Debian package maintainer scripts"
41+ ,"DEBPKG:fixes/lc-numeric-docs - http://bugs.debian.org/379329 [perl #78452] [903eb63] LC_NUMERIC documentation fixes"
42+ ,"DEBPKG:fixes/lc-numeric-sprintf - http://bugs.debian.org/601549 [perl #78632] [b3fd614] Fix sprintf not to ignore LC_NUMERIC with constants"
43+ ,"DEBPKG:fixes/concat-stack-corruption - http://bugs.debian.org/596105 [perl #78674] [e3393f5] Fix stack pointer corruption in pp_concat() with 'use encoding'"
44+ ,"DEBPKG:fixes/h2ph-gcc-4.5 - http://bugs.debian.org/599933 [8d66b3f] h2ph fix for gcc 4.5"
45+ ,"DEBPKG:patchlevel - http://bugs.debian.org/567489 List packaged patches for 5.12.3-2 in patchlevel.h"
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/perlivp.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/perlivp.diff
new file mode 100644
index 0000000000..304e4c1af8
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/perlivp.diff
@@ -0,0 +1,40 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: Make perlivp skip include directories in /usr/local
5Closes: 510895
6
7On Sat, Jan 10, 2009 at 12:37:18AM +1100, Brendan O'Dea wrote:
8> On Wed, Jan 7, 2009 at 12:21 AM, Niko Tyni <ntyni@debian.org> wrote:
9
10> > We could create the directories in a postinst script, but I'm not sure
11> > I see the point. They will be created automatically when installing
12> > CPAN modules.
13>
14> The directories are intentionally not created, as this way they are
15> excluded from the search path at start-up, saving a bunch of wasted
16> stats at use/require time in the common case that the user has not
17> installed any local packages. As Niko points out, they will be
18> created as required.
19
20
21Signed-off-by: Niko Tyni <ntyni@debian.org>
22
23---
24 utils/perlivp.PL | 1 +
25 1 files changed, 1 insertions(+), 0 deletions(-)
26
27diff --git a/utils/perlivp.PL b/utils/perlivp.PL
28index 9783261..156146f 100644
29--- a/utils/perlivp.PL
30+++ b/utils/perlivp.PL
31@@ -142,6 +142,7 @@ my $INC_total = 0;
32 my $INC_there = 0;
33 foreach (@INC) {
34 next if $_ eq '.'; # skip -d test here
35+ next if m|/usr/local|; # not shipped on Debian
36 if ($^O eq 'MacOS') {
37 next if $_ eq ':'; # skip -d test here
38 next if $_ eq 'Dev:Pseudo:'; # why is this in @INC?
39--
40tg: (a508b62..) debian/perlivp (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/prune_libs.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/prune_libs.diff
new file mode 100644
index 0000000000..5bb072c021
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/prune_libs.diff
@@ -0,0 +1,38 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Prune the list of libraries wanted to what we actually need.
4Bug-Debian: http://bugs.debian.org/128355
5
6We want to keep the dependencies on perl-base as small as possible,
7and some of the original list may be present on buildds (see Bug#128355).
8
9
10---
11 Configure | 5 ++---
12 1 files changed, 2 insertions(+), 3 deletions(-)
13
14diff --git a/Configure b/Configure
15index 3a8732b..6013c86 100755
16--- a/Configure
17+++ b/Configure
18@@ -1363,8 +1363,7 @@ libswanted_uselargefiles=''
19 : set usesocks on the Configure command line to enable socks.
20 : List of libraries we want.
21 : If anyone needs extra -lxxx, put those in a hint file.
22-libswanted="sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun"
23-libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
24+libswanted='gdbm gdbm_compat db dl m c crypt'
25 : We probably want to search /usr/shlib before most other libraries.
26 : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
27 glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
28@@ -22179,7 +22178,7 @@ sunos*X4*)
29 ;;
30 *) case "$usedl" in
31 $define|true|[yY]*)
32- set X `echo " $libs " | sed -e 's@ -lndbm @ @' -e 's@ -lgdbm @ @' -e 's@ -lgdbm_compat @ @' -e 's@ -ldbm @ @' -e 's@ -ldb @ @'`
33+ set X `echo " $libs " | sed -e 's@ -lgdbm @ @' -e 's@ -lgdbm_compat @ @' -e 's@ -ldb @ @'`
34 shift
35 perllibs="$*"
36 ;;
37--
38tg: (a508b62..) debian/prune_libs (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/series b/meta/recipes-devtools/perl/perl-5.12.3/debian/series
new file mode 100644
index 0000000000..5425bc6323
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/series
@@ -0,0 +1,34 @@
1debian/arm_thread_stress_timeout.diff -p1
2debian/cpan_config_path.diff -p1
3debian/cpan_definstalldirs.diff -p1
4debian/db_file_ver.diff -p1
5debian/doc_info.diff -p1
6debian/enc2xs_inc.diff -p1
7debian/errno_ver.diff -p1
8debian/extutils_hacks.diff -p1
9debian/fakeroot.diff -p1
10debian/instmodsh_doc.diff -p1
11debian/ld_run_path.diff -p1
12debian/libnet_config_path.diff -p1
13debian/m68k_thread_stress.diff -p1
14debian/mod_paths.diff -p1
15debian/module_build_man_extensions.diff -p1
16debian/prune_libs.diff -p1
17fixes/net_smtp_docs.diff -p1
18fixes/processPL.diff -p1
19debian/perlivp.diff -p1
20debian/disable-zlib-bundling.diff -p1
21debian/cpanplus_definstalldirs.diff -p1
22debian/cpanplus_config_path.diff -p1
23fixes/autodie-flock.diff -p1
24debian/devel-ppport-ia64-optim.diff -p1
25fixes/cpanplus-without-home.diff -p1
26debian/arm_optim.diff -p1
27debian/deprecate-with-apt.diff -p1
28fixes/hurd-ccflags.diff -p1
29debian/squelch-locale-warnings.diff -p1
30fixes/lc-numeric-docs.diff -p1
31fixes/lc-numeric-sprintf.diff -p1
32fixes/concat-stack-corruption.diff -p1
33fixes/h2ph-gcc-4.5.diff -p1
34patchlevel -p1
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/squelch-locale-warnings.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/squelch-locale-warnings.diff
new file mode 100644
index 0000000000..eac0fc30c4
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.3/debian/squelch-locale-warnings.diff
@@ -0,0 +1,55 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: Squelch locale warnings in Debian package maintainer scripts
5Bug-Debian: http://bugs.debian.org/508764
6
7The system locales are rather frequently out of sync with the C library
8during package upgrades, causing a huge amount of useless Perl locale
9warnings. Squelch them when running package maintainer scripts, detected
10by the DPKG_RUNNING_VERSION environment variable.
11
12Any real locale problem will show up after the system upgrade too, and
13the warning will be triggered normally again at that point.
14
15---
16 locale.c | 4 ++++
17 pod/perllocale.pod | 8 ++++++++
18 2 files changed, 12 insertions(+), 0 deletions(-)
19
20diff --git a/locale.c b/locale.c
21index 16ccce8..2592b3c 100644
22--- a/locale.c
23+++ b/locale.c
24@@ -359,6 +359,10 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
25 char *p;
26 const bool locwarn = (printwarn > 1 ||
27 (printwarn &&
28+
29+ /* Debian specific change - see http://bugs.debian.org/508764 */
30+ (!PerlEnv_getenv("DPKG_RUNNING_VERSION")) &&
31+
32 (!(p = PerlEnv_getenv("PERL_BADLANG")) || atoi(p))));
33
34 if (locwarn) {
35diff --git a/pod/perllocale.pod b/pod/perllocale.pod
36index 0dbabe7..60b7bab 100644
37--- a/pod/perllocale.pod
38+++ b/pod/perllocale.pod
39@@ -844,6 +844,14 @@ B<NOTE>: PERL_BADLANG only gives you a way to hide the warning message.
40 The message tells about some problem in your system's locale support,
41 and you should investigate what the problem is.
42
43+=item DPKG_RUNNING_VERSION
44+
45+On Debian systems, if the DPKG_RUNNING_VERSION environment variable is
46+set (to any value), the locale failure warnings will be suppressed just
47+like with a zero PERL_BADLANG setting. This is done to avoid floods
48+of spurious warnings during system upgrades.
49+See L<http://bugs.debian.org/508764>.
50+
51 =back
52
53 The following environment variables are not specific to Perl: They are
54--
55tg: (a508b62..) debian/squelch-locale-warnings (depends on: upstream)