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