diff options
Diffstat (limited to 'meta/recipes-devtools/perl/perl-5.12.2/debian')
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 @@ | |||
1 | From: Niko Tyni <ntyni@debian.org> | ||
2 | Description: Downgrade the optimization of sv.c on arm due to a gcc-4.4 bug | ||
3 | Bug-Debian: http://bugs.debian.org/580334 | ||
4 | |||
5 | Regression 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 | |||
14 | diff --git a/cflags.SH b/cflags.SH | ||
15 | index 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 | -- | ||
32 | tg: (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 @@ | |||
1 | Subject: Raise the timeout of ext/threads/shared/t/stress.t to accommodate slower build hosts | ||
2 | Bug-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 | |||
9 | diff --git a/dist/threads-shared/t/stress.t b/dist/threads-shared/t/stress.t | ||
10 | index 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 | -- | ||
23 | tg: (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 @@ | |||
1 | Subject: 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 | |||
8 | diff --git a/cpan/CPAN/lib/CPAN/HandleConfig.pm b/cpan/CPAN/lib/CPAN/HandleConfig.pm | ||
9 | index 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 | -- | ||
22 | tg: (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 @@ | |||
1 | Subject: Provide a sensible INSTALLDIRS default for modules installed from CPAN. | ||
2 | |||
3 | Some modules which are included in core set INSTALLDIRS => 'perl' | ||
4 | explicitly in Makefile.PL or Build.PL. This makes sense for the normal @INC | ||
5 | ordering, but not ours. | ||
6 | |||
7 | |||
8 | --- | ||
9 | cpan/CPAN/lib/CPAN/FirstTime.pm | 4 ++-- | ||
10 | 1 files changed, 2 insertions(+), 2 deletions(-) | ||
11 | |||
12 | diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm | ||
13 | index 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 | -- | ||
35 | tg: (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 @@ | |||
1 | From: Niko Tyni <ntyni@debian.org> | ||
2 | Subject: Save local versions of CPANPLUS::Config::System into /etc/perl. | ||
3 | |||
4 | This is a configuration file and needs to go in /etc by policy. | ||
5 | Besides, /usr may not even be writable. | ||
6 | |||
7 | This mirrors the Debian setup of CPAN.pm in debian/cpan_config_path. | ||
8 | |||
9 | See #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 | |||
16 | diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm b/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm | ||
17 | index 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. | ||
28 | diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm | ||
29 | index 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 | -- | ||
43 | tg: (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 @@ | |||
1 | From: Niko Tyni <ntyni@debian.org> | ||
2 | Subject: Configure CPANPLUS to use the site directories by default. | ||
3 | Closes: 533707 | ||
4 | |||
5 | The core modules usually default to INSTALLDIRS=perl (ExtUtils::MakeMaker) | ||
6 | or installdirs=core (Module::Build), so we need to explicitly ask for | ||
7 | the site destination to get upgraded versions into /usr/local. | ||
8 | |||
9 | See 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 | |||
15 | diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm b/cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm | ||
16 | new file mode 100644 | ||
17 | index 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 | -- | ||
52 | tg: (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 @@ | |||
1 | Subject: Remove overly restrictive DB_File version check. | ||
2 | Bug-Debian: http://bugs.debian.org/340047 | ||
3 | |||
4 | Package 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 | |||
11 | diff --git a/cpan/DB_File/version.c b/cpan/DB_File/version.c | ||
12 | index 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 | -- | ||
32 | tg: (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 @@ | |||
1 | From: Niko Tyni <ntyni@debian.org> | ||
2 | Subject: Point users to Debian packages of deprecated core modules | ||
3 | Bug-Debian: http://bugs.debian.org/580034 | ||
4 | |||
5 | Class::ISA, Switch, Pod::Plainer, and (partially) Shell were | ||
6 | deprecated from the Perl core in 5.12.0. | ||
7 | |||
8 | To get a clean transition, perl-modules is going to recommend the separate | ||
9 | Debian packages of these for one release cycle so that they will be | ||
10 | pulled in by default on upgrades. | ||
11 | |||
12 | However, on systems configured to ignore recommendations the deprecation | ||
13 | warnings will still be useful, so modify them slightly to point to the | ||
14 | separate packages instead. | ||
15 | |||
16 | --- | ||
17 | lib/deprecate.pm | 18 +++++++++++++++++- | ||
18 | 1 files changed, 17 insertions(+), 1 deletions(-) | ||
19 | |||
20 | diff --git a/lib/deprecate.pm b/lib/deprecate.pm | ||
21 | index 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 | -- | ||
59 | tg: (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 @@ | |||
1 | From: Niko Tyni <ntyni@debian.org> | ||
2 | Subject: Work around an ICE on ia64 | ||
3 | Closes: 548943 | ||
4 | |||
5 | Temporarily work around an internal compiler error in Devel::PPPort | ||
6 | on ia64+gcc-4.3. | ||
7 | |||
8 | |||
9 | --- | ||
10 | cpan/Devel-PPPort/Makefile.PL | 7 +++++++ | ||
11 | 1 files changed, 7 insertions(+), 0 deletions(-) | ||
12 | |||
13 | diff --git a/cpan/Devel-PPPort/Makefile.PL b/cpan/Devel-PPPort/Makefile.PL | ||
14 | index 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 | -- | ||
32 | tg: (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 @@ | |||
1 | From: Niko Tyni <ntyni@debian.org> | ||
2 | Subject: Disable zlib bundling in Compress::Raw::Zlib | ||
3 | |||
4 | Compress::Raw::Zlib statically links its bundled version of zlib | ||
5 | by 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 | |||
11 | diff --git a/cpan/Compress-Raw-Zlib/config.in b/cpan/Compress-Raw-Zlib/config.in | ||
12 | index 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 | -- | ||
29 | tg: (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 @@ | |||
1 | Subject: Replace generic man(1) instructions with Debian-specific information. | ||
2 | |||
3 | Indicate 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 | |||
10 | diff --git a/pod/perl.pod b/pod/perl.pod | ||
11 | index 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 | -- | ||
34 | tg: (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 @@ | |||
1 | Subject: Tweak enc2xs to follow symlinks and ignore missing @INC directories. | ||
2 | Bug-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 | |||
12 | diff --git a/cpan/Encode/bin/enc2xs b/cpan/Encode/bin/enc2xs | ||
13 | index 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 | -- | ||
49 | tg: (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 @@ | |||
1 | Subject: Remove Errno version check due to upgrade problems with long-running processes. | ||
2 | Bug-Debian: http://bugs.debian.org/343351 | ||
3 | |||
4 | Remove version check which can cause problems for long running | ||
5 | processes embedding perl when upgrading to a newer version, | ||
6 | compatible, 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 | |||
13 | diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL | ||
14 | index 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 | -- | ||
32 | tg: (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 @@ | |||
1 | Subject: 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 | |||
26 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | ||
27 | index 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}; | ||
63 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
64 | index 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; | ||
174 | diff --git a/cpan/ExtUtils-MakeMaker/t/INST.t b/cpan/ExtUtils-MakeMaker/t/INST.t | ||
175 | index 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 | |||
189 | diff --git a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t | ||
190 | index 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'); | ||
223 | diff --git a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm | ||
224 | index 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); | ||
298 | diff --git a/lib/ExtUtils/Embed.pm b/lib/ExtUtils/Embed.pm | ||
299 | index 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 | -- | ||
313 | tg: (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 @@ | |||
1 | Subject: Postpone LD_LIBRARY_PATH evaluation to the binary targets. | ||
2 | |||
3 | Modify the setting of LD_LIBRARY_PATH to append pre-existing values at the | ||
4 | time the rule is evaluated rather than when the Makefile is created. | ||
5 | |||
6 | This is required when building packages with dpkg-buildpackage and fakeroot, | ||
7 | since fakeroot (which now sets LD_LIBRARY_PATH) is not used for the "build" | ||
8 | rule 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 | |||
15 | diff --git a/Makefile.SH b/Makefile.SH | ||
16 | index 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 | -- | ||
43 | tg: (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 @@ | |||
1 | From: Niko Tyni <ntyni@debian.org> | ||
2 | Subject: Allow for flock returning EAGAIN instead of EWOULDBLOCK on linux/parisc | ||
3 | Bug-Debian: http://bugs.debian.org/543731 | ||
4 | Origin: 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 | |||
12 | diff --git a/cpan/autodie/lib/Fatal.pm b/cpan/autodie/lib/Fatal.pm | ||
13 | old mode 100644 | ||
14 | new mode 100755 | ||
15 | index 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 | |||
60 | diff --git a/cpan/autodie/t/flock.t b/cpan/autodie/t/flock.t | ||
61 | index 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 | -- | ||
98 | tg: (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 @@ | |||
1 | From: Niko Tyni <ntyni@debian.org> | ||
2 | Subject: Fix stack pointer corruption in pp_concat() with 'use encoding' | ||
3 | Bug-Debian: http://bugs.debian.org/596105 | ||
4 | Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=78674 | ||
5 | Origin: upstream, http://perl5.git.perl.org/perl.git/commit/e3393f51d48d8b790e26324eb0336fac9689fa46 | ||
6 | |||
7 | If the stack is reallocated during pp_concat() and 'use encoding' in | ||
8 | effect, the stack pointer gets corrupted, causing memory allocation bugs | ||
9 | and the like. | ||
10 | |||
11 | --- | ||
12 | pp_hot.c | 3 +++ | ||
13 | 1 files changed, 3 insertions(+), 0 deletions(-) | ||
14 | |||
15 | diff --git a/pp_hot.c b/pp_hot.c | ||
16 | index 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 | -- | ||
37 | tg: (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 @@ | |||
1 | From: Niko Tyni <ntyni@debian.org> | ||
2 | Subject: Fix CPANPLUS test failures when HOME doesn't exist | ||
3 | Bug: http://rt.cpan.org/Public/Bug/Display.html?id=52988 | ||
4 | Bug-Debian: http://bugs.debian.org/577011 | ||
5 | Origin: upstream | ||
6 | |||
7 | The Debian autobuilders are configured with a non-existing $ENV{HOME}, | ||
8 | triggering a bug in CPANPLUS that causes test failures. | ||
9 | |||
10 | Fix from CPANPLUS-0.9001. | ||
11 | |||
12 | --- | ||
13 | cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm | 2 +- | ||
14 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
15 | |||
16 | diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm | ||
17 | index 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 | -- | ||
30 | tg: (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 @@ | |||
1 | Author: Robin Barker <rmbarker@cpan.org> | ||
2 | Subject: h2ph fix for gcc 4.5 | ||
3 | Bug-Debian: http://bugs.debian.org/599933 | ||
4 | Origin: upstream, http://perl5.git.perl.org/perl.git/commit/8d66b3f930dc6d88b524d103e304308ae73a46e7 | ||
5 | |||
6 | Fix 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 | |||
14 | diff --git a/lib/h2ph.t b/lib/h2ph.t | ||
15 | index 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 | ||
45 | diff --git a/utils/h2ph.PL b/utils/h2ph.PL | ||
46 | index 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 | -- | ||
106 | tg: (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 @@ | |||
1 | Author: Samuel Thibault <sthibault@debian.org> | ||
2 | Subject: Make hints/gnu.sh append to $ccflags rather than overriding them | ||
3 | Bug-Debian: http://bugs.debian.org/587901 | ||
4 | |||
5 | Don't override possible extra $ccflags values given to Configure | ||
6 | on GNU/Hurd. | ||
7 | |||
8 | --- | ||
9 | hints/gnu.sh | 2 +- | ||
10 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
11 | |||
12 | diff --git a/hints/gnu.sh b/hints/gnu.sh | ||
13 | index 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 | -- | ||
26 | tg: (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 @@ | |||
1 | From: Niko Tyni <ntyni@debian.org> | ||
2 | Subject: LC_NUMERIC documentation fixes | ||
3 | Bug-Debian: http://bugs.debian.org/379329 | ||
4 | Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=78452 | ||
5 | Origin: upstream, http://perl5.git.perl.org/perl.git/commit/903eb63f7d8d47a38971a8e9af7201b9927882cf | ||
6 | |||
7 | LC_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 | |||
16 | Test 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 | |||
23 | diff --git a/pod/perlform.pod b/pod/perlform.pod | ||
24 | index 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 | ||
61 | diff --git a/pod/perllocale.pod b/pod/perllocale.pod | ||
62 | index 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 | -- | ||
95 | tg: (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 @@ | |||
1 | From: Niko Tyni <ntyni@debian.org> | ||
2 | Subject: Fix sprintf not to ignore LC_NUMERIC with constants | ||
3 | Bug-Debian: http://bugs.debian.org/601549 | ||
4 | Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=78632 | ||
5 | Origin: upstream, http://perl5.git.perl.org/perl.git/commit/b3fd61496ebc585b1115807e3195f17714662a09 | ||
6 | |||
7 | Don't fold constants in sprintf() if locales are used | ||
8 | |||
9 | An upstream regression in 5.10.1 made sprintf() ignore LC_NUMERIC for | ||
10 | numeric constants. | ||
11 | |||
12 | --- | ||
13 | op.c | 1 + | ||
14 | 1 files changed, 1 insertions(+), 0 deletions(-) | ||
15 | |||
16 | diff --git a/op.c b/op.c | ||
17 | index 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 | -- | ||
29 | tg: (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 @@ | |||
1 | Subject: Document the Net::SMTP 'Port' option | ||
2 | Bug-Debian: http://bugs.debian.org/100195 | ||
3 | Bug: 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 | |||
10 | diff --git a/cpan/libnet/Net/SMTP.pm b/cpan/libnet/Net/SMTP.pm | ||
11 | index 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 | -- | ||
23 | tg: (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 @@ | |||
1 | Subject: Always use PERLRUNINST when building perl modules. | ||
2 | Bug-Debian: http://bugs.debian.org/357264 | ||
3 | Bug: http://rt.cpan.org/Public/Bug/Display.html?id=17224 | ||
4 | |||
5 | Revert part of upstream change 24524 to always use PERLRUNINST when | ||
6 | building perl modules: Some PDL demos expect blib to be implicitly | ||
7 | searched. | ||
8 | |||
9 | |||
10 | --- | ||
11 | cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 5 +---- | ||
12 | 1 files changed, 1 insertions(+), 4 deletions(-) | ||
13 | |||
14 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
15 | index 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 | -- | ||
43 | tg: (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 @@ | |||
1 | Subject: 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 | |||
8 | diff --git a/cpan/ExtUtils-MakeMaker/bin/instmodsh b/cpan/ExtUtils-MakeMaker/bin/instmodsh | ||
9 | index 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 | -- | ||
26 | tg: (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 @@ | |||
1 | Subject: 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 | |||
8 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm | ||
9 | index 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 | -- | ||
23 | tg: (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 @@ | |||
1 | Subject: 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 | |||
8 | diff --git a/cpan/libnet/Net/Config.pm b/cpan/libnet/Net/Config.pm | ||
9 | index 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 | -- | ||
35 | tg: (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 @@ | |||
1 | Subject: Disable some threads tests on m68k for now due to missing TLS. | ||
2 | Closes: #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 | |||
10 | diff --git a/dist/threads-shared/t/stress.t b/dist/threads-shared/t/stress.t | ||
11 | index 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; | ||
25 | diff --git a/dist/threads-shared/t/waithires.t b/dist/threads-shared/t/waithires.t | ||
26 | index 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 | -- | ||
43 | tg: (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 @@ | |||
1 | Subject: Tweak @INC ordering for Debian | ||
2 | |||
3 | Our 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 | |||
12 | The rationale being that an admin (via site), or module packager | ||
13 | (vendor) can chose to shadow core modules when there is a newer | ||
14 | version than is included in core. | ||
15 | |||
16 | |||
17 | --- | ||
18 | perl.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | ||
19 | 1 files changed, 58 insertions(+), 0 deletions(-) | ||
20 | |||
21 | diff --git a/perl.c b/perl.c | ||
22 | index 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 | -- | ||
98 | tg: (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 @@ | |||
1 | Subject: Adjust Module::Build manual page extensions for the Debian Perl policy | ||
2 | Bug-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 | |||
8 | diff --git a/cpan/Module-Build/lib/Module/Build/Base.pm b/cpan/Module-Build/lib/Module/Build/Base.pm | ||
9 | index 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 | -- | ||
31 | tg: (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 @@ | |||
1 | From: Niko Tyni <ntyni@debian.org> | ||
2 | Subject: Make perlivp skip include directories in /usr/local | ||
3 | Closes: 510895 | ||
4 | |||
5 | On 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 | |||
19 | Signed-off-by: Niko Tyni <ntyni@debian.org> | ||
20 | |||
21 | --- | ||
22 | utils/perlivp.PL | 1 + | ||
23 | 1 files changed, 1 insertions(+), 0 deletions(-) | ||
24 | |||
25 | diff --git a/utils/perlivp.PL b/utils/perlivp.PL | ||
26 | index 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 | -- | ||
38 | tg: (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 @@ | |||
1 | Subject: Prune the list of libraries wanted to what we actually need. | ||
2 | Bug-Debian: http://bugs.debian.org/128355 | ||
3 | |||
4 | We want to keep the dependencies on perl-base as small as possible, | ||
5 | and 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 | |||
12 | diff --git a/Configure b/Configure | ||
13 | index 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 | -- | ||
36 | tg: (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 @@ | |||
1 | From: Niko Tyni <ntyni@debian.org> | ||
2 | Subject: Squelch locale warnings in Debian package maintainer scripts | ||
3 | Bug-Debian: http://bugs.debian.org/508764 | ||
4 | |||
5 | The system locales are rather frequently out of sync with the C library | ||
6 | during package upgrades, causing a huge amount of useless Perl locale | ||
7 | warnings. Squelch them when running package maintainer scripts, detected | ||
8 | by the DPKG_RUNNING_VERSION environment variable. | ||
9 | |||
10 | Any real locale problem will show up after the system upgrade too, and | ||
11 | the 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 | |||
18 | diff --git a/locale.c b/locale.c | ||
19 | index 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) { | ||
33 | diff --git a/pod/perllocale.pod b/pod/perllocale.pod | ||
34 | index 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 | -- | ||
53 | tg: (c823880..) debian/squelch-locale-warnings (depends on: upstream) | ||