diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2015-06-17 00:19:42 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-07-01 15:39:58 +0100 |
commit | 3f7e55baa6b65b39c5698bb58320f85876cebe23 (patch) | |
tree | 398e48b0e167f958d084ce1e8ccf25162ac9f0a8 /meta/recipes-devtools/perl/perl/debian | |
parent | a01d406f6b0d9e08ce6d7408c2928a433fdf1843 (diff) | |
download | poky-3f7e55baa6b65b39c5698bb58320f85876cebe23.tar.gz |
perl: 5.20.0 -> 5.22.0
* Remove:
- perl-5.14.3-fix-CVE-2010-4777.patch: backport
- fix-FF_MORE-crash.patch: backport
- perl-rprovides.inc: it was introduced by 5.8.7, the lines in it are like:
RPROVIDES_perl-module-b-asmdata = "perl-module-${TARGET_SYS}-b-asmdata"
If some packages do RPDEND on something like
perl-module-${TARGET_SYS}-b-asmdatam, we need update the package rather
than keep use RPROVIDES in perl-rprovides.inc, so remove it.
- perl-rprovides_5.20.0.inc: it only has one line:
RPROVIDES_perl-module-module-build, but the perl-module-module-build
is gone in 5.22.0, so remove it.
* Update:
- debian patches from http://ftp.de.debian.org/debian/pool/main/p/perl/perl_5.20.0-1.debian.tar.xz
- Makefile.SH.patch
- Merge 0001-Makefile.SH-fix-do_install-failed.patch into Makefile.SH.patch
- native-nopacklist.patch
- config.sh
* The CGI.pm and Module::Build disappear from core, so no
perl-module-module-build.rpm any more, more info:
http://perltricks.com/article/165/2015/4/10/A-preview-of-Perl-5-22
(From OE-Core rev: 06d43a90acbe63baea62d220659149a3ff2f9198)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/perl/perl/debian')
40 files changed, 2177 insertions, 0 deletions
diff --git a/meta/recipes-devtools/perl/perl/debian/cpan-missing-site-dirs.diff b/meta/recipes-devtools/perl/perl/debian/cpan-missing-site-dirs.diff new file mode 100644 index 0000000000..a63b968317 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/cpan-missing-site-dirs.diff | |||
@@ -0,0 +1,62 @@ | |||
1 | From d33d46963035ef726144dc66be2ae9c00aec0333 Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Tue, 16 Oct 2012 23:07:56 +0300 | ||
4 | Subject: Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent | ||
5 | is writable | ||
6 | |||
7 | The site directories do not exist on a typical Debian system. The build | ||
8 | systems will create them when necessary, so there's no need for a prompt | ||
9 | suggesting local::lib if the first existing parent directory is writable. | ||
10 | |||
11 | Also, writability of the core directories is not interesting as we | ||
12 | explicitly tell CPAN not to touch those with INSTALLDIRS=site. | ||
13 | |||
14 | Bug-Debian: http://bugs.debian.org/688842 | ||
15 | Patch-Name: debian/cpan-missing-site-dirs.diff | ||
16 | --- | ||
17 | cpan/CPAN/lib/CPAN/FirstTime.pm | 31 +++++++++++++++++++++++++++---- | ||
18 | 1 file changed, 27 insertions(+), 4 deletions(-) | ||
19 | |||
20 | diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm | ||
21 | index 33054cd..7b0becf 100644 | ||
22 | --- a/cpan/CPAN/lib/CPAN/FirstTime.pm | ||
23 | +++ b/cpan/CPAN/lib/CPAN/FirstTime.pm | ||
24 | @@ -2057,11 +2057,34 @@ sub _print_urllist { | ||
25 | }; | ||
26 | } | ||
27 | |||
28 | +# Debian modification: return true if this directory | ||
29 | +# or the first existing one upwards is writable | ||
30 | +sub _can_write_to_this_or_parent { | ||
31 | + my ($dir) = @_; | ||
32 | + my @parts = File::Spec->splitdir($dir); | ||
33 | + while (@parts) { | ||
34 | + my $cur = File::Spec->catdir(@parts); | ||
35 | + return 1 if -w $cur; | ||
36 | + return 0 if -e _; | ||
37 | + pop @parts; | ||
38 | + } | ||
39 | + return 0; | ||
40 | +} | ||
41 | + | ||
42 | +# Debian specific modification: the site directories don't necessarily | ||
43 | +# exist on the system, but the build systems create them when necessary, | ||
44 | +# so return true if the first existing directory upwards is writable | ||
45 | +# | ||
46 | +# Furthermore, on Debian, only test the site directories | ||
47 | +# (installsite*, expanded to /usr/local/{share,lib}/perl), | ||
48 | +# not the core ones | ||
49 | +# (install*lib, expanded to /usr/{share,lib}/perl). | ||
50 | +# We pass INSTALLDIRS=site by default to keep CPAN from touching | ||
51 | +# the core directories. | ||
52 | + | ||
53 | sub _can_write_to_libdirs { | ||
54 | - return -w $Config{installprivlib} | ||
55 | - && -w $Config{installarchlib} | ||
56 | - && -w $Config{installsitelib} | ||
57 | - && -w $Config{installsitearch} | ||
58 | + return _can_write_to_this_or_parent($Config{installsitelib}) | ||
59 | + && _can_write_to_this_or_parent($Config{installsitearch}) | ||
60 | } | ||
61 | |||
62 | sub _using_installbase { | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/cpan_definstalldirs.diff b/meta/recipes-devtools/perl/perl/debian/cpan_definstalldirs.diff new file mode 100644 index 0000000000..6b5295045c --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/cpan_definstalldirs.diff | |||
@@ -0,0 +1,37 @@ | |||
1 | From 5ff1f21484aab68efe321ff4ba5d35928f72af96 Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 | ||
4 | Subject: Provide a sensible INSTALLDIRS default for modules installed from | ||
5 | CPAN. | ||
6 | |||
7 | Some modules which are included in core set INSTALLDIRS => 'perl' | ||
8 | explicitly in Makefile.PL or Build.PL. This makes sense for the normal @INC | ||
9 | ordering, but not ours. | ||
10 | |||
11 | Patch-Name: debian/cpan_definstalldirs.diff | ||
12 | --- | ||
13 | cpan/CPAN/lib/CPAN/FirstTime.pm | 4 ++-- | ||
14 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
15 | |||
16 | diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm | ||
17 | index 918e009..33054cd 100644 | ||
18 | --- a/cpan/CPAN/lib/CPAN/FirstTime.pm | ||
19 | +++ b/cpan/CPAN/lib/CPAN/FirstTime.pm | ||
20 | @@ -1024,7 +1024,7 @@ sub init { | ||
21 | my_prompt_loop(prefer_installer => 'MB', $matcher, 'MB|EUMM|RAND'); | ||
22 | |||
23 | if (!$matcher or 'makepl_arg make_arg' =~ /$matcher/) { | ||
24 | - my_dflt_prompt(makepl_arg => "", $matcher); | ||
25 | + my_dflt_prompt(makepl_arg => "INSTALLDIRS=site", $matcher); | ||
26 | my_dflt_prompt(make_arg => "", $matcher); | ||
27 | if ( $CPAN::Config->{makepl_arg} =~ /LIBS=|INC=/ ) { | ||
28 | $CPAN::Frontend->mywarn( | ||
29 | @@ -1056,7 +1056,7 @@ sub init { | ||
30 | my_dflt_prompt(make_install_arg => $CPAN::Config->{make_arg} || "", | ||
31 | $matcher); | ||
32 | |||
33 | - my_dflt_prompt(mbuildpl_arg => "", $matcher); | ||
34 | + my_dflt_prompt(mbuildpl_arg => "--installdirs site", $matcher); | ||
35 | my_dflt_prompt(mbuild_arg => "", $matcher); | ||
36 | |||
37 | if (exists $CPAN::HandleConfig::keys{mbuild_install_build_command} | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/db_file_ver.diff b/meta/recipes-devtools/perl/perl/debian/db_file_ver.diff new file mode 100644 index 0000000000..280bf11706 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/db_file_ver.diff | |||
@@ -0,0 +1,34 @@ | |||
1 | From 01421f8a80d5c623959695ba2b8167f30112d333 Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Fri, 16 Dec 2005 01:32:14 +1100 | ||
4 | Subject: Remove overly restrictive DB_File version check. | ||
5 | |||
6 | Bug-Debian: http://bugs.debian.org/340047 | ||
7 | |||
8 | Package dependencies ensure the correct library is linked at run-time. | ||
9 | |||
10 | Patch-Name: debian/db_file_ver.diff | ||
11 | --- | ||
12 | cpan/DB_File/version.c | 2 ++ | ||
13 | 1 file changed, 2 insertions(+) | ||
14 | |||
15 | diff --git a/cpan/DB_File/version.c b/cpan/DB_File/version.c | ||
16 | index e01f6f6..544e6ee 100644 | ||
17 | --- a/cpan/DB_File/version.c | ||
18 | +++ b/cpan/DB_File/version.c | ||
19 | @@ -48,6 +48,7 @@ __getBerkeleyDBInfo() | ||
20 | |||
21 | (void)db_version(&Major, &Minor, &Patch) ; | ||
22 | |||
23 | +#ifndef DEBIAN | ||
24 | /* Check that the versions of db.h and libdb.a are the same */ | ||
25 | if (Major != DB_VERSION_MAJOR || Minor != DB_VERSION_MINOR ) | ||
26 | /* || Patch != DB_VERSION_PATCH) */ | ||
27 | @@ -55,6 +56,7 @@ __getBerkeleyDBInfo() | ||
28 | croak("\nDB_File was build with libdb version %d.%d.%d,\nbut you are attempting to run it with libdb version %d.%d.%d\n", | ||
29 | DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH, | ||
30 | Major, Minor, Patch) ; | ||
31 | +#endif /* DEBIAN */ | ||
32 | |||
33 | /* check that libdb is recent enough -- we need 2.3.4 or greater */ | ||
34 | if (Major == 2 && (Minor < 3 || (Minor == 3 && Patch < 4))) | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/deprecate-with-apt.diff b/meta/recipes-devtools/perl/perl/debian/deprecate-with-apt.diff new file mode 100644 index 0000000000..601ee4c304 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/deprecate-with-apt.diff | |||
@@ -0,0 +1,56 @@ | |||
1 | From def4aa3817f98aae625e601b791ef068276f05d5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Dominic Hargreaves <dom@earth.li> | ||
3 | Date: Mon, 17 May 2010 13:23:07 +0300 | ||
4 | Subject: Point users to Debian packages of deprecated core modules | ||
5 | |||
6 | Bug-Debian: http://bugs.debian.org/747628 | ||
7 | |||
8 | Several modules are being deprecated with perl 5.20. | ||
9 | To get a clean transition, perl/perl-modules is going to recommend the | ||
10 | separate Debian packages of these for one release cycle so that they will be | ||
11 | pulled in by default on upgrades. This is taking place for perl 5.20/jessie. | ||
12 | |||
13 | However, on systems configured to ignore recommendations the deprecation | ||
14 | warnings will still be useful, so modify them slightly to point to the | ||
15 | separate packages instead. | ||
16 | |||
17 | Patch-Name: debian/deprecate-with-apt.diff | ||
18 | --- | ||
19 | lib/deprecate.pm | 15 ++++++++++++++- | ||
20 | 1 file changed, 14 insertions(+), 1 deletion(-) | ||
21 | |||
22 | diff --git a/lib/deprecate.pm b/lib/deprecate.pm | ||
23 | index 47bc112..b0c61df 100644 | ||
24 | --- a/lib/deprecate.pm | ||
25 | +++ b/lib/deprecate.pm | ||
26 | @@ -7,6 +7,13 @@ our $VERSION = 0.03; | ||
27 | our %Config; | ||
28 | unless (%Config) { require Config; *Config = \%Config::Config; } | ||
29 | |||
30 | +# Debian-specific change: recommend the separate Debian packages of | ||
31 | +# deprecated modules where available | ||
32 | + | ||
33 | +our %DEBIAN_PACKAGES = ( | ||
34 | + # None for the perl 5.22 cycle | ||
35 | +); | ||
36 | + | ||
37 | # This isn't a public API. It's internal to code maintained by the perl-porters | ||
38 | # If you would like it to be a public API, please send a patch with | ||
39 | # documentation and tests. Until then, it may change without warning. | ||
40 | @@ -58,9 +65,15 @@ EOM | ||
41 | if (defined $callers_bitmask | ||
42 | && (vec($callers_bitmask, $warnings::Offsets{deprecated}, 1) | ||
43 | || vec($callers_bitmask, $warnings::Offsets{all}, 1))) { | ||
44 | - warn <<"EOM"; | ||
45 | + if (my $deb = $DEBIAN_PACKAGES{$package}) { | ||
46 | + warn <<"EOM"; | ||
47 | +$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. | ||
48 | +EOM | ||
49 | + } else { | ||
50 | + warn <<"EOM"; | ||
51 | $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. | ||
52 | EOM | ||
53 | + } | ||
54 | } | ||
55 | } | ||
56 | } | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/doc_info.diff b/meta/recipes-devtools/perl/perl/debian/doc_info.diff new file mode 100644 index 0000000000..fbea2ee228 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/doc_info.diff | |||
@@ -0,0 +1,35 @@ | |||
1 | From e18f81e69c55d698abd293e71063d6b6b275cc07 Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Fri, 18 Mar 2005 22:22:25 +1100 | ||
4 | Subject: Replace generic man(1) instructions with Debian-specific information. | ||
5 | |||
6 | Indicate that the user needs to install the perl-doc package. | ||
7 | |||
8 | Patch-Name: debian/doc_info.diff | ||
9 | --- | ||
10 | pod/perl.pod | 12 ++++++++++-- | ||
11 | 1 file changed, 10 insertions(+), 2 deletions(-) | ||
12 | |||
13 | diff --git a/pod/perl.pod b/pod/perl.pod | ||
14 | index 364e957..f97e103 100644 | ||
15 | --- a/pod/perl.pod | ||
16 | +++ b/pod/perl.pod | ||
17 | @@ -291,8 +291,16 @@ aux c2ph h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp | ||
18 | |||
19 | =for buildtoc __END__ | ||
20 | |||
21 | -On a Unix-like system, these documentation files will usually also be | ||
22 | -available as manpages for use with the F<man> program. | ||
23 | +On Debian systems, you need to install the B<perl-doc> package which | ||
24 | +contains the majority of the standard Perl documentation and the | ||
25 | +F<perldoc> program. | ||
26 | + | ||
27 | +Extensive additional documentation for Perl modules is available, both | ||
28 | +those distributed with Perl and third-party modules which are packaged | ||
29 | +or locally installed. | ||
30 | + | ||
31 | +You should be able to view Perl's documentation with your man(1) | ||
32 | +program or perldoc(1). | ||
33 | |||
34 | Some documentation is not available as man pages, so if a | ||
35 | cross-reference is not found by man, try it with L<perldoc>. Perldoc can | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/enc2xs_inc.diff b/meta/recipes-devtools/perl/perl/debian/enc2xs_inc.diff new file mode 100644 index 0000000000..e074b20fdf --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/enc2xs_inc.diff | |||
@@ -0,0 +1,70 @@ | |||
1 | From 7fe59a3d0601c6d8634eae4f99dae3024cd02a92 Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 | ||
4 | Subject: Tweak enc2xs to follow symlinks and ignore missing @INC directories. | ||
5 | |||
6 | Bug-Debian: http://bugs.debian.org/290336 | ||
7 | |||
8 | - ignore missing directories, | ||
9 | - follow symlinks (/usr/share/perl/5.8 -> 5.8.4). | ||
10 | - filter "." out when running "enc2xs -C", it's unnecessary and causes | ||
11 | issues with follow => 1 (see #603686 and [rt.cpan.org #64585]) | ||
12 | |||
13 | Patch-Name: debian/enc2xs_inc.diff | ||
14 | --- | ||
15 | cpan/Encode/bin/enc2xs | 8 ++++---- | ||
16 | t/porting/customized.t | 3 +++ | ||
17 | 2 files changed, 7 insertions(+), 4 deletions(-) | ||
18 | |||
19 | diff --git a/cpan/Encode/bin/enc2xs b/cpan/Encode/bin/enc2xs | ||
20 | index 19f2b2b..4d64e38 100644 | ||
21 | --- a/cpan/Encode/bin/enc2xs | ||
22 | +++ b/cpan/Encode/bin/enc2xs | ||
23 | @@ -944,11 +944,11 @@ use vars qw( | ||
24 | sub find_e2x{ | ||
25 | eval { require File::Find; }; | ||
26 | my (@inc, %e2x_dir); | ||
27 | - for my $inc (@INC){ | ||
28 | + for my $inc (grep -d, @INC){ | ||
29 | push @inc, $inc unless $inc eq '.'; #skip current dir | ||
30 | } | ||
31 | File::Find::find( | ||
32 | - sub { | ||
33 | + { wanted => sub { | ||
34 | my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, | ||
35 | $atime,$mtime,$ctime,$blksize,$blocks) | ||
36 | = lstat($_) or return; | ||
37 | @@ -958,7 +958,7 @@ sub find_e2x{ | ||
38 | $e2x_dir{$File::Find::dir} ||= $mtime; | ||
39 | } | ||
40 | return; | ||
41 | - }, @inc); | ||
42 | + }, follow => 1}, @inc); | ||
43 | warn join("\n", keys %e2x_dir), "\n"; | ||
44 | for my $d (sort {$e2x_dir{$a} <=> $e2x_dir{$b}} keys %e2x_dir){ | ||
45 | $_E2X = $d; | ||
46 | @@ -1025,7 +1025,7 @@ sub make_configlocal_pm { | ||
47 | $LocalMod{$enc} ||= $mod; | ||
48 | } | ||
49 | }; | ||
50 | - File::Find::find({wanted => $wanted}, @INC); | ||
51 | + File::Find::find({wanted => $wanted, follow => 1}, grep -d && !/^\./, @INC); | ||
52 | $_ModLines = ""; | ||
53 | for my $enc ( sort keys %LocalMod ) { | ||
54 | $_ModLines .= | ||
55 | diff --git a/t/porting/customized.t b/t/porting/customized.t | ||
56 | index 45fcafb..3bd6adb 100644 | ||
57 | --- a/t/porting/customized.t | ||
58 | +++ b/t/porting/customized.t | ||
59 | @@ -101,8 +101,11 @@ foreach my $module ( sort keys %Modules ) { | ||
60 | print $data_fh join(' ', $module, $file, $id), "\n"; | ||
61 | next; | ||
62 | } | ||
63 | +SKIP: { | ||
64 | + skip("$file modified for Debian", 1) if $file eq 'cpan/Encode/bin/enc2xs'; | ||
65 | my $should_be = $customised{ $module }->{ $file }; | ||
66 | is( $id, $should_be, "SHA for $file matches stashed SHA" ); | ||
67 | +} | ||
68 | } | ||
69 | } | ||
70 | |||
diff --git a/meta/recipes-devtools/perl/perl/debian/errno_ver.diff b/meta/recipes-devtools/perl/perl/debian/errno_ver.diff new file mode 100644 index 0000000000..bcb59c69e0 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/errno_ver.diff | |||
@@ -0,0 +1,35 @@ | |||
1 | From 827eee225897c35ec97194a5971bf4bfcf250748 Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Fri, 16 Dec 2005 01:32:14 +1100 | ||
4 | Subject: Remove Errno version check due to upgrade problems with long-running | ||
5 | processes. | ||
6 | |||
7 | Bug-Debian: http://bugs.debian.org/343351 | ||
8 | |||
9 | Remove version check which can cause problems for long running | ||
10 | processes embedding perl when upgrading to a newer version, | ||
11 | compatible, but built on a different machine. | ||
12 | |||
13 | Patch-Name: debian/errno_ver.diff | ||
14 | --- | ||
15 | ext/Errno/Errno_pm.PL | 5 ----- | ||
16 | 1 file changed, 5 deletions(-) | ||
17 | |||
18 | diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL | ||
19 | index c6bfa06..519e5c7 100644 | ||
20 | --- a/ext/Errno/Errno_pm.PL | ||
21 | +++ b/ext/Errno/Errno_pm.PL | ||
22 | @@ -278,13 +278,8 @@ sub write_errno_pm { | ||
23 | |||
24 | package Errno; | ||
25 | require Exporter; | ||
26 | -use Config; | ||
27 | use strict; | ||
28 | |||
29 | -"\$Config{'archname'}-\$Config{'osvers'}" eq | ||
30 | -"$archname-$Config{'osvers'}" or | ||
31 | - die "Errno architecture ($archname-$Config{'osvers'}) does not match executable architecture (\$Config{'archname'}-\$Config{'osvers'})"; | ||
32 | - | ||
33 | our \$VERSION = "$VERSION"; | ||
34 | \$VERSION = eval \$VERSION; | ||
35 | our \@ISA = 'Exporter'; | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/extutils_set_libperl_path.diff b/meta/recipes-devtools/perl/perl/debian/extutils_set_libperl_path.diff new file mode 100644 index 0000000000..adb4bd9910 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/extutils_set_libperl_path.diff | |||
@@ -0,0 +1,37 @@ | |||
1 | From 431275078b0490d2e092442d9582be06bb95b354 Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Sat, 10 May 2014 23:34:14 +0300 | ||
4 | Subject: EU:MM: set location of libperl.a under /usr/lib | ||
5 | |||
6 | The Debian packaging moves libperl.a a couple of levels up from the | ||
7 | CORE directory to match other static libraries. | ||
8 | |||
9 | Patch-Name: debian/extutils_set_libperl_path.diff | ||
10 | --- | ||
11 | cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +- | ||
12 | pp.c | 2 +- | ||
13 | 2 files changed, 2 insertions(+), 2 deletions(-) | ||
14 | |||
15 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
16 | index 5f1b87f..570a631 100644 | ||
17 | --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
18 | +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
19 | @@ -2505,7 +2505,7 @@ MAP_PRELIBS = $Config{perllibs} $Config{cryptlib} | ||
20 | ($lperl = $libperl) =~ s/\$\(A\)/$self->{LIB_EXT}/; | ||
21 | } | ||
22 | unless ($libperl && -f $lperl) { # Ilya's code... | ||
23 | - my $dir = $self->{PERL_SRC} || "$self->{PERL_ARCHLIB}/CORE"; | ||
24 | + my $dir = $self->{PERL_SRC} || "$self->{PERL_ARCHLIB}/../.."; | ||
25 | $dir = "$self->{PERL_ARCHLIB}/.." if $self->{UNINSTALLED_PERL}; | ||
26 | $libperl ||= "libperl$self->{LIB_EXT}"; | ||
27 | $libperl = "$dir/$libperl"; | ||
28 | diff --git a/pp.c b/pp.c | ||
29 | index 42f156a..77c1279 100644 | ||
30 | --- a/pp.c | ||
31 | +++ b/pp.c | ||
32 | @@ -1,4 +1,4 @@ | ||
33 | -/* pp.c | ||
34 | + /* pp.c | ||
35 | * | ||
36 | * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, | ||
37 | * 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by Larry Wall and others | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/fakeroot.diff b/meta/recipes-devtools/perl/perl/debian/fakeroot.diff new file mode 100644 index 0000000000..ec461cfe52 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/fakeroot.diff | |||
@@ -0,0 +1,42 @@ | |||
1 | From 27ae7b18078d801a2c943aa6de2f7e9808177251 Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Fri, 18 Mar 2005 22:22:25 +1100 | ||
4 | Subject: Postpone LD_LIBRARY_PATH evaluation to the binary targets. | ||
5 | |||
6 | Modify the setting of LD_LIBRARY_PATH to append pre-existing values at the | ||
7 | time the rule is evaluated rather than when the Makefile is created. | ||
8 | |||
9 | This is required when building packages with dpkg-buildpackage and fakeroot, | ||
10 | since fakeroot (which now sets LD_LIBRARY_PATH) is not used for the "build" | ||
11 | rule where the Makefile is created, but is for the clean/binary* targets. | ||
12 | |||
13 | Patch-Name: debian/fakeroot.diff | ||
14 | --- | ||
15 | Makefile.SH | 7 ++----- | ||
16 | 1 file changed, 2 insertions(+), 5 deletions(-) | ||
17 | |||
18 | diff --git a/Makefile.SH b/Makefile.SH | ||
19 | index 034d812..04dd7d5 100755 | ||
20 | --- a/Makefile.SH | ||
21 | +++ b/Makefile.SH | ||
22 | @@ -39,10 +39,7 @@ case "$useshrplib" in | ||
23 | true) | ||
24 | # Prefix all runs of 'miniperl' and 'perl' with | ||
25 | # $ldlibpth so that ./perl finds *this* shared libperl. | ||
26 | - case "$LD_LIBRARY_PATH" in | ||
27 | - '') ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `" ;; | ||
28 | - *) ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `:` quote "$LD_LIBRARY_PATH" `" ;; | ||
29 | - esac | ||
30 | + ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `"'$${LD_LIBRARY_PATH:+:}$$LD_LIBRARY_PATH' | ||
31 | |||
32 | pldlflags="$cccdlflags" | ||
33 | static_ldflags='' | ||
34 | @@ -113,7 +110,7 @@ true) | ||
35 | ;; | ||
36 | esac | ||
37 | case "$ldlibpthname" in | ||
38 | - '') ;; | ||
39 | + ''|LD_LIBRARY_PATH) ;; | ||
40 | *) | ||
41 | case "$osname" in | ||
42 | os2) | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/find_html2text.diff b/meta/recipes-devtools/perl/perl/debian/find_html2text.diff new file mode 100644 index 0000000000..d319e7518b --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/find_html2text.diff | |||
@@ -0,0 +1,35 @@ | |||
1 | From c81dbdedff9e9b4fb75ac028aa718838c0292d2f Mon Sep 17 00:00:00 2001 | ||
2 | From: Andreas Marschke <andreas.marschke@googlemail.com> | ||
3 | Date: Sat, 17 Sep 2011 11:38:42 +0100 | ||
4 | Subject: Configure CPAN::Distribution with correct name of html2text | ||
5 | |||
6 | Bug-Debian: http://bugs.debian.org/640479 | ||
7 | Patch-Name: debian/find_html2text.diff | ||
8 | |||
9 | If you use cpan from Debian you usually wind up trying to read online | ||
10 | documentation through it. Unfortunately cpan can't find the | ||
11 | html2text.pl script even though it is installed using the Debian | ||
12 | package 'html2text'. | ||
13 | |||
14 | Please see the attached patch for a quick fix of this issue. | ||
15 | |||
16 | [Maintainer's note: html2text in Debian is not the same implementation | ||
17 | as the html2text.pl which is expected, but should provide similar | ||
18 | functionality]. | ||
19 | --- | ||
20 | cpan/CPAN/lib/CPAN/Distribution.pm | 2 +- | ||
21 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
22 | |||
23 | diff --git a/cpan/CPAN/lib/CPAN/Distribution.pm b/cpan/CPAN/lib/CPAN/Distribution.pm | ||
24 | index 092b781..5c2bae1 100644 | ||
25 | --- a/cpan/CPAN/lib/CPAN/Distribution.pm | ||
26 | +++ b/cpan/CPAN/lib/CPAN/Distribution.pm | ||
27 | @@ -4099,7 +4099,7 @@ sub _display_url { | ||
28 | if $CPAN::DEBUG; | ||
29 | |||
30 | # should we define it in the config instead? | ||
31 | - my $html_converter = "html2text.pl"; | ||
32 | + my $html_converter = "html2text"; | ||
33 | |||
34 | my $web_browser = $CPAN::Config->{'lynx'} || undef; | ||
35 | my $web_browser_out = $web_browser | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/fixes/document_makemaker_ccflags.diff b/meta/recipes-devtools/perl/perl/debian/fixes/document_makemaker_ccflags.diff new file mode 100644 index 0000000000..61a92712e7 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/fixes/document_makemaker_ccflags.diff | |||
@@ -0,0 +1,31 @@ | |||
1 | From 9faf6dcc3a5c4154484d812eb3cc3dd78b35563b Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Mon, 30 May 2011 22:54:24 +0300 | ||
4 | Subject: Document that CCFLAGS should include $Config{ccflags} | ||
5 | |||
6 | Bug: https://rt.cpan.org/Public/Bug/Display.html?id=68613 | ||
7 | Bug-Debian: http://bugs.debian.org/628522 | ||
8 | |||
9 | Compiling XS extensions without $Config{ccflags} can break the | ||
10 | binary interface on some platforms. | ||
11 | |||
12 | Patch-Name: fixes/document_makemaker_ccflags.diff | ||
13 | --- | ||
14 | cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm | 4 ++++ | ||
15 | 1 file changed, 4 insertions(+) | ||
16 | |||
17 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm | ||
18 | index fe95b27..90403e8 100644 | ||
19 | --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm | ||
20 | +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm | ||
21 | @@ -1774,6 +1774,10 @@ currently used by MakeMaker but may be handy in Makefile.PLs. | ||
22 | String that will be included in the compiler call command line between | ||
23 | the arguments INC and OPTIMIZE. | ||
24 | |||
25 | +The default value is taken from $Config{ccflags}. When overriding | ||
26 | +CCFLAGS, make sure to include the $Config{ccflags} settings to avoid | ||
27 | +binary incompatibilities. | ||
28 | + | ||
29 | =item CONFIG | ||
30 | |||
31 | Arrayref. E.g. [qw(archname manext)] defines ARCHNAME & MANEXT from | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/fixes/memoize_storable_nstore.diff b/meta/recipes-devtools/perl/perl/debian/fixes/memoize_storable_nstore.diff new file mode 100644 index 0000000000..525f962c1a --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/fixes/memoize_storable_nstore.diff | |||
@@ -0,0 +1,110 @@ | |||
1 | From 55d430eb02fc116581847304ca20321687978269 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jonathan Nieder <jrnieder@gmail.com> | ||
3 | Date: Fri, 27 Jul 2012 10:35:07 -0500 | ||
4 | Subject: Memoize::Storable: respect 'nstore' option not respected | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Memoize(3perl) says: | ||
10 | |||
11 | tie my %cache => 'Memoize::Storable', $filename, 'nstore'; | ||
12 | memoize 'function', SCALAR_CACHE => [HASH => \%cache]; | ||
13 | |||
14 | Include the ‘nstore’ option to have the "Storable" database | ||
15 | written in ‘network order’. (See Storable for more details | ||
16 | about this.) | ||
17 | |||
18 | In fact the "nstore" option does no such thing. Option parsing looks | ||
19 | like this: | ||
20 | |||
21 | @options{@_} = (); | ||
22 | |||
23 | $self->{OPTIONS}{'nstore'} is accordingly set to undef. Later | ||
24 | Memoize::Storable checks if the option is true, and since undef is | ||
25 | not true, the "else" branch is always taken. | ||
26 | |||
27 | if ($self->{OPTIONS}{'nstore'}) { | ||
28 | Storable::nstore($self->{H}, $self->{FILENAME}); | ||
29 | } else { | ||
30 | Storable::store($self->{H}, $self->{FILENAME}); | ||
31 | } | ||
32 | |||
33 | Correcting the condition to (exists $self->{OPTIONS}{'nstore'}) fixes | ||
34 | it. | ||
35 | |||
36 | Noticed because git-svn, which uses the 'nstore' option for its | ||
37 | on-disk caches, was producing | ||
38 | |||
39 | Byte order is not compatible at ../../lib/Storable.pm | ||
40 | |||
41 | when run using a perl with a different integer size (and hence | ||
42 | byteorder). | ||
43 | |||
44 | Reported by Tim Retout (RT#77790) | ||
45 | |||
46 | Bug-Debian: http://bugs.debian.org/587650 | ||
47 | Bug: https://rt.cpan.org/Public/Bug/Display.html?id=77790 | ||
48 | Forwarded: https://rt.cpan.org/Public/Bug/Display.html?id=77790 | ||
49 | Patch-Name: fixes/memoize_storable_nstore.diff | ||
50 | --- | ||
51 | cpan/Memoize/Memoize/Storable.pm | 2 +- | ||
52 | cpan/Memoize/t/tie_storable.t | 24 ++++++++++++++++++++---- | ||
53 | 2 files changed, 21 insertions(+), 5 deletions(-) | ||
54 | |||
55 | diff --git a/cpan/Memoize/Memoize/Storable.pm b/cpan/Memoize/Memoize/Storable.pm | ||
56 | index 1314797..87876f2 100644 | ||
57 | --- a/cpan/Memoize/Memoize/Storable.pm | ||
58 | +++ b/cpan/Memoize/Memoize/Storable.pm | ||
59 | @@ -55,7 +55,7 @@ sub DESTROY { | ||
60 | require Carp if $Verbose; | ||
61 | my $self= shift; | ||
62 | print STDERR "Memoize::Storable::DESTROY(@_)\n" if $Verbose; | ||
63 | - if ($self->{OPTIONS}{'nstore'}) { | ||
64 | + if (exists $self->{OPTIONS}{'nstore'}) { | ||
65 | Storable::nstore($self->{H}, $self->{FILENAME}); | ||
66 | } else { | ||
67 | Storable::store($self->{H}, $self->{FILENAME}); | ||
68 | diff --git a/cpan/Memoize/t/tie_storable.t b/cpan/Memoize/t/tie_storable.t | ||
69 | index de3b8dc..a624238 100644 | ||
70 | --- a/cpan/Memoize/t/tie_storable.t | ||
71 | +++ b/cpan/Memoize/t/tie_storable.t | ||
72 | @@ -31,18 +31,34 @@ if ($@) { | ||
73 | exit 0; | ||
74 | } | ||
75 | |||
76 | -print "1..4\n"; | ||
77 | +print "1..9\n"; | ||
78 | |||
79 | $file = "storable$$"; | ||
80 | 1 while unlink $file; | ||
81 | tryout('Memoize::Storable', $file, 1); # Test 1..4 | ||
82 | 1 while unlink $file; | ||
83 | +tryout('Memoize::Storable', $file, 5, 'nstore'); # Test 5..8 | ||
84 | +assert_netorder($file, 9); # Test 9 | ||
85 | +1 while unlink $file; | ||
86 | + | ||
87 | + | ||
88 | +sub assert_netorder { | ||
89 | + my ($file, $testno) = @_; | ||
90 | + | ||
91 | + my $netorder = Storable::file_magic($file)->{'netorder'}; | ||
92 | + print ($netorder ? "ok $testno\n" : "not ok $testno\n"); | ||
93 | +} | ||
94 | |||
95 | sub tryout { | ||
96 | - my ($tiepack, $file, $testno) = @_; | ||
97 | + my ($tiepack, $file, $testno, $option) = @_; | ||
98 | |||
99 | - tie my %cache => $tiepack, $file | ||
100 | - or die $!; | ||
101 | + if (defined $option) { | ||
102 | + tie my %cache => $tiepack, $file, $option | ||
103 | + or die $!; | ||
104 | + } else { | ||
105 | + tie my %cache => $tiepack, $file | ||
106 | + or die $!; | ||
107 | + } | ||
108 | |||
109 | memoize 'c5', | ||
110 | SCALAR_CACHE => [HASH => \%cache], | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/fixes/net_smtp_docs.diff b/meta/recipes-devtools/perl/perl/debian/fixes/net_smtp_docs.diff new file mode 100644 index 0000000000..3c31972c64 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/fixes/net_smtp_docs.diff | |||
@@ -0,0 +1,25 @@ | |||
1 | From fa085fedd9c406edcd4a1a256c025d5ff7f6c6de Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Thu, 20 Sep 2007 19:47:14 +1000 | ||
4 | Subject: Document the Net::SMTP 'Port' option | ||
5 | |||
6 | Bug-Debian: http://bugs.debian.org/100195 | ||
7 | Bug: http://rt.cpan.org/Public/Bug/Display.html?id=36038 | ||
8 | |||
9 | Patch-Name: fixes/net_smtp_docs.diff | ||
10 | --- | ||
11 | cpan/libnet/lib/Net/SMTP.pm | 1 + | ||
12 | 1 file changed, 1 insertion(+) | ||
13 | |||
14 | diff --git a/cpan/libnet/lib/Net/SMTP.pm b/cpan/libnet/lib/Net/SMTP.pm | ||
15 | index afd017a..6ae7d9e 100644 | ||
16 | --- a/cpan/libnet/lib/Net/SMTP.pm | ||
17 | +++ b/cpan/libnet/lib/Net/SMTP.pm | ||
18 | @@ -738,6 +738,7 @@ Net::SMTP will attempt to extract the address from the value passed. | ||
19 | |||
20 | B<Debug> - Enable debugging information | ||
21 | |||
22 | +B<Port> - Select a port on the remote host to connect to (default is 25) | ||
23 | |||
24 | Example: | ||
25 | |||
diff --git a/meta/recipes-devtools/perl/perl/debian/fixes/perl-Cnn.diff b/meta/recipes-devtools/perl/perl/debian/fixes/perl-Cnn.diff new file mode 100644 index 0000000000..b5564fdbc0 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/fixes/perl-Cnn.diff | |||
@@ -0,0 +1,73 @@ | |||
1 | From 0ecf83f259db09cb38cb37c9b22e72be185afa8f Mon Sep 17 00:00:00 2001 | ||
2 | From: Hugo van der Sanden <hv@crypt.org> | ||
3 | Date: Thu, 11 Jun 2015 12:25:40 +0100 | ||
4 | Subject: fix -Cnn parsing | ||
5 | |||
6 | Commit 22ff313068 for [perl #123814] inadvertently changed the logic when | ||
7 | parsing a numeric parameter to the -C option, such that the successfully | ||
8 | parsed number was not saved as the option value if it parsed to the end | ||
9 | of the argument. | ||
10 | |||
11 | Bug: https://rt.perl.org/Ticket/Display.html?id=125381 | ||
12 | Bug-Debian: https://bugs.debian.org/788636 | ||
13 | Origin: upstream, http://perl5.git.perl.org/perl.git/commit/89d84ff965 | ||
14 | Patch-Name: fixes/perl-Cnn.diff | ||
15 | --- | ||
16 | t/run/switchC.t | 7 ++++++- | ||
17 | util.c | 17 ++++++++--------- | ||
18 | 2 files changed, 14 insertions(+), 10 deletions(-) | ||
19 | |||
20 | diff --git a/t/run/switchC.t b/t/run/switchC.t | ||
21 | index f6aa868..4f63c3b 100644 | ||
22 | --- a/t/run/switchC.t | ||
23 | +++ b/t/run/switchC.t | ||
24 | @@ -11,7 +11,7 @@ BEGIN { | ||
25 | skip_all_if_miniperl('-C and $ENV{PERL_UNICODE} are disabled on miniperl'); | ||
26 | } | ||
27 | |||
28 | -plan(tests => 13); | ||
29 | +plan(tests => 14); | ||
30 | |||
31 | my $r; | ||
32 | |||
33 | @@ -25,6 +25,11 @@ $r = runperl( switches => [ '-CO', '-w' ], | ||
34 | stderr => 1 ); | ||
35 | like( $r, qr/^$b(?:\r?\n)?$/s, '-CO: no warning on UTF-8 output' ); | ||
36 | |||
37 | +$r = runperl( switches => [ '-C2', '-w' ], | ||
38 | + prog => 'print chr(256)', | ||
39 | + stderr => 1 ); | ||
40 | +like( $r, qr/^$b(?:\r?\n)?$/s, '-C2: no warning on UTF-8 output' ); | ||
41 | + | ||
42 | SKIP: { | ||
43 | if (exists $ENV{PERL_UNICODE} && | ||
44 | ($ENV{PERL_UNICODE} eq "" || $ENV{PERL_UNICODE} =~ /[SO]/)) { | ||
45 | diff --git a/util.c b/util.c | ||
46 | index 8cf62f5..ee23314 100644 | ||
47 | --- a/util.c | ||
48 | +++ b/util.c | ||
49 | @@ -4420,16 +4420,15 @@ Perl_parse_unicode_opts(pTHX_ const char **popt) | ||
50 | if (isDIGIT(*p)) { | ||
51 | const char* endptr; | ||
52 | UV uv; | ||
53 | - if (grok_atoUV(p, &uv, &endptr) | ||
54 | - && uv <= U32_MAX | ||
55 | - && (p = endptr) | ||
56 | - && *p && *p != '\n' && *p != '\r' | ||
57 | - ) { | ||
58 | + if (grok_atoUV(p, &uv, &endptr) && uv <= U32_MAX) { | ||
59 | opt = (U32)uv; | ||
60 | - if (isSPACE(*p)) | ||
61 | - goto the_end_of_the_opts_parser; | ||
62 | - else | ||
63 | - Perl_croak(aTHX_ "Unknown Unicode option letter '%c'", *p); | ||
64 | + p = endptr; | ||
65 | + if (p && *p && *p != '\n' && *p != '\r') { | ||
66 | + if (isSPACE(*p)) | ||
67 | + goto the_end_of_the_opts_parser; | ||
68 | + else | ||
69 | + Perl_croak(aTHX_ "Unknown Unicode option letter '%c'", *p); | ||
70 | + } | ||
71 | } | ||
72 | } | ||
73 | else { | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/fixes/pod_man_reproducible_date.diff b/meta/recipes-devtools/perl/perl/debian/fixes/pod_man_reproducible_date.diff new file mode 100644 index 0000000000..7c9ca867a9 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/fixes/pod_man_reproducible_date.diff | |||
@@ -0,0 +1,170 @@ | |||
1 | From 9057adc106d6bbef53c9e706523cd94f1a7a08d4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Russ Allbery <rra@debian.org> | ||
3 | Date: Sat, 30 Aug 2014 15:10:41 -0700 | ||
4 | Subject: Support POD_MAN_DATE in Pod::Man for the left-hand footer | ||
5 | |||
6 | Honor the environment variable POD_MAN_DATE and use its contents, if | ||
7 | set, as the value of the left-hand footer if the date option is not | ||
8 | set, overriding the timestamp of the input file. This is primarily | ||
9 | useful to ensure reproducible builds of the same output file given the | ||
10 | same souce and Pod::Man version, even when file timestamps may not be | ||
11 | consistent. Thanks, Niko Tyni. | ||
12 | |||
13 | Bug-Debian: http://bugs.debian.org/759405 | ||
14 | Origin: upstream | ||
15 | Patch-Name: fixes/pod_man_reproducible_date.diff | ||
16 | --- | ||
17 | cpan/podlators/lib/Pod/Man.pm | 69 +++++++++++++++++++++++++++++++----------- | ||
18 | cpan/podlators/t/devise-date.t | 29 +++++++++++++----- | ||
19 | 2 files changed, 72 insertions(+), 26 deletions(-) | ||
20 | |||
21 | diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm | ||
22 | index 72ca9ff..0536662 100644 | ||
23 | --- a/cpan/podlators/lib/Pod/Man.pm | ||
24 | +++ b/cpan/podlators/lib/Pod/Man.pm | ||
25 | @@ -876,25 +876,42 @@ sub devise_title { | ||
26 | } | ||
27 | |||
28 | # Determine the modification date and return that, properly formatted in ISO | ||
29 | -# format. If we can't get the modification date of the input, instead use the | ||
30 | -# current time. Pod::Simple returns a completely unuseful stringified file | ||
31 | -# handle as the source_filename for input from a file handle, so we have to | ||
32 | -# deal with that as well. | ||
33 | +# format. | ||
34 | +# | ||
35 | +# If POD_MAN_DATE is set, that overrides anything else. This can be used for | ||
36 | +# reproducible generation of the same file even if the input file timestamps | ||
37 | +# are unpredictable or the POD coms from standard input. | ||
38 | +# | ||
39 | +# Otherwise, use the modification date of the input if we can stat it. Be | ||
40 | +# aware that Pod::Simple returns the stringification of the file handle as | ||
41 | +# source_filename for input from a file handle, so we'll stat some random ref | ||
42 | +# string in that case. If that fails, instead use the current time. | ||
43 | +# | ||
44 | +# $self - Pod::Man object, used to get the source file | ||
45 | +# | ||
46 | +# Returns: YYYY-MM-DD date suitable for the left-hand footer | ||
47 | sub devise_date { | ||
48 | my ($self) = @_; | ||
49 | + | ||
50 | + # If POD_MAN_DATE is set, always use it. | ||
51 | + if ($ENV{POD_MAN_DATE}) { | ||
52 | + return $ENV{POD_MAN_DATE}; | ||
53 | + } | ||
54 | + | ||
55 | + # Otherwise, get the input filename and try to stat it. If that fails, | ||
56 | + # use the current time. | ||
57 | my $input = $self->source_filename; | ||
58 | my $time; | ||
59 | if ($input) { | ||
60 | - $time = (stat $input)[9] || time; | ||
61 | + $time = (stat($input))[9] || time(); | ||
62 | } else { | ||
63 | - $time = time; | ||
64 | + $time = time(); | ||
65 | } | ||
66 | |||
67 | - # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker | ||
68 | - # uses this and it has to work in the core which can't load dynamic | ||
69 | - # libraries. | ||
70 | - my ($year, $month, $day) = (localtime $time)[5,4,3]; | ||
71 | - return sprintf ("%04d-%02d-%02d", $year + 1900, $month + 1, $day); | ||
72 | + # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses | ||
73 | + # this and it has to work in the core which can't load dynamic libraries. | ||
74 | + my ($year, $month, $day) = (localtime($time))[5,4,3]; | ||
75 | + return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day); | ||
76 | } | ||
77 | |||
78 | # Print out the preamble and the title. The meaning of the arguments to .TH | ||
79 | @@ -1632,6 +1649,15 @@ argument. | ||
80 | Sets the centered page header to use instead of "User Contributed Perl | ||
81 | Documentation". | ||
82 | |||
83 | +=item date | ||
84 | + | ||
85 | +Sets the left-hand footer. If this option is not set, the contents of the | ||
86 | +environment variable POD_MAN_DATE, if set, will be used. Failing that, | ||
87 | +the modification date of the input file will be used, or the current time | ||
88 | +if stat() can't find that file (which will be the case if the input is | ||
89 | +from C<STDIN>). If obtained from the file modification date or the | ||
90 | +current time, he date will be formatted as C<YYYY-MM-DD>. | ||
91 | + | ||
92 | =item errors | ||
93 | |||
94 | How to report errors. C<die> says to throw an exception on any POD | ||
95 | @@ -1642,13 +1668,6 @@ POD errors entirely, as much as possible. | ||
96 | |||
97 | The default is C<pod>. | ||
98 | |||
99 | -=item date | ||
100 | - | ||
101 | -Sets the left-hand footer. By default, the modification date of the input | ||
102 | -file will be used, or the current date if stat() can't find that file (the | ||
103 | -case if the input is from C<STDIN>), and the date will be formatted as | ||
104 | -C<YYYY-MM-DD>. | ||
105 | - | ||
106 | =item fixed | ||
107 | |||
108 | The fixed-width font to use for verbatim text and code. Defaults to | ||
109 | @@ -1810,6 +1829,20 @@ option was set to C<die>. | ||
110 | |||
111 | =back | ||
112 | |||
113 | +=head1 ENVIRONMENT | ||
114 | + | ||
115 | +=over 4 | ||
116 | + | ||
117 | +=item POD_MAN_DATE | ||
118 | + | ||
119 | +If set, this will be used as the value of the left-hand footer unless the | ||
120 | +C<date> option is explicitly set, overriding the timestamp of the input | ||
121 | +file or the current time. This is primarily useful to ensure reproducible | ||
122 | +builds of the same output file given the same souce and Pod::Man version, | ||
123 | +even when file timestamps may not be consistent. | ||
124 | + | ||
125 | +=back | ||
126 | + | ||
127 | =head1 BUGS | ||
128 | |||
129 | Encoding handling assumes that PerlIO is available and does not work | ||
130 | diff --git a/cpan/podlators/t/devise-date.t b/cpan/podlators/t/devise-date.t | ||
131 | index 3cce9f5..c610dd9 100644 | ||
132 | --- a/cpan/podlators/t/devise-date.t | ||
133 | +++ b/cpan/podlators/t/devise-date.t | ||
134 | @@ -1,15 +1,28 @@ | ||
135 | -#!/usr/bin/perl -w | ||
136 | - | ||
137 | -# In order for MakeMaker to build in the core, nothing can use | ||
138 | -# Fcntl which includes POSIX. devise_date()'s use of strftime() | ||
139 | -# was replaced. This tests that it's identical. | ||
140 | +#!/usr/bin/perl | ||
141 | +# | ||
142 | +# In order for MakeMaker to build in the core, nothing can use Fcntl which | ||
143 | +# includes POSIX. devise_date()'s use of strftime() was replaced. This tests | ||
144 | +# that it's identical. It also tests special handling of the POD_MAN_DATE | ||
145 | +# environment variable. | ||
146 | |||
147 | +use 5.006; | ||
148 | use strict; | ||
149 | - | ||
150 | -use Test::More tests => 1; | ||
151 | +use warnings; | ||
152 | |||
153 | use Pod::Man; | ||
154 | use POSIX qw(strftime); | ||
155 | |||
156 | +use Test::More tests => 2; | ||
157 | + | ||
158 | +# Check that the results of device_date matches strftime. There is no input | ||
159 | +# file name, so this will use the current time. | ||
160 | my $parser = Pod::Man->new; | ||
161 | -is $parser->devise_date, strftime("%Y-%m-%d", localtime); | ||
162 | +is( | ||
163 | + $parser->devise_date, | ||
164 | + strftime('%Y-%m-%d', localtime()), | ||
165 | + 'devise_date matches strftime' | ||
166 | +); | ||
167 | + | ||
168 | +# Set the override environment variable and ensure that it's honored. | ||
169 | +local $ENV{POD_MAN_DATE} = '2014-01-01'; | ||
170 | +is($parser->devise_date, '2014-01-01', 'devise_date honors POD_MAN_DATE'); | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/fixes/podman-empty-date.diff b/meta/recipes-devtools/perl/perl/debian/fixes/podman-empty-date.diff new file mode 100644 index 0000000000..7ebbf9c602 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/fixes/podman-empty-date.diff | |||
@@ -0,0 +1,51 @@ | |||
1 | From 183bb4af7ad862a2cf31d0dcb3dd45c100f76776 Mon Sep 17 00:00:00 2001 | ||
2 | From: Russ Allbery <rra@cpan.org> | ||
3 | Date: Wed, 15 Apr 2015 22:21:25 -0700 | ||
4 | Subject: Support an empty POD_MAN_DATE environment variable | ||
5 | |||
6 | One may want to set this to an empty string. Handle that correctly. | ||
7 | |||
8 | (backported to Perl 5.20.2 by Niko Tyni <ntyni@debian.org>) | ||
9 | |||
10 | Origin: upstream, http://git.eyrie.org/?p=perl/podlators.git;a=commitdiff;h=e0e9fcb53e8fc954b2b1955385eea18c27f869af | ||
11 | Bug-Debian: https://bugs.debian.org/780259 | ||
12 | Patch-Name: fixes/podman-empty-date.diff | ||
13 | --- | ||
14 | cpan/podlators/lib/Pod/Man.pm | 2 +- | ||
15 | cpan/podlators/t/devise-date.t | 6 +++++- | ||
16 | 2 files changed, 6 insertions(+), 2 deletions(-) | ||
17 | |||
18 | diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm | ||
19 | index 365892e..8997a15 100644 | ||
20 | --- a/cpan/podlators/lib/Pod/Man.pm | ||
21 | +++ b/cpan/podlators/lib/Pod/Man.pm | ||
22 | @@ -894,7 +894,7 @@ sub devise_date { | ||
23 | my ($self) = @_; | ||
24 | |||
25 | # If POD_MAN_DATE is set, always use it. | ||
26 | - if ($ENV{POD_MAN_DATE}) { | ||
27 | + if (defined($ENV{POD_MAN_DATE})) { | ||
28 | return $ENV{POD_MAN_DATE}; | ||
29 | } | ||
30 | |||
31 | diff --git a/cpan/podlators/t/devise-date.t b/cpan/podlators/t/devise-date.t | ||
32 | index 9da9d1b..27271d9 100644 | ||
33 | --- a/cpan/podlators/t/devise-date.t | ||
34 | +++ b/cpan/podlators/t/devise-date.t | ||
35 | @@ -12,7 +12,7 @@ use warnings; | ||
36 | use Pod::Man; | ||
37 | use POSIX qw(strftime); | ||
38 | |||
39 | -use Test::More tests => 2; | ||
40 | +use Test::More tests => 3; | ||
41 | |||
42 | # Check that the results of device_date matches strftime. There is no input | ||
43 | # file name, so this will use the current time. | ||
44 | @@ -26,3 +26,7 @@ is( | ||
45 | # Set the override environment variable and ensure that it's honored. | ||
46 | local $ENV{POD_MAN_DATE} = '2014-01-01'; | ||
47 | is($parser->devise_date, '2014-01-01', 'devise_date honors POD_MAN_DATE'); | ||
48 | + | ||
49 | +# Check that an empty environment variable is honored. | ||
50 | +local $ENV{POD_MAN_DATE} = q{}; | ||
51 | +is($parser->devise_date, q{}, 'devise_date honors empty POD_MAN_DATE'); | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/fixes/podman-pipe.diff b/meta/recipes-devtools/perl/perl/debian/fixes/podman-pipe.diff new file mode 100644 index 0000000000..1a60361160 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/fixes/podman-pipe.diff | |||
@@ -0,0 +1,109 @@ | |||
1 | From 7671d101baa75d7a79bfbd8c75c1595fbb3f53ba Mon Sep 17 00:00:00 2001 | ||
2 | From: Russ Allbery <rra@cpan.org> | ||
3 | Date: Sat, 7 Feb 2015 19:03:34 -0800 | ||
4 | Subject: Better errors for man pages from standard input | ||
5 | |||
6 | [Pod::Man] Attempt to detect if the input came from a pipe and | ||
7 | therefore has a completely unhelpful (and nonreproducible) source file | ||
8 | name, and diagnose this as an error. Document that the name option | ||
9 | (--name to pod2man) is required when processing POD source from | ||
10 | standard input. (Debian Bug#777405) | ||
11 | |||
12 | (backported to Perl 5.20.2 by Niko Tyni <ntyni@debian.org>) | ||
13 | |||
14 | Origin: upstream, http://git.eyrie.org/?p=perl/podlators.git;a=commitdiff;h=d98872e46c93861b7aba14949e1258712087dc55 | ||
15 | Bug-Debian: https://bugs.debian.org/777405 | ||
16 | Patch-Name: fixes/podman-pipe.diff | ||
17 | --- | ||
18 | cpan/podlators/lib/Pod/Man.pm | 15 +++++++++++++++ | ||
19 | cpan/podlators/scripts/pod2man.PL | 4 ++++ | ||
20 | cpan/podlators/t/devise-title.t | 32 ++++++++++++++++++++++++++++++++ | ||
21 | 3 files changed, 51 insertions(+) | ||
22 | create mode 100755 cpan/podlators/t/devise-title.t | ||
23 | |||
24 | diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm | ||
25 | index 8997a15..969eaff 100644 | ||
26 | --- a/cpan/podlators/lib/Pod/Man.pm | ||
27 | +++ b/cpan/podlators/lib/Pod/Man.pm | ||
28 | @@ -828,6 +828,17 @@ sub devise_title { | ||
29 | $section = 3 if (!$$self{section} && $name =~ /\.pm\z/i); | ||
30 | $name =~ s/\.p(od|[lm])\z//i; | ||
31 | |||
32 | + # If Pod::Parser gave us an IO::File reference as the source file name, | ||
33 | + # convert that to the empty string as well. Then, if we don't have a | ||
34 | + # valid name, emit a warning and convert it to STDIN. | ||
35 | + if ($name =~ /^IO::File(?:=\w+)\(0x[\da-f]+\)$/i) { | ||
36 | + $name = ''; | ||
37 | + } | ||
38 | + if ($name eq '') { | ||
39 | + $self->whine (1, 'No name given for document'); | ||
40 | + $name = 'STDIN'; | ||
41 | + } | ||
42 | + | ||
43 | # If the section isn't 3, then the name defaults to just the basename of | ||
44 | # the file. Otherwise, assume we're dealing with a module. We want to | ||
45 | # figure out the full module name from the path to the file, but we don't | ||
46 | @@ -1705,6 +1716,10 @@ module path. If it is, a path like C<.../lib/Pod/Man.pm> is converted into | ||
47 | a name like C<Pod::Man>. This option, if given, overrides any automatic | ||
48 | determination of the name. | ||
49 | |||
50 | +If generating a manual page from standard input, this option is required, | ||
51 | +since there's otherwise no way for Pod::Man to know what to use for the | ||
52 | +manual page name. | ||
53 | + | ||
54 | =item nourls | ||
55 | |||
56 | Normally, LZ<><> formatting codes with a URL but anchor text are formatted | ||
57 | diff --git a/cpan/podlators/scripts/pod2man.PL b/cpan/podlators/scripts/pod2man.PL | ||
58 | index 38695f8..43e35df 100644 | ||
59 | --- a/cpan/podlators/scripts/pod2man.PL | ||
60 | +++ b/cpan/podlators/scripts/pod2man.PL | ||
61 | @@ -236,6 +236,10 @@ Note that this option is probably not useful when converting multiple POD | ||
62 | files at once. The convention for Unix man pages for commands is for the | ||
63 | man page title to be in all-uppercase even if the command isn't. | ||
64 | |||
65 | +When converting POD source from standard input, this option is required, | ||
66 | +since there's otherwise no way to know what to use as the name of the | ||
67 | +manual page. | ||
68 | + | ||
69 | =item B<--nourls> | ||
70 | |||
71 | Normally, LZ<><> formatting codes with a URL but anchor text are formatted | ||
72 | diff --git a/cpan/podlators/t/devise-title.t b/cpan/podlators/t/devise-title.t | ||
73 | new file mode 100755 | ||
74 | index 0000000..8639441 | ||
75 | --- /dev/null | ||
76 | +++ b/cpan/podlators/t/devise-title.t | ||
77 | @@ -0,0 +1,32 @@ | ||
78 | +#!/usr/bin/perl | ||
79 | +# | ||
80 | +# Tests for the automatic determination of the manual page title if not | ||
81 | +# specified via options to pod2man or the Pod::Man constructor. | ||
82 | + | ||
83 | +use 5.006; | ||
84 | +use strict; | ||
85 | +use warnings; | ||
86 | + | ||
87 | +use File::Spec; | ||
88 | +use IO::File; | ||
89 | +use Test::More tests => 3; | ||
90 | + | ||
91 | +BEGIN { | ||
92 | + use_ok('Pod::Man'); | ||
93 | +} | ||
94 | + | ||
95 | +# Create a parser and set it up with an input source. There isn't a way to do | ||
96 | +# this in Pod::Simple without actually parsing the document, so send the | ||
97 | +# output to a string that we'll ignore. | ||
98 | +my $path = File::Spec->catdir('t', 'data', 'basic.pod'); | ||
99 | +my $handle = IO::File->new($path, 'r'); | ||
100 | +my $parser = Pod::Man->new(errors => 'pod'); | ||
101 | +my $output; | ||
102 | +$parser->output_string(\$output); | ||
103 | +$parser->parse_file($handle); | ||
104 | + | ||
105 | +# Check the results of devise_title for this. We should get back STDIN, and | ||
106 | +# we should have reported an error. | ||
107 | +my ($name, $section) = $parser->devise_title; | ||
108 | +is($name, 'STDIN', 'devise_title uses STDIN for file handle input'); | ||
109 | +ok($parser->errors_seen, '...and errors were seen'); | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc-docs.diff b/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc-docs.diff new file mode 100644 index 0000000000..0cdfeffd1f --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc-docs.diff | |||
@@ -0,0 +1,86 @@ | |||
1 | From 6198856b5323d6204094293f01b890472618f182 Mon Sep 17 00:00:00 2001 | ||
2 | From: Russ Allbery <rra@cpan.org> | ||
3 | Date: Wed, 15 Apr 2015 20:49:07 -0700 | ||
4 | Subject: Documentation and test suite updates for UTC fix | ||
5 | |||
6 | Update the Pod::Man and pod2man documentation and the test suite | ||
7 | for the new UTC-based default page footer, and add a Changes | ||
8 | entry. | ||
9 | |||
10 | (backported to Perl 5.20.2 by Niko Tyni <ntyni@debian.org>) | ||
11 | |||
12 | Origin: upstream, http://git.eyrie.org/?p=perl/podlators.git;a=commitdiff;h=52db93bf80e4a06f8497e4ebade0506b6ee0e70d | ||
13 | Bug-Debian: https://bugs.debian.org/780259 | ||
14 | Patch-Name: fixes/podman-utc-docs.diff | ||
15 | --- | ||
16 | cpan/podlators/lib/Pod/Man.pm | 6 +++++- | ||
17 | cpan/podlators/scripts/pod2man.PL | 11 ++++++----- | ||
18 | cpan/podlators/t/devise-date.t | 2 +- | ||
19 | 3 files changed, 12 insertions(+), 7 deletions(-) | ||
20 | |||
21 | diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm | ||
22 | index c3ba201..365892e 100644 | ||
23 | --- a/cpan/podlators/lib/Pod/Man.pm | ||
24 | +++ b/cpan/podlators/lib/Pod/Man.pm | ||
25 | @@ -910,6 +910,8 @@ sub devise_date { | ||
26 | |||
27 | # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses | ||
28 | # this and it has to work in the core which can't load dynamic libraries. | ||
29 | + # Use gmtime instead of localtime so that the generated man page does not | ||
30 | + # depend on the local time zone setting and is more reproducible | ||
31 | my ($year, $month, $day) = (gmtime($time))[5,4,3]; | ||
32 | return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day); | ||
33 | } | ||
34 | @@ -1656,7 +1658,9 @@ environment variable POD_MAN_DATE, if set, will be used. Failing that, | ||
35 | the modification date of the input file will be used, or the current time | ||
36 | if stat() can't find that file (which will be the case if the input is | ||
37 | from C<STDIN>). If obtained from the file modification date or the | ||
38 | -current time, he date will be formatted as C<YYYY-MM-DD>. | ||
39 | +current time, the date will be formatted as C<YYYY-MM-DD> and will be based | ||
40 | +on UTC (so that the output will be reproducible regardless of local time | ||
41 | +zone). | ||
42 | |||
43 | =item errors | ||
44 | |||
45 | diff --git a/cpan/podlators/scripts/pod2man.PL b/cpan/podlators/scripts/pod2man.PL | ||
46 | index 6af3474..38695f8 100644 | ||
47 | --- a/cpan/podlators/scripts/pod2man.PL | ||
48 | +++ b/cpan/podlators/scripts/pod2man.PL | ||
49 | @@ -174,9 +174,10 @@ Contributed Perl Documentation", but also see B<--official> below. | ||
50 | |||
51 | =item B<-d> I<string>, B<--date>=I<string> | ||
52 | |||
53 | -Set the left-hand footer string to this value. By default, the modification | ||
54 | -date of the input file will be used, or the current date if input comes from | ||
55 | -C<STDIN>. | ||
56 | +Set the left-hand footer string to this value. By default, the | ||
57 | +modification date of the input file will be used, or the current date if | ||
58 | +input comes from C<STDIN>, and will be based on UTC (so that the output | ||
59 | +will be reproducible regardless of local time zone). | ||
60 | |||
61 | =item B<-errors>=I<style> | ||
62 | |||
63 | @@ -383,8 +384,8 @@ B<pod2man> by Larry Wall and Tom Christiansen. | ||
64 | |||
65 | =head1 COPYRIGHT AND LICENSE | ||
66 | |||
67 | -Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013 Russ | ||
68 | -Allbery <rra@stanford.edu>. | ||
69 | +Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013, 2014, | ||
70 | +2015 Russ Allbery <rra@cpan.org>. | ||
71 | |||
72 | This program is free software; you may redistribute it and/or modify it | ||
73 | under the same terms as Perl itself. | ||
74 | diff --git a/cpan/podlators/t/devise-date.t b/cpan/podlators/t/devise-date.t | ||
75 | index c610dd9..9da9d1b 100644 | ||
76 | --- a/cpan/podlators/t/devise-date.t | ||
77 | +++ b/cpan/podlators/t/devise-date.t | ||
78 | @@ -19,7 +19,7 @@ use Test::More tests => 2; | ||
79 | my $parser = Pod::Man->new; | ||
80 | is( | ||
81 | $parser->devise_date, | ||
82 | - strftime('%Y-%m-%d', localtime()), | ||
83 | + strftime('%Y-%m-%d', gmtime()), | ||
84 | 'devise_date matches strftime' | ||
85 | ); | ||
86 | |||
diff --git a/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc.diff b/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc.diff new file mode 100644 index 0000000000..fbd7b9db99 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc.diff | |||
@@ -0,0 +1,33 @@ | |||
1 | From c796775cdbd2cce06acbb7ac355187d4063017a2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chris Lamb <lamby@debian.org> | ||
3 | Date: Wed, 15 Apr 2015 20:42:53 -0700 | ||
4 | Subject: Make the embedded date from Pod::Man reproducible | ||
5 | |||
6 | While working on the "reproducible builds" effort, we have noticed | ||
7 | that Pod::Man generates output that varies depending on the current | ||
8 | timezone. | ||
9 | |||
10 | The attached patch fixes this by using GMT (~UTC) dates instead. | ||
11 | |||
12 | (backported to Perl 5.20.2 by Niko Tyni <ntyni@debian.org>) | ||
13 | |||
14 | Origin: upstream, http://git.eyrie.org/?p=perl/podlators.git;a=commitdiff;h=913fbb2bd2ce071e20128629302ae2852554cad4 | ||
15 | Bug-Debian: https://bugs.debian.org/780259 | ||
16 | Patch-Name: fixes/podman-utc.diff | ||
17 | --- | ||
18 | cpan/podlators/lib/Pod/Man.pm | 2 +- | ||
19 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
20 | |||
21 | diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm | ||
22 | index 0536662..c3ba201 100644 | ||
23 | --- a/cpan/podlators/lib/Pod/Man.pm | ||
24 | +++ b/cpan/podlators/lib/Pod/Man.pm | ||
25 | @@ -910,7 +910,7 @@ sub devise_date { | ||
26 | |||
27 | # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses | ||
28 | # this and it has to work in the core which can't load dynamic libraries. | ||
29 | - my ($year, $month, $day) = (localtime($time))[5,4,3]; | ||
30 | + my ($year, $month, $day) = (gmtime($time))[5,4,3]; | ||
31 | return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day); | ||
32 | } | ||
33 | |||
diff --git a/meta/recipes-devtools/perl/perl/debian/fixes/respect_umask.diff b/meta/recipes-devtools/perl/perl/debian/fixes/respect_umask.diff new file mode 100644 index 0000000000..d1b498b527 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/fixes/respect_umask.diff | |||
@@ -0,0 +1,153 @@ | |||
1 | From d9d535ef97f57af6e9728075944c33f3b0b5372f Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 | ||
4 | Subject: Respect umask during installation | ||
5 | |||
6 | This is needed to satisfy Debian policy regarding group-writable | ||
7 | site directories. | ||
8 | |||
9 | Patch-Name: fixes/respect_umask.diff | ||
10 | --- | ||
11 | cpan/ExtUtils-Install/lib/ExtUtils/Install.pm | 18 +++++++++--------- | ||
12 | cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 18 +++++++++--------- | ||
13 | 2 files changed, 18 insertions(+), 18 deletions(-) | ||
14 | |||
15 | diff --git a/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm b/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm | ||
16 | index 1e8ac4c..3e79121 100644 | ||
17 | --- a/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm | ||
18 | +++ b/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm | ||
19 | @@ -451,7 +451,7 @@ sub _can_write_dir { | ||
20 | |||
21 | =pod | ||
22 | |||
23 | -=item _mkpath($dir,$show,$mode,$verbose,$dry_run) | ||
24 | +=item _mkpath($dir,$show,$verbose,$dry_run) | ||
25 | |||
26 | Wrapper around File::Path::mkpath() to handle errors. | ||
27 | |||
28 | @@ -468,13 +468,13 @@ writable. | ||
29 | =cut | ||
30 | |||
31 | sub _mkpath { | ||
32 | - my ($dir,$show,$mode,$verbose,$dry_run)=@_; | ||
33 | + my ($dir,$show,$verbose,$dry_run)=@_; | ||
34 | if ( $verbose && $verbose > 1 && ! -d $dir) { | ||
35 | $show= 1; | ||
36 | - printf "mkpath(%s,%d,%#o)\n", $dir, $show, $mode; | ||
37 | + printf "mkpath(%s,%d)\n", $dir, $show; | ||
38 | } | ||
39 | if (!$dry_run) { | ||
40 | - if ( ! eval { File::Path::mkpath($dir,$show,$mode); 1 } ) { | ||
41 | + if ( ! eval { File::Path::mkpath($dir,$show); 1 } ) { | ||
42 | _choke("Can't create '$dir'","$@"); | ||
43 | } | ||
44 | |||
45 | @@ -783,7 +783,7 @@ sub install { #XXX OS-SPECIFIC | ||
46 | _chdir($cwd); | ||
47 | } | ||
48 | foreach my $targetdir (sort keys %check_dirs) { | ||
49 | - _mkpath( $targetdir, 0, 0755, $verbose, $dry_run ); | ||
50 | + _mkpath( $targetdir, 0, $verbose, $dry_run ); | ||
51 | } | ||
52 | foreach my $found (@found_files) { | ||
53 | my ($diff, $ffd, $origfile, $mode, $size, $atime, $mtime, | ||
54 | @@ -797,7 +797,7 @@ sub install { #XXX OS-SPECIFIC | ||
55 | $targetfile= _unlink_or_rename( $targetfile, 'tryhard', 'install' ) | ||
56 | unless $dry_run; | ||
57 | } elsif ( ! -d $targetdir ) { | ||
58 | - _mkpath( $targetdir, 0, 0755, $verbose, $dry_run ); | ||
59 | + _mkpath( $targetdir, 0, $verbose, $dry_run ); | ||
60 | } | ||
61 | print "Installing $targetfile\n"; | ||
62 | |||
63 | @@ -837,7 +837,7 @@ sub install { #XXX OS-SPECIFIC | ||
64 | |||
65 | if ($pack{'write'}) { | ||
66 | $dir = install_rooted_dir(dirname($pack{'write'})); | ||
67 | - _mkpath( $dir, 0, 0755, $verbose, $dry_run ); | ||
68 | + _mkpath( $dir, 0, $verbose, $dry_run ); | ||
69 | print "Writing $pack{'write'}\n" if $verbose; | ||
70 | $packlist->write(install_rooted_file($pack{'write'})) unless $dry_run; | ||
71 | } | ||
72 | @@ -1180,7 +1180,7 @@ environment variable will silence this output. | ||
73 | sub pm_to_blib { | ||
74 | my($fromto,$autodir,$pm_filter) = @_; | ||
75 | |||
76 | - _mkpath($autodir,0,0755); | ||
77 | + _mkpath($autodir,0); | ||
78 | while(my($from, $to) = each %$fromto) { | ||
79 | if( -f $to && -s $from == -s $to && -M $to < -M $from ) { | ||
80 | print "Skip $to (unchanged)\n" unless $INSTALL_QUIET; | ||
81 | @@ -1203,7 +1203,7 @@ sub pm_to_blib { | ||
82 | # we wont try hard here. its too likely to mess things up. | ||
83 | forceunlink($to); | ||
84 | } else { | ||
85 | - _mkpath(dirname($to),0,0755); | ||
86 | + _mkpath(dirname($to),0); | ||
87 | } | ||
88 | if ($need_filtering) { | ||
89 | run_filter($pm_filter, $from, $to); | ||
90 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
91 | index f63145c..197f102 100644 | ||
92 | --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
93 | +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
94 | @@ -2118,7 +2118,7 @@ doc__install : doc_site_install | ||
95 | $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site | ||
96 | |||
97 | pure_perl_install :: all | ||
98 | - $(NOECHO) $(MOD_INSTALL) \ | ||
99 | + $(NOECHO) umask 022; $(MOD_INSTALL) \ | ||
100 | }; | ||
101 | |||
102 | push @m, | ||
103 | @@ -2138,7 +2138,7 @@ q{ "$(INST_LIB)" "$(DESTINSTALLPRIVLIB)" \ | ||
104 | |||
105 | |||
106 | pure_site_install :: all | ||
107 | - $(NOECHO) $(MOD_INSTALL) \ | ||
108 | + $(NOECHO) umask 022; $(MOD_INSTALL) \ | ||
109 | }; | ||
110 | push @m, | ||
111 | q{ read "}.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \ | ||
112 | @@ -2156,7 +2156,7 @@ q{ "$(INST_LIB)" "$(DESTINSTALLSITELIB)" \ | ||
113 | "}.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{" | ||
114 | |||
115 | pure_vendor_install :: all | ||
116 | - $(NOECHO) $(MOD_INSTALL) \ | ||
117 | + $(NOECHO) umask 022; $(MOD_INSTALL) \ | ||
118 | }; | ||
119 | push @m, | ||
120 | q{ read "}.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \ | ||
121 | @@ -2188,8 +2188,8 @@ doc_vendor_install :: all | ||
122 | push @m, q{ | ||
123 | doc_perl_install :: all | ||
124 | $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod" | ||
125 | - -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)" | ||
126 | - -$(NOECHO) $(DOC_INSTALL) \ | ||
127 | + -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)" | ||
128 | + -$(NOECHO) umask 022; $(DOC_INSTALL) \ | ||
129 | "Module" "$(NAME)" \ | ||
130 | "installed into" $(INSTALLPRIVLIB) \ | ||
131 | LINKTYPE "$(LINKTYPE)" \ | ||
132 | @@ -2199,8 +2199,8 @@ doc_perl_install :: all | ||
133 | |||
134 | doc_site_install :: all | ||
135 | $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod" | ||
136 | - -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)" | ||
137 | - -$(NOECHO) $(DOC_INSTALL) \ | ||
138 | + -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)" | ||
139 | + -$(NOECHO) umask 022; $(DOC_INSTALL) \ | ||
140 | "Module" "$(NAME)" \ | ||
141 | "installed into" $(INSTALLSITELIB) \ | ||
142 | LINKTYPE "$(LINKTYPE)" \ | ||
143 | @@ -2210,8 +2210,8 @@ doc_site_install :: all | ||
144 | |||
145 | doc_vendor_install :: all | ||
146 | $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod" | ||
147 | - -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)" | ||
148 | - -$(NOECHO) $(DOC_INSTALL) \ | ||
149 | + -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)" | ||
150 | + -$(NOECHO) umask 022; $(DOC_INSTALL) \ | ||
151 | "Module" "$(NAME)" \ | ||
152 | "installed into" $(INSTALLVENDORLIB) \ | ||
153 | LINKTYPE "$(LINKTYPE)" \ | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/instmodsh_doc.diff b/meta/recipes-devtools/perl/perl/debian/instmodsh_doc.diff new file mode 100644 index 0000000000..a62c746e94 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/instmodsh_doc.diff | |||
@@ -0,0 +1,27 @@ | |||
1 | From 26209b55201a1b2d25252ac3b425bc49081299de Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 | ||
4 | Subject: Debian policy doesn't install .packlist files for core or vendor. | ||
5 | |||
6 | Patch-Name: debian/instmodsh_doc.diff | ||
7 | --- | ||
8 | cpan/ExtUtils-MakeMaker/bin/instmodsh | 4 +++- | ||
9 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
10 | |||
11 | diff --git a/cpan/ExtUtils-MakeMaker/bin/instmodsh b/cpan/ExtUtils-MakeMaker/bin/instmodsh | ||
12 | index 8b9aa95..e551434 100644 | ||
13 | --- a/cpan/ExtUtils-MakeMaker/bin/instmodsh | ||
14 | +++ b/cpan/ExtUtils-MakeMaker/bin/instmodsh | ||
15 | @@ -18,9 +18,11 @@ instmodsh - A shell to examine installed modules | ||
16 | |||
17 | =head1 DESCRIPTION | ||
18 | |||
19 | -A little interface to ExtUtils::Installed to examine installed modules, | ||
20 | +A little interface to ExtUtils::Installed to examine locally* installed modules, | ||
21 | validate your packlists and even create a tarball from an installed module. | ||
22 | |||
23 | +*On Debian system, B<core> and B<vendor> modules are managed by C<dpkg>. | ||
24 | + | ||
25 | =head1 SEE ALSO | ||
26 | |||
27 | ExtUtils::Installed | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/ld_run_path.diff b/meta/recipes-devtools/perl/perl/debian/ld_run_path.diff new file mode 100644 index 0000000000..d80f86c21a --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/ld_run_path.diff | |||
@@ -0,0 +1,24 @@ | |||
1 | From 53ce69085918232a1b7e26e7762c1b2f70b1eb4a Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Fri, 18 Mar 2005 22:22:25 +1100 | ||
4 | Subject: Remove standard libs from LD_RUN_PATH as per Debian policy. | ||
5 | |||
6 | Patch-Name: debian/ld_run_path.diff | ||
7 | --- | ||
8 | cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm | 3 +++ | ||
9 | 1 file changed, 3 insertions(+) | ||
10 | |||
11 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm | ||
12 | index 37bcfd4..bd66e65 100644 | ||
13 | --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm | ||
14 | +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm | ||
15 | @@ -56,6 +56,9 @@ sub _unix_os2_ext { | ||
16 | my ( $pwd ) = cwd(); # from Cwd.pm | ||
17 | my ( $found ) = 0; | ||
18 | |||
19 | + # Debian-specific: don't use LD_RUN_PATH for standard dirs | ||
20 | + $ld_run_path_seen{$_}++ for @libpath; | ||
21 | + | ||
22 | foreach my $thislib ( split ' ', $potential_libs ) { | ||
23 | my ( $custom_name ) = ''; | ||
24 | |||
diff --git a/meta/recipes-devtools/perl/perl/debian/libnet_config_path.diff b/meta/recipes-devtools/perl/perl/debian/libnet_config_path.diff new file mode 100644 index 0000000000..54ef9640ec --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/libnet_config_path.diff | |||
@@ -0,0 +1,37 @@ | |||
1 | From a7f6d453e60256d329469a75b642cca854cebea1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 | ||
4 | Subject: Set location of libnet.cfg to /etc/perl/Net as /usr may not be | ||
5 | writable. | ||
6 | |||
7 | Patch-Name: debian/libnet_config_path.diff | ||
8 | --- | ||
9 | cpan/libnet/lib/Net/Config.pm | 7 +++---- | ||
10 | 1 file changed, 3 insertions(+), 4 deletions(-) | ||
11 | |||
12 | diff --git a/cpan/libnet/lib/Net/Config.pm b/cpan/libnet/lib/Net/Config.pm | ||
13 | index 953a826..61ba12a 100644 | ||
14 | --- a/cpan/libnet/lib/Net/Config.pm | ||
15 | +++ b/cpan/libnet/lib/Net/Config.pm | ||
16 | @@ -68,9 +68,8 @@ my %nc = ( | ||
17 | TRY_INTERNET_CONFIG | ||
18 | } | ||
19 | |||
20 | -my $file = __FILE__; | ||
21 | +my $file = '/etc/perl/Net/libnet.cfg'; | ||
22 | my $ref; | ||
23 | -$file =~ s/Config.pm/libnet.cfg/; | ||
24 | if (-f $file) { | ||
25 | $ref = eval { local $SIG{__DIE__}; do $file }; | ||
26 | if (ref($ref) eq 'HASH') { | ||
27 | @@ -142,8 +141,8 @@ Net::Config - Local configuration data for libnet | ||
28 | C<Net::Config> holds configuration data for the modules in the libnet | ||
29 | distribution. During installation you will be asked for these values. | ||
30 | |||
31 | -The configuration data is held globally in a file in the perl installation | ||
32 | -tree, but a user may override any of these values by providing their own. This | ||
33 | +The configuration data is held globally in C</etc/perl/Net/libnet.cfg>, | ||
34 | +but a user may override any of these values by providing their own. This | ||
35 | can be done by having a C<.libnetrc> file in their home directory. This file | ||
36 | should return a reference to a HASH containing the keys described below. | ||
37 | For example | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/libperl_embed_doc.diff b/meta/recipes-devtools/perl/perl/debian/libperl_embed_doc.diff new file mode 100644 index 0000000000..76b805451c --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/libperl_embed_doc.diff | |||
@@ -0,0 +1,26 @@ | |||
1 | From fb8bdbb4bf56382de099e62c2564286b9dfda46d Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 | ||
4 | Subject: Note that libperl-dev package is required for embedded linking | ||
5 | |||
6 | Bug-Debian: http://bugs.debian.org/186778 | ||
7 | |||
8 | Patch-Name: debian/libperl_embed_doc.diff | ||
9 | --- | ||
10 | lib/ExtUtils/Embed.pm | 3 +++ | ||
11 | 1 file changed, 3 insertions(+) | ||
12 | |||
13 | diff --git a/lib/ExtUtils/Embed.pm b/lib/ExtUtils/Embed.pm | ||
14 | index 3f983c1..0ec8a67 100644 | ||
15 | --- a/lib/ExtUtils/Embed.pm | ||
16 | +++ b/lib/ExtUtils/Embed.pm | ||
17 | @@ -296,6 +296,9 @@ and extensions in your C/C++ applications. | ||
18 | Typically, an application F<Makefile> will invoke C<ExtUtils::Embed> | ||
19 | functions while building your application. | ||
20 | |||
21 | +Note that on Debian systems the B<libperl-dev> package is required for | ||
22 | +compiling applications which embed an interpreter. | ||
23 | + | ||
24 | =head1 @EXPORT | ||
25 | |||
26 | C<ExtUtils::Embed> exports the following functions: | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/locale-robustness.diff b/meta/recipes-devtools/perl/perl/debian/locale-robustness.diff new file mode 100644 index 0000000000..fd471ed7a5 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/locale-robustness.diff | |||
@@ -0,0 +1,52 @@ | |||
1 | From 289eaf87f8de4d9ebfd661d4e4299c2952435243 Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Fri, 10 Apr 2015 10:19:51 +0300 | ||
4 | Subject: Make t/run/locale.t survive missing locales masked by LC_ALL | ||
5 | |||
6 | If LC_ALL is set to a valid locale but another LC_* setting like LC_CTYPE | ||
7 | isn't, t/run/locale.t would fail because it explicitly unsets LC_ALL, | ||
8 | unmasking the problem underneath. All the other tests survive such | ||
9 | a scenario. | ||
10 | |||
11 | While this is clearly an error in the build environment, it's easy to make | ||
12 | the test more robust by first clearing all the locale relevant variables. | ||
13 | |||
14 | Bug: https://rt.perl.org/Ticket/Display.html?id=124310 | ||
15 | Bug-Debian: https://bugs.debian.org/782068 | ||
16 | Patch-Name: debian/locale-robustness.diff | ||
17 | --- | ||
18 | t/run/locale.t | 7 +++---- | ||
19 | 1 file changed, 3 insertions(+), 4 deletions(-) | ||
20 | |||
21 | diff --git a/t/run/locale.t b/t/run/locale.t | ||
22 | index bd1a034..2105339 100644 | ||
23 | --- a/t/run/locale.t | ||
24 | +++ b/t/run/locale.t | ||
25 | @@ -27,6 +27,9 @@ my @locales = eval { find_locales( [ &LC_ALL, &LC_CTYPE, &LC_NUMERIC ], | ||
26 | ) }; | ||
27 | skip_all("no locales available") unless @locales; | ||
28 | |||
29 | +# reset the locale environment | ||
30 | +local @ENV{'LANG', (grep /^LC_/, keys %ENV)}; | ||
31 | + | ||
32 | plan tests => &last; | ||
33 | |||
34 | my $non_C_locale; | ||
35 | @@ -58,9 +61,6 @@ EOF | ||
36 | SKIP: { | ||
37 | skip("Windows stores locale defaults in the registry", 1 ) | ||
38 | if $^O eq 'MSWin32'; | ||
39 | - local $ENV{LC_NUMERIC}; # So not taken as a default | ||
40 | - local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC | ||
41 | - local $ENV{LANG}; # So not taken as a default | ||
42 | fresh_perl_is("for (qw(@locales)) {\n" . <<'EOF', | ||
43 | use POSIX qw(locale_h); | ||
44 | use locale; | ||
45 | @@ -348,7 +348,6 @@ EOF | ||
46 | |||
47 | { | ||
48 | local $ENV{LC_NUMERIC} = $different; | ||
49 | - local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC | ||
50 | fresh_perl_is(<<"EOF", | ||
51 | use POSIX qw(locale_h); | ||
52 | |||
diff --git a/meta/recipes-devtools/perl/perl/debian/makemaker-pasthru.diff b/meta/recipes-devtools/perl/perl/debian/makemaker-pasthru.diff new file mode 100644 index 0000000000..fa0f9daf96 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/makemaker-pasthru.diff | |||
@@ -0,0 +1,30 @@ | |||
1 | From 593dd52f535b1f439dfd0afe52211ae8960e980a Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Sun, 24 Aug 2014 12:56:11 -0700 | ||
4 | Subject: Pass LD settings through to subdirectories | ||
5 | |||
6 | [rt.cpan.org #28632] fixed most issues with passing LD down to | ||
7 | subdirectory Makefile.PL files. However, there are some distributions | ||
8 | (including Wx, Par::Packer, and Verilog-Perl) that explicitly set | ||
9 | LD. Those still can't be overridden from the command line. Adding LD to | ||
10 | the PASTHRU list fixes this. | ||
11 | |||
12 | Bug-Debian: https://bugs.debian.org/758471 | ||
13 | Patch-Name: debian/makemaker-pasthru.diff | ||
14 | --- | ||
15 | cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +- | ||
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
17 | |||
18 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
19 | index 4a8e14c..548d98e 100644 | ||
20 | --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
21 | +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
22 | @@ -2793,7 +2793,7 @@ sub pasthru { | ||
23 | my($sep) = $Is{VMS} ? ',' : ''; | ||
24 | $sep .= "\\\n\t"; | ||
25 | |||
26 | - foreach my $key (qw(LIB LIBPERL_A LINKTYPE OPTIMIZE | ||
27 | + foreach my $key (qw(LIB LIBPERL_A LINKTYPE OPTIMIZE LD | ||
28 | PREFIX INSTALL_BASE) | ||
29 | ) | ||
30 | { | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/makemaker_customized.diff b/meta/recipes-devtools/perl/perl/debian/makemaker_customized.diff new file mode 100644 index 0000000000..b1b4cb9a68 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/makemaker_customized.diff | |||
@@ -0,0 +1,42 @@ | |||
1 | From 634449066a9c810e81506425d2ca925b2fd72ab2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Dominic Hargreaves <dom@earth.li> | ||
3 | Date: Sat, 23 May 2015 21:15:06 +0200 | ||
4 | Subject: Update t/porting/customized.dat for files patched in Debian | ||
5 | |||
6 | Patch-Name: debian/makemaker_customized.diff | ||
7 | --- | ||
8 | t/porting/customized.dat | 8 ++++---- | ||
9 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
10 | |||
11 | diff --git a/t/porting/customized.dat b/t/porting/customized.dat | ||
12 | index 7df398d..f857bd2 100644 | ||
13 | --- a/t/porting/customized.dat | ||
14 | +++ b/t/porting/customized.dat | ||
15 | @@ -1,7 +1,7 @@ | ||
16 | ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm 7f4dfd0fe884bd42412bcf04ca80ef97b39c1d54 | ||
17 | ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm bef099988b15fb0b2a1f5ac48c01af1f7f36d329 | ||
18 | -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 8168e18f0e3ce3ece4bb7e7c72d57ec07c67c402 | ||
19 | -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 7115e97a53559cb3ec061dd6f7f344e522724c4a | ||
20 | +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 3493ae6f93264e967f58dedaa3dbf3dbcb249853 | ||
21 | +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 3d7abd674b15ed323f743594ef0bd09db76b1aee | ||
22 | ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm f8db8d4245bf0684b8210c811f50d7cfb1a27d78 | ||
23 | ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod 757bffb47857521311f8f3bde43ebe165f8d5191 | ||
24 | ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm 82be06851deb84c6419ad003ce9b6d1957f395f3 | ||
25 | @@ -13,7 +13,7 @@ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm 58872d66 | ||
26 | ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm ab80029ab16d38d4f2e41dc88d2ceb9f3790e477 | ||
27 | ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm 453e0abbc4bb38db4c0820ad5c4846f313b66291 | ||
28 | ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm c1b1babda8f43ae7a2caba1cb4f70f92af5a0e34 | ||
29 | -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 6f90d94ad3e7aa0045a3b1a10a1bb18391f89f57 | ||
30 | +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 21bde53290bf1a4da4457290b65bd1b0ca6f1d16 | ||
31 | ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm cab2b3ce08b71a4ce89aa630f236eb08b852439d | ||
32 | ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm 61fced0faf518bf87c265fcb51ed330ba354623f | ||
33 | ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm ae0ef51a7b6dd0b05aa61c779df7167dda5f5119 | ||
34 | @@ -22,7 +22,7 @@ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm 0544301f712 | ||
35 | ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm 433135eecb85b4b1d90d3027432f329436c78447 | ||
36 | ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm 1fbb5605bfb47feee4083feba8aa85e659628f70 | ||
37 | ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm 5b66d1f485a6034d96fc24ba1665b1bad9e447f1 | ||
38 | -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 8cef99a9bd370ecfd07ddb0efbdcbb4101255e45 | ||
39 | +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm c455c915fb7dc3eeb1200ed1cd19048e6f21e6b1 | ||
40 | ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm 939572fde3d59ba77c2e677fe2df2bed4bed5898 | ||
41 | ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm 09c2049bfd25b735e2a5bcf56a6cff7b4827f9c8 | ||
42 | ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm d65d63f8217a55c36f62e249814988974f593c79 | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/mod_paths.diff b/meta/recipes-devtools/perl/perl/debian/mod_paths.diff new file mode 100644 index 0000000000..ae15907609 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/mod_paths.diff | |||
@@ -0,0 +1,99 @@ | |||
1 | From 6c6cf14e204f3c031372bfd9604ad524d5691186 Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Fri, 18 Mar 2005 22:22:25 +1100 | ||
4 | Subject: Tweak @INC ordering for Debian | ||
5 | |||
6 | Our order is: | ||
7 | |||
8 | etc (for config files) | ||
9 | site (5.8.1) | ||
10 | vendor (all) | ||
11 | core (5.8.1) | ||
12 | site (version-indep) | ||
13 | site (pre-5.8.1) | ||
14 | |||
15 | The rationale being that an admin (via site), or module packager | ||
16 | (vendor) can chose to shadow core modules when there is a newer | ||
17 | version than is included in core. | ||
18 | |||
19 | Patch-Name: debian/mod_paths.diff | ||
20 | --- | ||
21 | perl.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | ||
22 | 1 file changed, 58 insertions(+) | ||
23 | |||
24 | diff --git a/perl.c b/perl.c | ||
25 | index 086645b..e64f1f4 100644 | ||
26 | --- a/perl.c | ||
27 | +++ b/perl.c | ||
28 | @@ -4373,6 +4373,11 @@ S_init_perllib(pTHX) | ||
29 | INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE); | ||
30 | #endif | ||
31 | |||
32 | +#ifdef DEBIAN | ||
33 | + /* for configuration where /usr is mounted ro (CPAN::Config, Net::Config) */ | ||
34 | + S_incpush_use_sep(aTHX_ STR_WITH_LEN("/etc/perl"), 0x0); | ||
35 | +#endif | ||
36 | + | ||
37 | #ifdef SITEARCH_EXP | ||
38 | /* sitearch is always relative to sitelib on Windows for | ||
39 | * DLL-based path intuition to work correctly */ | ||
40 | @@ -4490,6 +4495,59 @@ S_init_perllib(pTHX) | ||
41 | INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE); | ||
42 | #endif | ||
43 | |||
44 | +#ifdef DEBIAN | ||
45 | + /* Non-versioned site directory for local modules and for | ||
46 | + compatability with the previous packages' site dirs */ | ||
47 | + S_incpush_use_sep(aTHX_ STR_WITH_LEN("/usr/local/lib/site_perl"), | ||
48 | + INCPUSH_ADD_SUB_DIRS); | ||
49 | + | ||
50 | +#ifdef PERL_INC_VERSION_LIST | ||
51 | + { | ||
52 | + struct stat s; | ||
53 | + | ||
54 | + /* add small buffer in case old versions are longer than the | ||
55 | + current version */ | ||
56 | + char sitearch[sizeof(SITEARCH_EXP)+16] = SITEARCH_EXP; | ||
57 | + char sitelib[sizeof(SITELIB_EXP)+16] = SITELIB_EXP; | ||
58 | + char const *vers[] = { PERL_INC_VERSION_LIST }; | ||
59 | + char const **p; | ||
60 | + | ||
61 | + char *arch_vers = strrchr(sitearch, '/'); | ||
62 | + char *lib_vers = strrchr(sitelib, '/'); | ||
63 | + | ||
64 | + if (arch_vers && isdigit(*++arch_vers)) | ||
65 | + *arch_vers = 0; | ||
66 | + else | ||
67 | + arch_vers = 0; | ||
68 | + | ||
69 | + if (lib_vers && isdigit(*++lib_vers)) | ||
70 | + *lib_vers = 0; | ||
71 | + else | ||
72 | + lib_vers = 0; | ||
73 | + | ||
74 | + /* there is some duplication here as incpush does something | ||
75 | + similar internally, but required as sitearch is not a | ||
76 | + subdirectory of sitelib */ | ||
77 | + for (p = vers; *p; p++) | ||
78 | + { | ||
79 | + if (arch_vers) | ||
80 | + { | ||
81 | + strcpy(arch_vers, *p); | ||
82 | + if (PerlLIO_stat(sitearch, &s) >= 0 && S_ISDIR(s.st_mode)) | ||
83 | + S_incpush_use_sep(aTHX_ sitearch, strlen(sitearch), 0x0); | ||
84 | + } | ||
85 | + | ||
86 | + if (lib_vers) | ||
87 | + { | ||
88 | + strcpy(lib_vers, *p); | ||
89 | + if (PerlLIO_stat(sitelib, &s) >= 0 && S_ISDIR(s.st_mode)) | ||
90 | + S_incpush_use_sep(aTHX_ sitelib, strlen(sitelib), 0x0); | ||
91 | + } | ||
92 | + } | ||
93 | + } | ||
94 | +#endif | ||
95 | +#endif | ||
96 | + | ||
97 | #ifdef PERL_OTHERLIBDIRS | ||
98 | S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS), | ||
99 | INCPUSH_ADD_OLD_VERS|INCPUSH_ADD_ARCHONLY_SUB_DIRS | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/no_packlist_perllocal.diff b/meta/recipes-devtools/perl/perl/debian/no_packlist_perllocal.diff new file mode 100644 index 0000000000..b911fd2762 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/no_packlist_perllocal.diff | |||
@@ -0,0 +1,92 @@ | |||
1 | From 240f2f4aeb3850bc0c5370b9fbc3909573bed9b3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 | ||
4 | Subject: Don't install .packlist or perllocal.pod for perl or vendor | ||
5 | |||
6 | Patch-Name: debian/no_packlist_perllocal.diff | ||
7 | --- | ||
8 | cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 35 +++---------------------- | ||
9 | 1 file changed, 3 insertions(+), 32 deletions(-) | ||
10 | |||
11 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
12 | index 570a631..391dc22 100644 | ||
13 | --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
14 | +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
15 | @@ -2122,11 +2122,6 @@ pure_perl_install :: all | ||
16 | }; | ||
17 | |||
18 | push @m, | ||
19 | -q{ read "}.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{" \ | ||
20 | - write "}.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{" \ | ||
21 | -} unless $self->{NO_PACKLIST}; | ||
22 | - | ||
23 | - push @m, | ||
24 | q{ "$(INST_LIB)" "$(DESTINSTALLPRIVLIB)" \ | ||
25 | "$(INST_ARCHLIB)" "$(DESTINSTALLARCHLIB)" \ | ||
26 | "$(INST_BIN)" "$(DESTINSTALLBIN)" \ | ||
27 | @@ -2158,10 +2153,6 @@ q{ "$(INST_LIB)" "$(DESTINSTALLSITELIB)" \ | ||
28 | pure_vendor_install :: all | ||
29 | $(NOECHO) umask 022; $(MOD_INSTALL) \ | ||
30 | }; | ||
31 | - push @m, | ||
32 | -q{ read "}.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \ | ||
33 | - write "}.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{" \ | ||
34 | -} unless $self->{NO_PACKLIST}; | ||
35 | |||
36 | push @m, | ||
37 | q{ "$(INST_LIB)" "$(DESTINSTALLVENDORLIB)" \ | ||
38 | @@ -2187,37 +2178,19 @@ doc_vendor_install :: all | ||
39 | |||
40 | push @m, q{ | ||
41 | doc_perl_install :: all | ||
42 | - $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod" | ||
43 | - -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)" | ||
44 | - -$(NOECHO) umask 022; $(DOC_INSTALL) \ | ||
45 | - "Module" "$(NAME)" \ | ||
46 | - "installed into" $(INSTALLPRIVLIB) \ | ||
47 | - LINKTYPE "$(LINKTYPE)" \ | ||
48 | - VERSION "$(VERSION)" \ | ||
49 | - EXE_FILES "$(EXE_FILES)" \ | ||
50 | - >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{" | ||
51 | |||
52 | doc_site_install :: all | ||
53 | - $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod" | ||
54 | - -$(NOECHO) umask 02; $(MKPATH) "$(DESTINSTALLARCHLIB)" | ||
55 | + $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLSITEARCH)/perllocal.pod" | ||
56 | + -$(NOECHO) umask 02; $(MKPATH) "$(DESTINSTALLSITEARCH)" | ||
57 | -$(NOECHO) umask 02; $(DOC_INSTALL) \ | ||
58 | "Module" "$(NAME)" \ | ||
59 | "installed into" $(INSTALLSITELIB) \ | ||
60 | LINKTYPE "$(LINKTYPE)" \ | ||
61 | VERSION "$(VERSION)" \ | ||
62 | EXE_FILES "$(EXE_FILES)" \ | ||
63 | - >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{" | ||
64 | + >> "}.$self->catfile('$(DESTINSTALLSITEARCH)','perllocal.pod').q{" | ||
65 | |||
66 | doc_vendor_install :: all | ||
67 | - $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod" | ||
68 | - -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)" | ||
69 | - -$(NOECHO) umask 022; $(DOC_INSTALL) \ | ||
70 | - "Module" "$(NAME)" \ | ||
71 | - "installed into" $(INSTALLVENDORLIB) \ | ||
72 | - LINKTYPE "$(LINKTYPE)" \ | ||
73 | - VERSION "$(VERSION)" \ | ||
74 | - EXE_FILES "$(EXE_FILES)" \ | ||
75 | - >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{" | ||
76 | |||
77 | } unless $self->{NO_PERLLOCAL}; | ||
78 | |||
79 | @@ -2226,13 +2199,11 @@ uninstall :: uninstall_from_$(INSTALLDIRS)dirs | ||
80 | $(NOECHO) $(NOOP) | ||
81 | |||
82 | uninstall_from_perldirs :: | ||
83 | - $(NOECHO) $(UNINSTALL) "}.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{" | ||
84 | |||
85 | uninstall_from_sitedirs :: | ||
86 | $(NOECHO) $(UNINSTALL) "}.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{" | ||
87 | |||
88 | uninstall_from_vendordirs :: | ||
89 | - $(NOECHO) $(UNINSTALL) "}.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{" | ||
90 | }; | ||
91 | |||
92 | join("",@m); | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/patchlevel.diff b/meta/recipes-devtools/perl/perl/debian/patchlevel.diff new file mode 100644 index 0000000000..8656b027e8 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/patchlevel.diff | |||
@@ -0,0 +1,30 @@ | |||
1 | From b517c5e15d0871e36d0f1187661fe1dd28ddf820 Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Sun, 15 May 2011 19:35:58 +0300 | ||
4 | Subject: List packaged patches in patchlevel.h | ||
5 | |||
6 | Origin: vendor | ||
7 | Bug-Debian: http://bugs.debian.org/567489 | ||
8 | |||
9 | The list of packaged patches is in patchlevel-debian.h, which is generated | ||
10 | from the debian/patches/ directory when building the package. | ||
11 | |||
12 | Patch-Name: debian/patchlevel.diff | ||
13 | --- | ||
14 | patchlevel.h | 3 +++ | ||
15 | 1 file changed, 3 insertions(+) | ||
16 | |||
17 | diff --git a/patchlevel.h b/patchlevel.h | ||
18 | index a0ad78b..01367b7 100644 | ||
19 | --- a/patchlevel.h | ||
20 | +++ b/patchlevel.h | ||
21 | @@ -137,6 +137,9 @@ static const char * const local_patches[] = { | ||
22 | ,"uncommitted-changes" | ||
23 | #endif | ||
24 | PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */ | ||
25 | +#ifdef DEBIAN | ||
26 | +#include "patchlevel-debian.h" | ||
27 | +#endif | ||
28 | ,NULL | ||
29 | }; | ||
30 | |||
diff --git a/meta/recipes-devtools/perl/perl/debian/perl5db-x-terminal-emulator.patch b/meta/recipes-devtools/perl/perl/debian/perl5db-x-terminal-emulator.patch new file mode 100644 index 0000000000..533952cac7 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/perl5db-x-terminal-emulator.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | From c99c61e8f863a508a0793168011c98dc74abbd05 Mon Sep 17 00:00:00 2001 | ||
2 | From: Dominic Hargreaves <dom@earth.li> | ||
3 | Date: Sat, 14 Apr 2012 11:34:05 +0100 | ||
4 | Subject: Invoke x-terminal-emulator rather than xterm in perl5db.pl | ||
5 | |||
6 | In Debian systems, xterm might not exist or might not be the preferred | ||
7 | terminal emulator. Use x-terminal-emulator instead | ||
8 | |||
9 | Bug-Debian: http://bugs.debian.org/668490 | ||
10 | Forwarded: not-needed | ||
11 | |||
12 | Patch-Name: debian/perl5db-x-terminal-emulator.patch | ||
13 | --- | ||
14 | lib/perl5db.pl | 2 +- | ||
15 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
16 | |||
17 | diff --git a/lib/perl5db.pl b/lib/perl5db.pl | ||
18 | index 7e7194e..c466bf3 100644 | ||
19 | --- a/lib/perl5db.pl | ||
20 | +++ b/lib/perl5db.pl | ||
21 | @@ -6960,7 +6960,7 @@ properly set up. | ||
22 | sub xterm_get_fork_TTY { | ||
23 | ( my $name = $0 ) =~ s,^.*[/\\],,s; | ||
24 | open XT, | ||
25 | -qq[3>&1 xterm -title "Daughter Perl debugger $pids $name" -e sh -c 'tty 1>&3;\ | ||
26 | +qq[3>&1 x-terminal-emulator -T "Daughter Perl debugger $pids $name" -e sh -c 'tty 1>&3;\ | ||
27 | sleep 10000000' |]; | ||
28 | |||
29 | # Get the output from 'tty' and clean it up a little. | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/perlivp.diff b/meta/recipes-devtools/perl/perl/debian/perlivp.diff new file mode 100644 index 0000000000..2c1eab9709 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/perlivp.diff | |||
@@ -0,0 +1,39 @@ | |||
1 | From fbfbeb7a690d703a3cdc56f923e89eb7b7997d31 Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Fri, 9 Jan 2009 18:54:47 +0200 | ||
4 | Subject: Make perlivp skip include directories in /usr/local | ||
5 | |||
6 | Bug-Debian: http://bugs.debian.org/510895 | ||
7 | |||
8 | On Sat, Jan 10, 2009 at 12:37:18AM +1100, Brendan O'Dea wrote: | ||
9 | > On Wed, Jan 7, 2009 at 12:21 AM, Niko Tyni <ntyni@debian.org> wrote: | ||
10 | |||
11 | > > We could create the directories in a postinst script, but I'm not sure | ||
12 | > > I see the point. They will be created automatically when installing | ||
13 | > > CPAN modules. | ||
14 | > | ||
15 | > The directories are intentionally not created, as this way they are | ||
16 | > excluded from the search path at start-up, saving a bunch of wasted | ||
17 | > stats at use/require time in the common case that the user has not | ||
18 | > installed any local packages. As Niko points out, they will be | ||
19 | > created as required. | ||
20 | |||
21 | Signed-off-by: Niko Tyni <ntyni@debian.org> | ||
22 | |||
23 | Patch-Name: debian/perlivp.diff | ||
24 | --- | ||
25 | utils/perlivp.PL | 1 + | ||
26 | 1 file changed, 1 insertion(+) | ||
27 | |||
28 | diff --git a/utils/perlivp.PL b/utils/perlivp.PL | ||
29 | index c2f0a11..cc49f96 100644 | ||
30 | --- a/utils/perlivp.PL | ||
31 | +++ b/utils/perlivp.PL | ||
32 | @@ -153,6 +153,7 @@ my $INC_total = 0; | ||
33 | my $INC_there = 0; | ||
34 | foreach (@INC) { | ||
35 | next if $_ eq '.'; # skip -d test here | ||
36 | + next if m|/usr/local|; # not shipped on Debian | ||
37 | if (-d $_) { | ||
38 | print "## Perl \@INC directory '$_' exists.\n" if $opt{'v'}; | ||
39 | $INC_there++; | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/pod2man-customized.diff b/meta/recipes-devtools/perl/perl/debian/pod2man-customized.diff new file mode 100644 index 0000000000..6270b87318 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/pod2man-customized.diff | |||
@@ -0,0 +1,23 @@ | |||
1 | From 27a4952c2e531947dc9f2f02e2063d117e2e699a Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Sat, 18 Apr 2015 17:39:32 +0300 | ||
4 | Subject: Update porting/customized.dat for pod2man modifications | ||
5 | |||
6 | Patch-Name: debian/pod2man-customized.diff | ||
7 | --- | ||
8 | t/porting/customized.dat | 2 +- | ||
9 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
10 | |||
11 | diff --git a/t/porting/customized.dat b/t/porting/customized.dat | ||
12 | index 0eed9f7..7df398d 100644 | ||
13 | --- a/t/porting/customized.dat | ||
14 | +++ b/t/porting/customized.dat | ||
15 | @@ -42,7 +42,7 @@ Win32API::File cpan/Win32API-File/Makefile.PL 605d0aee31aebe84a99408f9ab5f644db5 | ||
16 | Win32API::File cpan/Win32API-File/t/file.t 124e64aa77e755235eb297644a87fac5388d3d78 | ||
17 | Win32API::File cpan/Win32API-File/t/tie.t 712ea7edd0cc805ce1c0b8172c01b03dd19b583d | ||
18 | Win32API::File cpan/Win32API-File/typemap 24bff088babeadac0873e8df390d1666d9d9db4a | ||
19 | -podlators cpan/podlators/scripts/pod2man.PL f81acf53f3ff46cdcc5ebdd661c5d13eb35d20d6 | ||
20 | +podlators cpan/podlators/scripts/pod2man.PL 761f35d3fcf91c1bc2f9e024a9fa5c62fd3fc338 | ||
21 | podlators cpan/podlators/scripts/pod2text.PL b4693fcfe4a0a1b38a215cfb8985a65d5d025d69 | ||
22 | version cpan/version/lib/version.pm d0923b895d57f1d669ae36fcf85c87b16db341d1 | ||
23 | version vutil.c 668f17ca43e2527645674d29ba772b86330d5663 | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/prefix_changes.diff b/meta/recipes-devtools/perl/perl/debian/prefix_changes.diff new file mode 100644 index 0000000000..c41efbe3e8 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/prefix_changes.diff | |||
@@ -0,0 +1,118 @@ | |||
1 | From 914948f026efce02cf0abff8b0312aaad96592ed Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 | ||
4 | Subject: Fiddle with *PREFIX and variables written to the makefile | ||
5 | |||
6 | Fiddle with *PREFIX and variables written to the makefile so that | ||
7 | install directories may be changed when make is run by passing | ||
8 | PREFIX= to the "make install" command (used when packaging | ||
9 | modules). | ||
10 | |||
11 | Patch-Name: debian/prefix_changes.diff | ||
12 | --- | ||
13 | cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | 12 ++++++------ | ||
14 | cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 3 +-- | ||
15 | cpan/ExtUtils-MakeMaker/t/INST.t | 4 +--- | ||
16 | cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t | 10 +++++----- | ||
17 | 4 files changed, 13 insertions(+), 16 deletions(-) | ||
18 | |||
19 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | ||
20 | index 4c00129..1ea2035 100644 | ||
21 | --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | ||
22 | +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | ||
23 | @@ -902,8 +902,6 @@ all POD files in MAN1PODS and MAN3PODS. | ||
24 | sub manifypods_target { | ||
25 | my($self) = shift; | ||
26 | |||
27 | - my $man1pods = ''; | ||
28 | - my $man3pods = ''; | ||
29 | my $dependencies = ''; | ||
30 | |||
31 | # populate manXpods & dependencies: | ||
32 | @@ -919,7 +917,7 @@ END | ||
33 | foreach my $section (qw(1 3)) { | ||
34 | my $pods = $self->{"MAN${section}PODS"}; | ||
35 | my $p2m = sprintf <<CMD, $] > 5.008 ? " -u" : ""; | ||
36 | - \$(NOECHO) \$(POD2MAN) --section=$section --perm_rw=\$(PERM_RW)%s | ||
37 | + \$(NOECHO) \$(POD2MAN) --section=\$(MAN${section}EXT) --perm_rw=\$(PERM_RW)%s | ||
38 | CMD | ||
39 | push @man_cmds, $self->split_command($p2m, map {($_,$pods->{$_})} sort keys %$pods); | ||
40 | } | ||
41 | @@ -1875,9 +1873,11 @@ sub init_INSTALL_from_PREFIX { | ||
42 | $self->{SITEPREFIX} ||= $sprefix; | ||
43 | $self->{VENDORPREFIX} ||= $vprefix; | ||
44 | |||
45 | - # Lots of MM extension authors like to use $(PREFIX) so we | ||
46 | - # put something sensible in there no matter what. | ||
47 | - $self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)'; | ||
48 | + my $p = $self->{PREFIX} = $self->{PERLPREFIX}; | ||
49 | + for my $t (qw/PERL SITE VENDOR/) | ||
50 | + { | ||
51 | + $self->{"${t}PREFIX"} =~ s!^\Q$p\E(?=/|$)!\$(PREFIX)!; | ||
52 | + } | ||
53 | } | ||
54 | |||
55 | my $arch = $Config{archname}; | ||
56 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
57 | index 391dc22..4a8e14c 100644 | ||
58 | --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
59 | +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
60 | @@ -3077,8 +3077,7 @@ sub prefixify { | ||
61 | warn " prefixify $var => $path\n" if $Verbose >= 2; | ||
62 | warn " from $sprefix to $rprefix\n" if $Verbose >= 2; | ||
63 | |||
64 | - if( $self->{ARGS}{PREFIX} && | ||
65 | - $path !~ s{^\Q$sprefix\E\b}{$rprefix}s ) | ||
66 | + if( $path !~ s{^\Q$sprefix\E\b}{$rprefix}s && $self->{ARGS}{PREFIX} ) | ||
67 | { | ||
68 | |||
69 | warn " cannot prefix, using default.\n" if $Verbose >= 2; | ||
70 | diff --git a/cpan/ExtUtils-MakeMaker/t/INST.t b/cpan/ExtUtils-MakeMaker/t/INST.t | ||
71 | index 91058bb..e399ced 100644 | ||
72 | --- a/cpan/ExtUtils-MakeMaker/t/INST.t | ||
73 | +++ b/cpan/ExtUtils-MakeMaker/t/INST.t | ||
74 | @@ -65,9 +65,7 @@ isa_ok( $mm, 'ExtUtils::MakeMaker' ); | ||
75 | is( $mm->{NAME}, 'Big::Dummy', 'NAME' ); | ||
76 | is( $mm->{VERSION}, 0.01, 'VERSION' ); | ||
77 | |||
78 | -my $config_prefix = $Config{installprefixexp} || $Config{installprefix} || | ||
79 | - $Config{prefixexp} || $Config{prefix}; | ||
80 | -is( $mm->{PERLPREFIX}, $config_prefix, 'PERLPREFIX' ); | ||
81 | +is( $mm->{PERLPREFIX}, '$(PREFIX)', 'PERLPREFIX' ); | ||
82 | |||
83 | is( !!$mm->{PERL_CORE}, !!$ENV{PERL_CORE}, 'PERL_CORE' ); | ||
84 | |||
85 | diff --git a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t | ||
86 | index e8de7c6..3fb3f12 100644 | ||
87 | --- a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t | ||
88 | +++ b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t | ||
89 | @@ -10,7 +10,7 @@ BEGIN { | ||
90 | } | ||
91 | |||
92 | use strict; | ||
93 | -use Test::More tests => 52; | ||
94 | +use Test::More tests => 47; | ||
95 | use MakeMaker::Test::Utils; | ||
96 | use MakeMaker::Test::Setup::BFD; | ||
97 | use ExtUtils::MakeMaker; | ||
98 | @@ -62,16 +62,16 @@ like( $stdout->read, qr{ | ||
99 | (?:Writing\ MYMETA.yml\ and\ MYMETA.json\n)? | ||
100 | }x ); | ||
101 | |||
102 | -is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' ); | ||
103 | +#is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' ); | ||
104 | |||
105 | isa_ok( $mm, 'ExtUtils::MakeMaker' ); | ||
106 | |||
107 | is( $mm->{NAME}, 'Big::Dummy', 'NAME' ); | ||
108 | is( $mm->{VERSION}, 0.01, 'VERSION' ); | ||
109 | |||
110 | -foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) { | ||
111 | - unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ ); | ||
112 | -} | ||
113 | +#foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) { | ||
114 | +# unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ ); | ||
115 | +#} | ||
116 | |||
117 | |||
118 | my $PREFIX = File::Spec->catdir('foo', 'bar'); | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/prune_libs.diff b/meta/recipes-devtools/perl/perl/debian/prune_libs.diff new file mode 100644 index 0000000000..b4443f6476 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/prune_libs.diff | |||
@@ -0,0 +1,38 @@ | |||
1 | From 21bc033755f0b609f9bb2aa9e98b10d58424406f Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Fri, 18 Mar 2005 22:22:25 +1100 | ||
4 | Subject: Prune the list of libraries wanted to what we actually need. | ||
5 | |||
6 | Bug-Debian: http://bugs.debian.org/128355 | ||
7 | |||
8 | We want to keep the dependencies on perl-base as small as possible, | ||
9 | and some of the original list may be present on buildds (see Bug#128355). | ||
10 | |||
11 | Patch-Name: debian/prune_libs.diff | ||
12 | --- | ||
13 | Configure | 5 ++--- | ||
14 | 1 file changed, 2 insertions(+), 3 deletions(-) | ||
15 | |||
16 | diff --git a/Configure b/Configure | ||
17 | index 0a405d3..6fcc3bc 100755 | ||
18 | --- a/Configure | ||
19 | +++ b/Configure | ||
20 | @@ -1454,8 +1454,7 @@ libswanted_uselargefiles='' | ||
21 | : set usesocks on the Configure command line to enable socks. | ||
22 | : List of libraries we want. | ||
23 | : If anyone needs extra -lxxx, put those in a hint file. | ||
24 | -libswanted="cl pthread socket bind inet nsl nm ndbm gdbm dbm db malloc dl ld" | ||
25 | -libswanted="$libswanted sun m crypt sec util c cposix posix ucb bsd BSD" | ||
26 | +libswanted='gdbm gdbm_compat db dl m c crypt' | ||
27 | : We probably want to search /usr/shlib before most other libraries. | ||
28 | : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. | ||
29 | glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'` | ||
30 | @@ -23593,7 +23592,7 @@ sunos*X4*) | ||
31 | ;; | ||
32 | *) case "$usedl" in | ||
33 | $define|true|[yY]*) | ||
34 | - set X `echo " $libs " | sed -e 's@ -lndbm @ @' -e 's@ -lgdbm @ @' -e 's@ -lgdbm_compat @ @' -e 's@ -ldbm @ @' -e 's@ -ldb @ @'` | ||
35 | + set X `echo " $libs " | sed -e 's@ -lgdbm @ @' -e 's@ -lgdbm_compat @ @' -e 's@ -ldb @ @'` | ||
36 | shift | ||
37 | perllibs="$*" | ||
38 | ;; | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/regen-skip.diff b/meta/recipes-devtools/perl/perl/debian/regen-skip.diff new file mode 100644 index 0000000000..8a3fc9912c --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/regen-skip.diff | |||
@@ -0,0 +1,27 @@ | |||
1 | From cb3e98e17a666896150b109694e9eb9278620845 Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Sat, 17 May 2014 14:57:01 +0300 | ||
4 | Subject: Skip a regeneration check in unrelated git repositories | ||
5 | |||
6 | If the test is run in a git repository without lib/.gitignore, | ||
7 | for instance because the repository only imported the Perl tarball, | ||
8 | the regeneration check is broken because lib/.gitignore is missing. | ||
9 | |||
10 | Patch-Name: debian/regen-skip.diff | ||
11 | --- | ||
12 | regen/lib_cleanup.pl | 2 +- | ||
13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/regen/lib_cleanup.pl b/regen/lib_cleanup.pl | ||
16 | index c9d6e43..fece1ed 100644 | ||
17 | --- a/regen/lib_cleanup.pl | ||
18 | +++ b/regen/lib_cleanup.pl | ||
19 | @@ -159,7 +159,7 @@ foreach ('win32/Makefile', 'win32/makefile.mk') { | ||
20 | } | ||
21 | |||
22 | # This must come last as it can exit early: | ||
23 | -if ($TAP && !-d '.git' && !-f 'lib/.gitignore') { | ||
24 | +if ($TAP && !-d '.git' || !-f 'lib/.gitignore') { | ||
25 | print "ok # skip not being run from a git checkout, hence no lib/.gitignore\n"; | ||
26 | exit 0; | ||
27 | } | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/skip-kfreebsd-crash.diff b/meta/recipes-devtools/perl/perl/debian/skip-kfreebsd-crash.diff new file mode 100644 index 0000000000..ecfc0bc62f --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/skip-kfreebsd-crash.diff | |||
@@ -0,0 +1,40 @@ | |||
1 | From 42853af65a28066b119d23d96e964e94b55a8541 Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Fri, 5 Aug 2011 10:50:18 +0300 | ||
4 | Subject: Skip a crashing test case in t/op/threads.t on GNU/kFreeBSD | ||
5 | |||
6 | Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=96272 | ||
7 | Bug-Debian: http://bugs.debian.org/628493 | ||
8 | |||
9 | The crash is not a regression in 5.14, it just gets triggered there by | ||
10 | a new unrelated test case. | ||
11 | |||
12 | Skip the test until the culprit is found. | ||
13 | |||
14 | Patch-Name: debian/skip-kfreebsd-crash.diff | ||
15 | --- | ||
16 | t/op/threads.t | 4 ++++ | ||
17 | 1 file changed, 4 insertions(+) | ||
18 | |||
19 | diff --git a/t/op/threads.t b/t/op/threads.t | ||
20 | index e76c956..bec210b 100644 | ||
21 | --- a/t/op/threads.t | ||
22 | +++ b/t/op/threads.t | ||
23 | @@ -376,6 +376,9 @@ EOF | ||
24 | } | ||
25 | |||
26 | |||
27 | +SKIP: { | ||
28 | + skip "[perl #96272] avoid crash on GNU/kFreeBSD", 1 | ||
29 | + if $^O eq 'gnukfreebsd'; | ||
30 | # [perl #78494] Pipes shared between threads block when closed | ||
31 | { | ||
32 | my $perl = which_perl; | ||
33 | @@ -384,6 +387,7 @@ EOF | ||
34 | threads->create(sub { })->join; | ||
35 | ok(1, "Pipes shared between threads do not block when closed"); | ||
36 | } | ||
37 | +} | ||
38 | |||
39 | # [perl #105208] Typeglob clones should not be cloned again during a join | ||
40 | { | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/skip-upstream-git-tests.diff b/meta/recipes-devtools/perl/perl/debian/skip-upstream-git-tests.diff new file mode 100644 index 0000000000..4c87104cce --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/skip-upstream-git-tests.diff | |||
@@ -0,0 +1,28 @@ | |||
1 | From ae9b645d6da2990fd055368eca2c67c449474e38 Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Fri, 22 Apr 2011 11:15:32 +0300 | ||
4 | Subject: Skip tests specific to the upstream Git repository | ||
5 | |||
6 | These tests fail if run from a different git repository than | ||
7 | upstream. This complicates things needlessly for downstream packagers. | ||
8 | |||
9 | Skip the tests altogether even if the .git directory exists. | ||
10 | |||
11 | Patch-Name: debian/skip-upstream-git-tests.diff | ||
12 | --- | ||
13 | t/test.pl | 2 +- | ||
14 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
15 | |||
16 | diff --git a/t/test.pl b/t/test.pl | ||
17 | index cda3840..af579a2 100644 | ||
18 | --- a/t/test.pl | ||
19 | +++ b/t/test.pl | ||
20 | @@ -174,7 +174,7 @@ sub skip_all_without_unicode_tables { # (but only under miniperl) | ||
21 | |||
22 | sub find_git_or_skip { | ||
23 | my ($source_dir, $reason); | ||
24 | - if (-d '.git') { | ||
25 | + if (-d '.git' && ! -d 'debian') { | ||
26 | $source_dir = '.'; | ||
27 | } elsif (-l 'MANIFEST' && -l 'AUTHORS') { | ||
28 | my $where = readlink 'MANIFEST'; | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/squelch-locale-warnings.diff b/meta/recipes-devtools/perl/perl/debian/squelch-locale-warnings.diff new file mode 100644 index 0000000000..cb31457761 --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/squelch-locale-warnings.diff | |||
@@ -0,0 +1,56 @@ | |||
1 | From 487a6d6ada0b08e6a7276520ebc61cd851005e7c Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Sun, 3 Oct 2010 21:36:17 +0300 | ||
4 | Subject: Squelch locale warnings in Debian package maintainer scripts | ||
5 | |||
6 | Bug-Debian: http://bugs.debian.org/508764 | ||
7 | |||
8 | The system locales are rather frequently out of sync with the C library | ||
9 | during package upgrades, causing a huge amount of useless Perl locale | ||
10 | warnings. Squelch them when running package maintainer scripts, detected | ||
11 | by the DPKG_RUNNING_VERSION environment variable. | ||
12 | |||
13 | Any real locale problem will show up after the system upgrade too, and | ||
14 | the warning will be triggered normally again at that point. | ||
15 | |||
16 | Patch-Name: debian/squelch-locale-warnings.diff | ||
17 | --- | ||
18 | locale.c | 5 ++++- | ||
19 | pod/perllocale.pod | 8 ++++++++ | ||
20 | 2 files changed, 12 insertions(+), 1 deletion(-) | ||
21 | |||
22 | diff --git a/locale.c b/locale.c | ||
23 | index 7a4a418..fdf911d 100644 | ||
24 | --- a/locale.c | ||
25 | +++ b/locale.c | ||
26 | @@ -674,7 +674,10 @@ Perl_init_i18nl10n(pTHX_ int printwarn) | ||
27 | |||
28 | const bool locwarn = (printwarn > 1 | ||
29 | || (printwarn | ||
30 | - && (! bad_lang_use_once | ||
31 | + && | ||
32 | + /* Debian specific change - see http://bugs.debian.org/508764 */ | ||
33 | + (!PerlEnv_getenv("DPKG_RUNNING_VERSION")) && | ||
34 | + (! bad_lang_use_once | ||
35 | || ( | ||
36 | /* disallow with "" or "0" */ | ||
37 | *bad_lang_use_once | ||
38 | diff --git a/pod/perllocale.pod b/pod/perllocale.pod | ||
39 | index 701b422..58cabaf 100644 | ||
40 | --- a/pod/perllocale.pod | ||
41 | +++ b/pod/perllocale.pod | ||
42 | @@ -1217,6 +1217,14 @@ B<NOTE>: C<PERL_BADLANG> only gives you a way to hide the warning message. | ||
43 | The message tells about some problem in your system's locale support, | ||
44 | and you should investigate what the problem is. | ||
45 | |||
46 | +=item DPKG_RUNNING_VERSION | ||
47 | + | ||
48 | +On Debian systems, if the DPKG_RUNNING_VERSION environment variable is | ||
49 | +set (to any value), the locale failure warnings will be suppressed just | ||
50 | +like with a zero PERL_BADLANG setting. This is done to avoid floods | ||
51 | +of spurious warnings during system upgrades. | ||
52 | +See L<http://bugs.debian.org/508764>. | ||
53 | + | ||
54 | =back | ||
55 | |||
56 | The following environment variables are not specific to Perl: They are | ||
diff --git a/meta/recipes-devtools/perl/perl/debian/writable_site_dirs.diff b/meta/recipes-devtools/perl/perl/debian/writable_site_dirs.diff new file mode 100644 index 0000000000..53adc2f4db --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/writable_site_dirs.diff | |||
@@ -0,0 +1,36 @@ | |||
1 | From 591c1f9b7d4755bfc59d9665bab1f2ca410de765 Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 | ||
4 | Subject: Set umask approproately for site install directories | ||
5 | |||
6 | Policy requires group writable site directories | ||
7 | |||
8 | Patch-Name: debian/writable_site_dirs.diff | ||
9 | --- | ||
10 | cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 6 +++--- | ||
11 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
12 | |||
13 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
14 | index 197f102..5f1b87f 100644 | ||
15 | --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
16 | +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
17 | @@ -2138,7 +2138,7 @@ q{ "$(INST_LIB)" "$(DESTINSTALLPRIVLIB)" \ | ||
18 | |||
19 | |||
20 | pure_site_install :: all | ||
21 | - $(NOECHO) umask 022; $(MOD_INSTALL) \ | ||
22 | + $(NOECHO) umask 02; $(MOD_INSTALL) \ | ||
23 | }; | ||
24 | push @m, | ||
25 | q{ read "}.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \ | ||
26 | @@ -2199,8 +2199,8 @@ doc_perl_install :: all | ||
27 | |||
28 | doc_site_install :: all | ||
29 | $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod" | ||
30 | - -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)" | ||
31 | - -$(NOECHO) umask 022; $(DOC_INSTALL) \ | ||
32 | + -$(NOECHO) umask 02; $(MKPATH) "$(DESTINSTALLARCHLIB)" | ||
33 | + -$(NOECHO) umask 02; $(DOC_INSTALL) \ | ||
34 | "Module" "$(NAME)" \ | ||
35 | "installed into" $(INSTALLSITELIB) \ | ||
36 | LINKTYPE "$(LINKTYPE)" \ | ||