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