diff options
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian')
40 files changed, 2177 insertions, 0 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/cpan-missing-site-dirs.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/cpan-missing-site-dirs.diff new file mode 100644 index 000000000..a63b96831 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/cpan-missing-site-dirs.diff @@ -0,0 +1,62 @@ +From d33d46963035ef726144dc66be2ae9c00aec0333 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 33054cd..7b0becf 100644 +--- a/cpan/CPAN/lib/CPAN/FirstTime.pm ++++ b/cpan/CPAN/lib/CPAN/FirstTime.pm +@@ -2057,11 +2057,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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/cpan_definstalldirs.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/cpan_definstalldirs.diff new file mode 100644 index 000000000..6b5295045 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/cpan_definstalldirs.diff @@ -0,0 +1,37 @@ +From 5ff1f21484aab68efe321ff4ba5d35928f72af96 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 918e009..33054cd 100644 +--- a/cpan/CPAN/lib/CPAN/FirstTime.pm ++++ b/cpan/CPAN/lib/CPAN/FirstTime.pm +@@ -1024,7 +1024,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( +@@ -1056,7 +1056,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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/db_file_ver.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/db_file_ver.diff new file mode 100644 index 000000000..280bf1170 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/db_file_ver.diff @@ -0,0 +1,34 @@ +From 01421f8a80d5c623959695ba2b8167f30112d333 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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/deprecate-with-apt.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/deprecate-with-apt.diff new file mode 100644 index 000000000..601ee4c30 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/deprecate-with-apt.diff @@ -0,0 +1,56 @@ +From def4aa3817f98aae625e601b791ef068276f05d5 Mon Sep 17 00:00:00 2001 +From: Dominic Hargreaves <dom@earth.li> +Date: Mon, 17 May 2010 13:23:07 +0300 +Subject: Point users to Debian packages of deprecated core modules + +Bug-Debian: http://bugs.debian.org/747628 + +Several modules are being deprecated with perl 5.20. +To get a clean transition, perl/perl-modules is going to recommend the +separate Debian packages of these for one release cycle so that they will be +pulled in by default on upgrades. This is taking place for perl 5.20/jessie. + +However, on systems configured to ignore recommendations the deprecation +warnings will still be useful, so modify them slightly to point to the +separate packages instead. + +Patch-Name: debian/deprecate-with-apt.diff +--- + lib/deprecate.pm | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +diff --git a/lib/deprecate.pm b/lib/deprecate.pm +index 47bc112..b0c61df 100644 +--- a/lib/deprecate.pm ++++ b/lib/deprecate.pm +@@ -7,6 +7,13 @@ our $VERSION = 0.03; + our %Config; + unless (%Config) { require Config; *Config = \%Config::Config; } + ++# Debian-specific change: recommend the separate Debian packages of ++# deprecated modules where available ++ ++our %DEBIAN_PACKAGES = ( ++ # None for the perl 5.22 cycle ++); ++ + # This isn't a public API. It's internal to code maintained by the perl-porters + # If you would like it to be a public API, please send a patch with + # documentation and tests. Until then, it may change without warning. +@@ -58,9 +65,15 @@ EOM + if (defined $callers_bitmask + && (vec($callers_bitmask, $warnings::Offsets{deprecated}, 1) + || vec($callers_bitmask, $warnings::Offsets{all}, 1))) { +- warn <<"EOM"; ++ if (my $deb = $DEBIAN_PACKAGES{$package}) { ++ warn <<"EOM"; ++$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. ++EOM ++ } else { ++ warn <<"EOM"; + $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. + EOM ++ } + } + } + } diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/doc_info.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/doc_info.diff new file mode 100644 index 000000000..fbea2ee22 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/doc_info.diff @@ -0,0 +1,35 @@ +From e18f81e69c55d698abd293e71063d6b6b275cc07 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 364e957..f97e103 100644 +--- a/pod/perl.pod ++++ b/pod/perl.pod +@@ -291,8 +291,16 @@ aux c2ph h2ph h2xs perlbug pl2pm pod2html pod2man 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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/enc2xs_inc.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/enc2xs_inc.diff new file mode 100644 index 000000000..e074b20fd --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/enc2xs_inc.diff @@ -0,0 +1,70 @@ +From 7fe59a3d0601c6d8634eae4f99dae3024cd02a92 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 19f2b2b..4d64e38 100644 +--- a/cpan/Encode/bin/enc2xs ++++ b/cpan/Encode/bin/enc2xs +@@ -944,11 +944,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; +@@ -958,7 +958,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; +@@ -1025,7 +1025,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 45fcafb..3bd6adb 100644 +--- a/t/porting/customized.t ++++ b/t/porting/customized.t +@@ -101,8 +101,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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/errno_ver.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/errno_ver.diff new file mode 100644 index 000000000..bcb59c69e --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/errno_ver.diff @@ -0,0 +1,35 @@ +From 827eee225897c35ec97194a5971bf4bfcf250748 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 c6bfa06..519e5c7 100644 +--- a/ext/Errno/Errno_pm.PL ++++ b/ext/Errno/Errno_pm.PL +@@ -278,13 +278,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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/extutils_set_libperl_path.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/extutils_set_libperl_path.diff new file mode 100644 index 000000000..adb4bd991 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/extutils_set_libperl_path.diff @@ -0,0 +1,37 @@ +From 431275078b0490d2e092442d9582be06bb95b354 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 5f1b87f..570a631 100644 +--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm ++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +@@ -2505,7 +2505,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 42f156a..77c1279 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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fakeroot.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fakeroot.diff new file mode 100644 index 000000000..ec461cfe5 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fakeroot.diff @@ -0,0 +1,42 @@ +From 27ae7b18078d801a2c943aa6de2f7e9808177251 Mon Sep 17 00:00:00 2001 +From: Brendan O'Dea <bod@debian.org> +Date: Fri, 18 Mar 2005 22:22:25 +1100 +Subject: Postpone LD_LIBRARY_PATH evaluation to the binary targets. + +Modify the setting of LD_LIBRARY_PATH to append pre-existing values at the +time the rule is evaluated rather than when the Makefile is created. + +This is required when building packages with dpkg-buildpackage and fakeroot, +since fakeroot (which now sets LD_LIBRARY_PATH) is not used for the "build" +rule where the Makefile is created, but is for the clean/binary* targets. + +Patch-Name: debian/fakeroot.diff +--- + Makefile.SH | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/Makefile.SH b/Makefile.SH +index 034d812..04dd7d5 100755 +--- a/Makefile.SH ++++ b/Makefile.SH +@@ -39,10 +39,7 @@ case "$useshrplib" in + true) + # Prefix all runs of 'miniperl' and 'perl' with + # $ldlibpth so that ./perl finds *this* shared libperl. +- case "$LD_LIBRARY_PATH" in +- '') ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `" ;; +- *) ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `:` quote "$LD_LIBRARY_PATH" `" ;; +- esac ++ ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `"'$${LD_LIBRARY_PATH:+:}$$LD_LIBRARY_PATH' + + pldlflags="$cccdlflags" + static_ldflags='' +@@ -113,7 +110,7 @@ true) + ;; + esac + case "$ldlibpthname" in +- '') ;; ++ ''|LD_LIBRARY_PATH) ;; + *) + case "$osname" in + os2) diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/find_html2text.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/find_html2text.diff new file mode 100644 index 000000000..d319e7518 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/find_html2text.diff @@ -0,0 +1,35 @@ +From c81dbdedff9e9b4fb75ac028aa718838c0292d2f 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 092b781..5c2bae1 100644 +--- a/cpan/CPAN/lib/CPAN/Distribution.pm ++++ b/cpan/CPAN/lib/CPAN/Distribution.pm +@@ -4099,7 +4099,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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/document_makemaker_ccflags.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/document_makemaker_ccflags.diff new file mode 100644 index 000000000..61a92712e --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/document_makemaker_ccflags.diff @@ -0,0 +1,31 @@ +From 9faf6dcc3a5c4154484d812eb3cc3dd78b35563b 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 fe95b27..90403e8 100644 +--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm ++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm +@@ -1774,6 +1774,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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/memoize_storable_nstore.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/memoize_storable_nstore.diff new file mode 100644 index 000000000..525f962c1 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/memoize_storable_nstore.diff @@ -0,0 +1,110 @@ +From 55d430eb02fc116581847304ca20321687978269 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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/net_smtp_docs.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/net_smtp_docs.diff new file mode 100644 index 000000000..3c31972c6 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/net_smtp_docs.diff @@ -0,0 +1,25 @@ +From fa085fedd9c406edcd4a1a256c025d5ff7f6c6de 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/lib/Net/SMTP.pm | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/cpan/libnet/lib/Net/SMTP.pm b/cpan/libnet/lib/Net/SMTP.pm +index afd017a..6ae7d9e 100644 +--- a/cpan/libnet/lib/Net/SMTP.pm ++++ b/cpan/libnet/lib/Net/SMTP.pm +@@ -738,6 +738,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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/perl-Cnn.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/perl-Cnn.diff new file mode 100644 index 000000000..b5564fdbc --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/perl-Cnn.diff @@ -0,0 +1,73 @@ +From 0ecf83f259db09cb38cb37c9b22e72be185afa8f Mon Sep 17 00:00:00 2001 +From: Hugo van der Sanden <hv@crypt.org> +Date: Thu, 11 Jun 2015 12:25:40 +0100 +Subject: fix -Cnn parsing + +Commit 22ff313068 for [perl #123814] inadvertently changed the logic when +parsing a numeric parameter to the -C option, such that the successfully +parsed number was not saved as the option value if it parsed to the end +of the argument. + +Bug: https://rt.perl.org/Ticket/Display.html?id=125381 +Bug-Debian: https://bugs.debian.org/788636 +Origin: upstream, http://perl5.git.perl.org/perl.git/commit/89d84ff965 +Patch-Name: fixes/perl-Cnn.diff +--- + t/run/switchC.t | 7 ++++++- + util.c | 17 ++++++++--------- + 2 files changed, 14 insertions(+), 10 deletions(-) + +diff --git a/t/run/switchC.t b/t/run/switchC.t +index f6aa868..4f63c3b 100644 +--- a/t/run/switchC.t ++++ b/t/run/switchC.t +@@ -11,7 +11,7 @@ BEGIN { + skip_all_if_miniperl('-C and $ENV{PERL_UNICODE} are disabled on miniperl'); + } + +-plan(tests => 13); ++plan(tests => 14); + + my $r; + +@@ -25,6 +25,11 @@ $r = runperl( switches => [ '-CO', '-w' ], + stderr => 1 ); + like( $r, qr/^$b(?:\r?\n)?$/s, '-CO: no warning on UTF-8 output' ); + ++$r = runperl( switches => [ '-C2', '-w' ], ++ prog => 'print chr(256)', ++ stderr => 1 ); ++like( $r, qr/^$b(?:\r?\n)?$/s, '-C2: no warning on UTF-8 output' ); ++ + SKIP: { + if (exists $ENV{PERL_UNICODE} && + ($ENV{PERL_UNICODE} eq "" || $ENV{PERL_UNICODE} =~ /[SO]/)) { +diff --git a/util.c b/util.c +index 8cf62f5..ee23314 100644 +--- a/util.c ++++ b/util.c +@@ -4420,16 +4420,15 @@ Perl_parse_unicode_opts(pTHX_ const char **popt) + if (isDIGIT(*p)) { + const char* endptr; + UV uv; +- if (grok_atoUV(p, &uv, &endptr) +- && uv <= U32_MAX +- && (p = endptr) +- && *p && *p != '\n' && *p != '\r' +- ) { ++ if (grok_atoUV(p, &uv, &endptr) && uv <= U32_MAX) { + opt = (U32)uv; +- if (isSPACE(*p)) +- goto the_end_of_the_opts_parser; +- else +- Perl_croak(aTHX_ "Unknown Unicode option letter '%c'", *p); ++ p = endptr; ++ if (p && *p && *p != '\n' && *p != '\r') { ++ if (isSPACE(*p)) ++ goto the_end_of_the_opts_parser; ++ else ++ Perl_croak(aTHX_ "Unknown Unicode option letter '%c'", *p); ++ } + } + } + else { diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/pod_man_reproducible_date.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/pod_man_reproducible_date.diff new file mode 100644 index 000000000..7c9ca867a --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/pod_man_reproducible_date.diff @@ -0,0 +1,170 @@ +From 9057adc106d6bbef53c9e706523cd94f1a7a08d4 Mon Sep 17 00:00:00 2001 +From: Russ Allbery <rra@debian.org> +Date: Sat, 30 Aug 2014 15:10:41 -0700 +Subject: Support POD_MAN_DATE in Pod::Man for the left-hand footer + +Honor the environment variable POD_MAN_DATE and use its contents, if +set, as the value of the left-hand footer if the date option is not +set, overriding the timestamp of the input file. This is primarily +useful to ensure reproducible builds of the same output file given the +same souce and Pod::Man version, even when file timestamps may not be +consistent. Thanks, Niko Tyni. + +Bug-Debian: http://bugs.debian.org/759405 +Origin: upstream +Patch-Name: fixes/pod_man_reproducible_date.diff +--- + cpan/podlators/lib/Pod/Man.pm | 69 +++++++++++++++++++++++++++++++----------- + cpan/podlators/t/devise-date.t | 29 +++++++++++++----- + 2 files changed, 72 insertions(+), 26 deletions(-) + +diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm +index 72ca9ff..0536662 100644 +--- a/cpan/podlators/lib/Pod/Man.pm ++++ b/cpan/podlators/lib/Pod/Man.pm +@@ -876,25 +876,42 @@ sub devise_title { + } + + # Determine the modification date and return that, properly formatted in ISO +-# format. If we can't get the modification date of the input, instead use the +-# current time. Pod::Simple returns a completely unuseful stringified file +-# handle as the source_filename for input from a file handle, so we have to +-# deal with that as well. ++# format. ++# ++# If POD_MAN_DATE is set, that overrides anything else. This can be used for ++# reproducible generation of the same file even if the input file timestamps ++# are unpredictable or the POD coms from standard input. ++# ++# Otherwise, use the modification date of the input if we can stat it. Be ++# aware that Pod::Simple returns the stringification of the file handle as ++# source_filename for input from a file handle, so we'll stat some random ref ++# string in that case. If that fails, instead use the current time. ++# ++# $self - Pod::Man object, used to get the source file ++# ++# Returns: YYYY-MM-DD date suitable for the left-hand footer + sub devise_date { + my ($self) = @_; ++ ++ # If POD_MAN_DATE is set, always use it. ++ if ($ENV{POD_MAN_DATE}) { ++ return $ENV{POD_MAN_DATE}; ++ } ++ ++ # Otherwise, get the input filename and try to stat it. If that fails, ++ # use the current time. + my $input = $self->source_filename; + my $time; + if ($input) { +- $time = (stat $input)[9] || time; ++ $time = (stat($input))[9] || time(); + } else { +- $time = time; ++ $time = time(); + } + +- # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker +- # uses this and it has to work in the core which can't load dynamic +- # libraries. +- my ($year, $month, $day) = (localtime $time)[5,4,3]; +- return sprintf ("%04d-%02d-%02d", $year + 1900, $month + 1, $day); ++ # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses ++ # this and it has to work in the core which can't load dynamic libraries. ++ my ($year, $month, $day) = (localtime($time))[5,4,3]; ++ return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day); + } + + # Print out the preamble and the title. The meaning of the arguments to .TH +@@ -1632,6 +1649,15 @@ argument. + Sets the centered page header to use instead of "User Contributed Perl + Documentation". + ++=item date ++ ++Sets the left-hand footer. If this option is not set, the contents of the ++environment variable POD_MAN_DATE, if set, will be used. Failing that, ++the modification date of the input file will be used, or the current time ++if stat() can't find that file (which will be the case if the input is ++from C<STDIN>). If obtained from the file modification date or the ++current time, he date will be formatted as C<YYYY-MM-DD>. ++ + =item errors + + How to report errors. C<die> says to throw an exception on any POD +@@ -1642,13 +1668,6 @@ POD errors entirely, as much as possible. + + The default is C<pod>. + +-=item date +- +-Sets the left-hand footer. By default, the modification date of the input +-file will be used, or the current date if stat() can't find that file (the +-case if the input is from C<STDIN>), and the date will be formatted as +-C<YYYY-MM-DD>. +- + =item fixed + + The fixed-width font to use for verbatim text and code. Defaults to +@@ -1810,6 +1829,20 @@ option was set to C<die>. + + =back + ++=head1 ENVIRONMENT ++ ++=over 4 ++ ++=item POD_MAN_DATE ++ ++If set, this will be used as the value of the left-hand footer unless the ++C<date> option is explicitly set, overriding the timestamp of the input ++file or the current time. This is primarily useful to ensure reproducible ++builds of the same output file given the same souce and Pod::Man version, ++even when file timestamps may not be consistent. ++ ++=back ++ + =head1 BUGS + + Encoding handling assumes that PerlIO is available and does not work +diff --git a/cpan/podlators/t/devise-date.t b/cpan/podlators/t/devise-date.t +index 3cce9f5..c610dd9 100644 +--- a/cpan/podlators/t/devise-date.t ++++ b/cpan/podlators/t/devise-date.t +@@ -1,15 +1,28 @@ +-#!/usr/bin/perl -w +- +-# In order for MakeMaker to build in the core, nothing can use +-# Fcntl which includes POSIX. devise_date()'s use of strftime() +-# was replaced. This tests that it's identical. ++#!/usr/bin/perl ++# ++# In order for MakeMaker to build in the core, nothing can use Fcntl which ++# includes POSIX. devise_date()'s use of strftime() was replaced. This tests ++# that it's identical. It also tests special handling of the POD_MAN_DATE ++# environment variable. + ++use 5.006; + use strict; +- +-use Test::More tests => 1; ++use warnings; + + use Pod::Man; + use POSIX qw(strftime); + ++use Test::More tests => 2; ++ ++# Check that the results of device_date matches strftime. There is no input ++# file name, so this will use the current time. + my $parser = Pod::Man->new; +-is $parser->devise_date, strftime("%Y-%m-%d", localtime); ++is( ++ $parser->devise_date, ++ strftime('%Y-%m-%d', localtime()), ++ 'devise_date matches strftime' ++); ++ ++# Set the override environment variable and ensure that it's honored. ++local $ENV{POD_MAN_DATE} = '2014-01-01'; ++is($parser->devise_date, '2014-01-01', 'devise_date honors POD_MAN_DATE'); diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-empty-date.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-empty-date.diff new file mode 100644 index 000000000..7ebbf9c60 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-empty-date.diff @@ -0,0 +1,51 @@ +From 183bb4af7ad862a2cf31d0dcb3dd45c100f76776 Mon Sep 17 00:00:00 2001 +From: Russ Allbery <rra@cpan.org> +Date: Wed, 15 Apr 2015 22:21:25 -0700 +Subject: Support an empty POD_MAN_DATE environment variable + +One may want to set this to an empty string. Handle that correctly. + +(backported to Perl 5.20.2 by Niko Tyni <ntyni@debian.org>) + +Origin: upstream, http://git.eyrie.org/?p=perl/podlators.git;a=commitdiff;h=e0e9fcb53e8fc954b2b1955385eea18c27f869af +Bug-Debian: https://bugs.debian.org/780259 +Patch-Name: fixes/podman-empty-date.diff +--- + cpan/podlators/lib/Pod/Man.pm | 2 +- + cpan/podlators/t/devise-date.t | 6 +++++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm +index 365892e..8997a15 100644 +--- a/cpan/podlators/lib/Pod/Man.pm ++++ b/cpan/podlators/lib/Pod/Man.pm +@@ -894,7 +894,7 @@ sub devise_date { + my ($self) = @_; + + # If POD_MAN_DATE is set, always use it. +- if ($ENV{POD_MAN_DATE}) { ++ if (defined($ENV{POD_MAN_DATE})) { + return $ENV{POD_MAN_DATE}; + } + +diff --git a/cpan/podlators/t/devise-date.t b/cpan/podlators/t/devise-date.t +index 9da9d1b..27271d9 100644 +--- a/cpan/podlators/t/devise-date.t ++++ b/cpan/podlators/t/devise-date.t +@@ -12,7 +12,7 @@ use warnings; + use Pod::Man; + use POSIX qw(strftime); + +-use Test::More tests => 2; ++use Test::More tests => 3; + + # Check that the results of device_date matches strftime. There is no input + # file name, so this will use the current time. +@@ -26,3 +26,7 @@ is( + # Set the override environment variable and ensure that it's honored. + local $ENV{POD_MAN_DATE} = '2014-01-01'; + is($parser->devise_date, '2014-01-01', 'devise_date honors POD_MAN_DATE'); ++ ++# Check that an empty environment variable is honored. ++local $ENV{POD_MAN_DATE} = q{}; ++is($parser->devise_date, q{}, 'devise_date honors empty POD_MAN_DATE'); diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-pipe.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-pipe.diff new file mode 100644 index 000000000..1a6036116 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-pipe.diff @@ -0,0 +1,109 @@ +From 7671d101baa75d7a79bfbd8c75c1595fbb3f53ba Mon Sep 17 00:00:00 2001 +From: Russ Allbery <rra@cpan.org> +Date: Sat, 7 Feb 2015 19:03:34 -0800 +Subject: Better errors for man pages from standard input + +[Pod::Man] Attempt to detect if the input came from a pipe and +therefore has a completely unhelpful (and nonreproducible) source file +name, and diagnose this as an error. Document that the name option +(--name to pod2man) is required when processing POD source from +standard input. (Debian Bug#777405) + +(backported to Perl 5.20.2 by Niko Tyni <ntyni@debian.org>) + +Origin: upstream, http://git.eyrie.org/?p=perl/podlators.git;a=commitdiff;h=d98872e46c93861b7aba14949e1258712087dc55 +Bug-Debian: https://bugs.debian.org/777405 +Patch-Name: fixes/podman-pipe.diff +--- + cpan/podlators/lib/Pod/Man.pm | 15 +++++++++++++++ + cpan/podlators/scripts/pod2man.PL | 4 ++++ + cpan/podlators/t/devise-title.t | 32 ++++++++++++++++++++++++++++++++ + 3 files changed, 51 insertions(+) + create mode 100755 cpan/podlators/t/devise-title.t + +diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm +index 8997a15..969eaff 100644 +--- a/cpan/podlators/lib/Pod/Man.pm ++++ b/cpan/podlators/lib/Pod/Man.pm +@@ -828,6 +828,17 @@ sub devise_title { + $section = 3 if (!$$self{section} && $name =~ /\.pm\z/i); + $name =~ s/\.p(od|[lm])\z//i; + ++ # If Pod::Parser gave us an IO::File reference as the source file name, ++ # convert that to the empty string as well. Then, if we don't have a ++ # valid name, emit a warning and convert it to STDIN. ++ if ($name =~ /^IO::File(?:=\w+)\(0x[\da-f]+\)$/i) { ++ $name = ''; ++ } ++ if ($name eq '') { ++ $self->whine (1, 'No name given for document'); ++ $name = 'STDIN'; ++ } ++ + # If the section isn't 3, then the name defaults to just the basename of + # the file. Otherwise, assume we're dealing with a module. We want to + # figure out the full module name from the path to the file, but we don't +@@ -1705,6 +1716,10 @@ module path. If it is, a path like C<.../lib/Pod/Man.pm> is converted into + a name like C<Pod::Man>. This option, if given, overrides any automatic + determination of the name. + ++If generating a manual page from standard input, this option is required, ++since there's otherwise no way for Pod::Man to know what to use for the ++manual page name. ++ + =item nourls + + Normally, LZ<><> formatting codes with a URL but anchor text are formatted +diff --git a/cpan/podlators/scripts/pod2man.PL b/cpan/podlators/scripts/pod2man.PL +index 38695f8..43e35df 100644 +--- a/cpan/podlators/scripts/pod2man.PL ++++ b/cpan/podlators/scripts/pod2man.PL +@@ -236,6 +236,10 @@ Note that this option is probably not useful when converting multiple POD + files at once. The convention for Unix man pages for commands is for the + man page title to be in all-uppercase even if the command isn't. + ++When converting POD source from standard input, this option is required, ++since there's otherwise no way to know what to use as the name of the ++manual page. ++ + =item B<--nourls> + + Normally, LZ<><> formatting codes with a URL but anchor text are formatted +diff --git a/cpan/podlators/t/devise-title.t b/cpan/podlators/t/devise-title.t +new file mode 100755 +index 0000000..8639441 +--- /dev/null ++++ b/cpan/podlators/t/devise-title.t +@@ -0,0 +1,32 @@ ++#!/usr/bin/perl ++# ++# Tests for the automatic determination of the manual page title if not ++# specified via options to pod2man or the Pod::Man constructor. ++ ++use 5.006; ++use strict; ++use warnings; ++ ++use File::Spec; ++use IO::File; ++use Test::More tests => 3; ++ ++BEGIN { ++ use_ok('Pod::Man'); ++} ++ ++# Create a parser and set it up with an input source. There isn't a way to do ++# this in Pod::Simple without actually parsing the document, so send the ++# output to a string that we'll ignore. ++my $path = File::Spec->catdir('t', 'data', 'basic.pod'); ++my $handle = IO::File->new($path, 'r'); ++my $parser = Pod::Man->new(errors => 'pod'); ++my $output; ++$parser->output_string(\$output); ++$parser->parse_file($handle); ++ ++# Check the results of devise_title for this. We should get back STDIN, and ++# we should have reported an error. ++my ($name, $section) = $parser->devise_title; ++is($name, 'STDIN', 'devise_title uses STDIN for file handle input'); ++ok($parser->errors_seen, '...and errors were seen'); diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc-docs.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc-docs.diff new file mode 100644 index 000000000..0cdfeffd1 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc-docs.diff @@ -0,0 +1,86 @@ +From 6198856b5323d6204094293f01b890472618f182 Mon Sep 17 00:00:00 2001 +From: Russ Allbery <rra@cpan.org> +Date: Wed, 15 Apr 2015 20:49:07 -0700 +Subject: Documentation and test suite updates for UTC fix + +Update the Pod::Man and pod2man documentation and the test suite +for the new UTC-based default page footer, and add a Changes +entry. + +(backported to Perl 5.20.2 by Niko Tyni <ntyni@debian.org>) + +Origin: upstream, http://git.eyrie.org/?p=perl/podlators.git;a=commitdiff;h=52db93bf80e4a06f8497e4ebade0506b6ee0e70d +Bug-Debian: https://bugs.debian.org/780259 +Patch-Name: fixes/podman-utc-docs.diff +--- + cpan/podlators/lib/Pod/Man.pm | 6 +++++- + cpan/podlators/scripts/pod2man.PL | 11 ++++++----- + cpan/podlators/t/devise-date.t | 2 +- + 3 files changed, 12 insertions(+), 7 deletions(-) + +diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm +index c3ba201..365892e 100644 +--- a/cpan/podlators/lib/Pod/Man.pm ++++ b/cpan/podlators/lib/Pod/Man.pm +@@ -910,6 +910,8 @@ sub devise_date { + + # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses + # this and it has to work in the core which can't load dynamic libraries. ++ # Use gmtime instead of localtime so that the generated man page does not ++ # depend on the local time zone setting and is more reproducible + my ($year, $month, $day) = (gmtime($time))[5,4,3]; + return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day); + } +@@ -1656,7 +1658,9 @@ environment variable POD_MAN_DATE, if set, will be used. Failing that, + the modification date of the input file will be used, or the current time + if stat() can't find that file (which will be the case if the input is + from C<STDIN>). If obtained from the file modification date or the +-current time, he date will be formatted as C<YYYY-MM-DD>. ++current time, the date will be formatted as C<YYYY-MM-DD> and will be based ++on UTC (so that the output will be reproducible regardless of local time ++zone). + + =item errors + +diff --git a/cpan/podlators/scripts/pod2man.PL b/cpan/podlators/scripts/pod2man.PL +index 6af3474..38695f8 100644 +--- a/cpan/podlators/scripts/pod2man.PL ++++ b/cpan/podlators/scripts/pod2man.PL +@@ -174,9 +174,10 @@ Contributed Perl Documentation", but also see B<--official> below. + + =item B<-d> I<string>, B<--date>=I<string> + +-Set the left-hand footer string to this value. By default, the modification +-date of the input file will be used, or the current date if input comes from +-C<STDIN>. ++Set the left-hand footer string to this value. By default, the ++modification date of the input file will be used, or the current date if ++input comes from C<STDIN>, and will be based on UTC (so that the output ++will be reproducible regardless of local time zone). + + =item B<-errors>=I<style> + +@@ -383,8 +384,8 @@ B<pod2man> by Larry Wall and Tom Christiansen. + + =head1 COPYRIGHT AND LICENSE + +-Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013 Russ +-Allbery <rra@stanford.edu>. ++Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013, 2014, ++2015 Russ Allbery <rra@cpan.org>. + + This program is free software; you may redistribute it and/or modify it + under the same terms as Perl itself. +diff --git a/cpan/podlators/t/devise-date.t b/cpan/podlators/t/devise-date.t +index c610dd9..9da9d1b 100644 +--- a/cpan/podlators/t/devise-date.t ++++ b/cpan/podlators/t/devise-date.t +@@ -19,7 +19,7 @@ use Test::More tests => 2; + my $parser = Pod::Man->new; + is( + $parser->devise_date, +- strftime('%Y-%m-%d', localtime()), ++ strftime('%Y-%m-%d', gmtime()), + 'devise_date matches strftime' + ); + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc.diff new file mode 100644 index 000000000..fbd7b9db9 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc.diff @@ -0,0 +1,33 @@ +From c796775cdbd2cce06acbb7ac355187d4063017a2 Mon Sep 17 00:00:00 2001 +From: Chris Lamb <lamby@debian.org> +Date: Wed, 15 Apr 2015 20:42:53 -0700 +Subject: Make the embedded date from Pod::Man reproducible + +While working on the "reproducible builds" effort, we have noticed +that Pod::Man generates output that varies depending on the current +timezone. + +The attached patch fixes this by using GMT (~UTC) dates instead. + +(backported to Perl 5.20.2 by Niko Tyni <ntyni@debian.org>) + +Origin: upstream, http://git.eyrie.org/?p=perl/podlators.git;a=commitdiff;h=913fbb2bd2ce071e20128629302ae2852554cad4 +Bug-Debian: https://bugs.debian.org/780259 +Patch-Name: fixes/podman-utc.diff +--- + cpan/podlators/lib/Pod/Man.pm | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm +index 0536662..c3ba201 100644 +--- a/cpan/podlators/lib/Pod/Man.pm ++++ b/cpan/podlators/lib/Pod/Man.pm +@@ -910,7 +910,7 @@ sub devise_date { + + # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses + # this and it has to work in the core which can't load dynamic libraries. +- my ($year, $month, $day) = (localtime($time))[5,4,3]; ++ my ($year, $month, $day) = (gmtime($time))[5,4,3]; + return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day); + } + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/respect_umask.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/respect_umask.diff new file mode 100644 index 000000000..d1b498b52 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/fixes/respect_umask.diff @@ -0,0 +1,153 @@ +From d9d535ef97f57af6e9728075944c33f3b0b5372f 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-Install/lib/ExtUtils/Install.pm | 18 +++++++++--------- + cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 18 +++++++++--------- + 2 files changed, 18 insertions(+), 18 deletions(-) + +diff --git a/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm b/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm +index 1e8ac4c..3e79121 100644 +--- a/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm ++++ b/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm +@@ -451,7 +451,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. + +@@ -468,13 +468,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'","$@"); + } + +@@ -783,7 +783,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, +@@ -797,7 +797,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"; + +@@ -837,7 +837,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; + } +@@ -1180,7 +1180,7 @@ environment variable will silence this output. + 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" unless $INSTALL_QUIET; +@@ -1203,7 +1203,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/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +index f63145c..197f102 100644 +--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm ++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +@@ -2118,7 +2118,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, +@@ -2138,7 +2138,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{" \ +@@ -2156,7 +2156,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{" \ +@@ -2188,8 +2188,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)" \ +@@ -2199,8 +2199,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)" \ +@@ -2210,8 +2210,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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/instmodsh_doc.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/instmodsh_doc.diff new file mode 100644 index 000000000..a62c746e9 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/instmodsh_doc.diff @@ -0,0 +1,27 @@ +From 26209b55201a1b2d25252ac3b425bc49081299de 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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/ld_run_path.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/ld_run_path.diff new file mode 100644 index 000000000..d80f86c21 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/ld_run_path.diff @@ -0,0 +1,24 @@ +From 53ce69085918232a1b7e26e7762c1b2f70b1eb4a 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 37bcfd4..bd66e65 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 ) { + my ( $custom_name ) = ''; + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/libnet_config_path.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/libnet_config_path.diff new file mode 100644 index 000000000..54ef9640e --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/libnet_config_path.diff @@ -0,0 +1,37 @@ +From a7f6d453e60256d329469a75b642cca854cebea1 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/lib/Net/Config.pm | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/cpan/libnet/lib/Net/Config.pm b/cpan/libnet/lib/Net/Config.pm +index 953a826..61ba12a 100644 +--- a/cpan/libnet/lib/Net/Config.pm ++++ b/cpan/libnet/lib/Net/Config.pm +@@ -68,9 +68,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') { +@@ -142,8 +141,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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/libperl_embed_doc.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/libperl_embed_doc.diff new file mode 100644 index 000000000..76b805451 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/libperl_embed_doc.diff @@ -0,0 +1,26 @@ +From fb8bdbb4bf56382de099e62c2564286b9dfda46d 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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/locale-robustness.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/locale-robustness.diff new file mode 100644 index 000000000..fd471ed7a --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/locale-robustness.diff @@ -0,0 +1,52 @@ +From 289eaf87f8de4d9ebfd661d4e4299c2952435243 Mon Sep 17 00:00:00 2001 +From: Niko Tyni <ntyni@debian.org> +Date: Fri, 10 Apr 2015 10:19:51 +0300 +Subject: Make t/run/locale.t survive missing locales masked by LC_ALL + +If LC_ALL is set to a valid locale but another LC_* setting like LC_CTYPE +isn't, t/run/locale.t would fail because it explicitly unsets LC_ALL, +unmasking the problem underneath. All the other tests survive such +a scenario. + +While this is clearly an error in the build environment, it's easy to make +the test more robust by first clearing all the locale relevant variables. + +Bug: https://rt.perl.org/Ticket/Display.html?id=124310 +Bug-Debian: https://bugs.debian.org/782068 +Patch-Name: debian/locale-robustness.diff +--- + t/run/locale.t | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/t/run/locale.t b/t/run/locale.t +index bd1a034..2105339 100644 +--- a/t/run/locale.t ++++ b/t/run/locale.t +@@ -27,6 +27,9 @@ my @locales = eval { find_locales( [ &LC_ALL, &LC_CTYPE, &LC_NUMERIC ], + ) }; + skip_all("no locales available") unless @locales; + ++# reset the locale environment ++local @ENV{'LANG', (grep /^LC_/, keys %ENV)}; ++ + plan tests => &last; + + my $non_C_locale; +@@ -58,9 +61,6 @@ EOF + SKIP: { + skip("Windows stores locale defaults in the registry", 1 ) + if $^O eq 'MSWin32'; +- local $ENV{LC_NUMERIC}; # So not taken as a default +- local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC +- local $ENV{LANG}; # So not taken as a default + fresh_perl_is("for (qw(@locales)) {\n" . <<'EOF', + use POSIX qw(locale_h); + use locale; +@@ -348,7 +348,6 @@ EOF + + { + local $ENV{LC_NUMERIC} = $different; +- local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC + fresh_perl_is(<<"EOF", + use POSIX qw(locale_h); + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/makemaker-pasthru.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/makemaker-pasthru.diff new file mode 100644 index 000000000..fa0f9daf9 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/makemaker-pasthru.diff @@ -0,0 +1,30 @@ +From 593dd52f535b1f439dfd0afe52211ae8960e980a Mon Sep 17 00:00:00 2001 +From: Niko Tyni <ntyni@debian.org> +Date: Sun, 24 Aug 2014 12:56:11 -0700 +Subject: Pass LD settings through to subdirectories + +[rt.cpan.org #28632] fixed most issues with passing LD down to +subdirectory Makefile.PL files. However, there are some distributions +(including Wx, Par::Packer, and Verilog-Perl) that explicitly set +LD. Those still can't be overridden from the command line. Adding LD to +the PASTHRU list fixes this. + +Bug-Debian: https://bugs.debian.org/758471 +Patch-Name: debian/makemaker-pasthru.diff +--- + cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +index 4a8e14c..548d98e 100644 +--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm ++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +@@ -2793,7 +2793,7 @@ sub pasthru { + my($sep) = $Is{VMS} ? ',' : ''; + $sep .= "\\\n\t"; + +- foreach my $key (qw(LIB LIBPERL_A LINKTYPE OPTIMIZE ++ foreach my $key (qw(LIB LIBPERL_A LINKTYPE OPTIMIZE LD + PREFIX INSTALL_BASE) + ) + { diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/makemaker_customized.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/makemaker_customized.diff new file mode 100644 index 000000000..b1b4cb9a6 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/makemaker_customized.diff @@ -0,0 +1,42 @@ +From 634449066a9c810e81506425d2ca925b2fd72ab2 Mon Sep 17 00:00:00 2001 +From: Dominic Hargreaves <dom@earth.li> +Date: Sat, 23 May 2015 21:15:06 +0200 +Subject: Update t/porting/customized.dat for files patched in Debian + +Patch-Name: debian/makemaker_customized.diff +--- + t/porting/customized.dat | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/t/porting/customized.dat b/t/porting/customized.dat +index 7df398d..f857bd2 100644 +--- a/t/porting/customized.dat ++++ b/t/porting/customized.dat +@@ -1,7 +1,7 @@ + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm 7f4dfd0fe884bd42412bcf04ca80ef97b39c1d54 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm bef099988b15fb0b2a1f5ac48c01af1f7f36d329 +-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 8168e18f0e3ce3ece4bb7e7c72d57ec07c67c402 +-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 7115e97a53559cb3ec061dd6f7f344e522724c4a ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 3493ae6f93264e967f58dedaa3dbf3dbcb249853 ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 3d7abd674b15ed323f743594ef0bd09db76b1aee + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm f8db8d4245bf0684b8210c811f50d7cfb1a27d78 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod 757bffb47857521311f8f3bde43ebe165f8d5191 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm 82be06851deb84c6419ad003ce9b6d1957f395f3 +@@ -13,7 +13,7 @@ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm 58872d66 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm ab80029ab16d38d4f2e41dc88d2ceb9f3790e477 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm 453e0abbc4bb38db4c0820ad5c4846f313b66291 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm c1b1babda8f43ae7a2caba1cb4f70f92af5a0e34 +-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 6f90d94ad3e7aa0045a3b1a10a1bb18391f89f57 ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 21bde53290bf1a4da4457290b65bd1b0ca6f1d16 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm cab2b3ce08b71a4ce89aa630f236eb08b852439d + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm 61fced0faf518bf87c265fcb51ed330ba354623f + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm ae0ef51a7b6dd0b05aa61c779df7167dda5f5119 +@@ -22,7 +22,7 @@ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm 0544301f712 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm 433135eecb85b4b1d90d3027432f329436c78447 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm 1fbb5605bfb47feee4083feba8aa85e659628f70 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm 5b66d1f485a6034d96fc24ba1665b1bad9e447f1 +-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 8cef99a9bd370ecfd07ddb0efbdcbb4101255e45 ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm c455c915fb7dc3eeb1200ed1cd19048e6f21e6b1 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm 939572fde3d59ba77c2e677fe2df2bed4bed5898 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm 09c2049bfd25b735e2a5bcf56a6cff7b4827f9c8 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm d65d63f8217a55c36f62e249814988974f593c79 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/mod_paths.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/mod_paths.diff new file mode 100644 index 000000000..ae1590760 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/mod_paths.diff @@ -0,0 +1,99 @@ +From 6c6cf14e204f3c031372bfd9604ad524d5691186 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 086645b..e64f1f4 100644 +--- a/perl.c ++++ b/perl.c +@@ -4373,6 +4373,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 */ +@@ -4490,6 +4495,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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/no_packlist_perllocal.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/no_packlist_perllocal.diff new file mode 100644 index 000000000..b911fd276 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/no_packlist_perllocal.diff @@ -0,0 +1,92 @@ +From 240f2f4aeb3850bc0c5370b9fbc3909573bed9b3 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 | 35 +++---------------------- + 1 file changed, 3 insertions(+), 32 deletions(-) + +diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +index 570a631..391dc22 100644 +--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm ++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +@@ -2122,11 +2122,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)" \ +@@ -2158,10 +2153,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)" \ +@@ -2187,37 +2178,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}; + +@@ -2226,13 +2199,11 @@ 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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/patchlevel.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/patchlevel.diff new file mode 100644 index 000000000..8656b027e --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/patchlevel.diff @@ -0,0 +1,30 @@ +From b517c5e15d0871e36d0f1187661fe1dd28ddf820 Mon Sep 17 00:00:00 2001 +From: Niko Tyni <ntyni@debian.org> +Date: Sun, 15 May 2011 19:35:58 +0300 +Subject: List packaged patches in patchlevel.h + +Origin: vendor +Bug-Debian: http://bugs.debian.org/567489 + +The list of packaged patches is in patchlevel-debian.h, which is generated +from the debian/patches/ directory when building the package. + +Patch-Name: debian/patchlevel.diff +--- + patchlevel.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/patchlevel.h b/patchlevel.h +index a0ad78b..01367b7 100644 +--- a/patchlevel.h ++++ b/patchlevel.h +@@ -137,6 +137,9 @@ static const char * const local_patches[] = { + ,"uncommitted-changes" + #endif + PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */ ++#ifdef DEBIAN ++#include "patchlevel-debian.h" ++#endif + ,NULL + }; + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/perl5db-x-terminal-emulator.patch b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/perl5db-x-terminal-emulator.patch new file mode 100644 index 000000000..533952cac --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/perl5db-x-terminal-emulator.patch @@ -0,0 +1,29 @@ +From c99c61e8f863a508a0793168011c98dc74abbd05 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 7e7194e..c466bf3 100644 +--- a/lib/perl5db.pl ++++ b/lib/perl5db.pl +@@ -6960,7 +6960,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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/perlivp.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/perlivp.diff new file mode 100644 index 000000000..2c1eab970 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/perlivp.diff @@ -0,0 +1,39 @@ +From fbfbeb7a690d703a3cdc56f923e89eb7b7997d31 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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/pod2man-customized.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/pod2man-customized.diff new file mode 100644 index 000000000..6270b8731 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/pod2man-customized.diff @@ -0,0 +1,23 @@ +From 27a4952c2e531947dc9f2f02e2063d117e2e699a Mon Sep 17 00:00:00 2001 +From: Niko Tyni <ntyni@debian.org> +Date: Sat, 18 Apr 2015 17:39:32 +0300 +Subject: Update porting/customized.dat for pod2man modifications + +Patch-Name: debian/pod2man-customized.diff +--- + t/porting/customized.dat | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/t/porting/customized.dat b/t/porting/customized.dat +index 0eed9f7..7df398d 100644 +--- a/t/porting/customized.dat ++++ b/t/porting/customized.dat +@@ -42,7 +42,7 @@ Win32API::File cpan/Win32API-File/Makefile.PL 605d0aee31aebe84a99408f9ab5f644db5 + Win32API::File cpan/Win32API-File/t/file.t 124e64aa77e755235eb297644a87fac5388d3d78 + Win32API::File cpan/Win32API-File/t/tie.t 712ea7edd0cc805ce1c0b8172c01b03dd19b583d + Win32API::File cpan/Win32API-File/typemap 24bff088babeadac0873e8df390d1666d9d9db4a +-podlators cpan/podlators/scripts/pod2man.PL f81acf53f3ff46cdcc5ebdd661c5d13eb35d20d6 ++podlators cpan/podlators/scripts/pod2man.PL 761f35d3fcf91c1bc2f9e024a9fa5c62fd3fc338 + podlators cpan/podlators/scripts/pod2text.PL b4693fcfe4a0a1b38a215cfb8985a65d5d025d69 + version cpan/version/lib/version.pm d0923b895d57f1d669ae36fcf85c87b16db341d1 + version vutil.c 668f17ca43e2527645674d29ba772b86330d5663 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/prefix_changes.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/prefix_changes.diff new file mode 100644 index 000000000..c41efbe3e --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/prefix_changes.diff @@ -0,0 +1,118 @@ +From 914948f026efce02cf0abff8b0312aaad96592ed 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 4c00129..1ea2035 100644 +--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm ++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm +@@ -902,8 +902,6 @@ all POD files in MAN1PODS and MAN3PODS. + sub manifypods_target { + my($self) = shift; + +- my $man1pods = ''; +- my $man3pods = ''; + my $dependencies = ''; + + # populate manXpods & dependencies: +@@ -919,7 +917,7 @@ END + foreach my $section (qw(1 3)) { + my $pods = $self->{"MAN${section}PODS"}; + my $p2m = sprintf <<CMD, $] > 5.008 ? " -u" : ""; +- \$(NOECHO) \$(POD2MAN) --section=$section --perm_rw=\$(PERM_RW)%s ++ \$(NOECHO) \$(POD2MAN) --section=\$(MAN${section}EXT) --perm_rw=\$(PERM_RW)%s + CMD + push @man_cmds, $self->split_command($p2m, map {($_,$pods->{$_})} sort keys %$pods); + } +@@ -1875,9 +1873,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 391dc22..4a8e14c 100644 +--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm ++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +@@ -3077,8 +3077,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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/prune_libs.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/prune_libs.diff new file mode 100644 index 000000000..b4443f647 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/prune_libs.diff @@ -0,0 +1,38 @@ +From 21bc033755f0b609f9bb2aa9e98b10d58424406f 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 0a405d3..6fcc3bc 100755 +--- a/Configure ++++ b/Configure +@@ -1454,8 +1454,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="cl pthread socket bind inet nsl nm ndbm gdbm dbm db malloc dl ld" +-libswanted="$libswanted sun 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 ! !'` +@@ -23593,7 +23592,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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/regen-skip.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/regen-skip.diff new file mode 100644 index 000000000..8a3fc9912 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/regen-skip.diff @@ -0,0 +1,27 @@ +From cb3e98e17a666896150b109694e9eb9278620845 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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/skip-kfreebsd-crash.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/skip-kfreebsd-crash.diff new file mode 100644 index 000000000..ecfc0bc62 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/skip-kfreebsd-crash.diff @@ -0,0 +1,40 @@ +From 42853af65a28066b119d23d96e964e94b55a8541 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 e76c956..bec210b 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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/skip-upstream-git-tests.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/skip-upstream-git-tests.diff new file mode 100644 index 000000000..4c87104cc --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/skip-upstream-git-tests.diff @@ -0,0 +1,28 @@ +From ae9b645d6da2990fd055368eca2c67c449474e38 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 cda3840..af579a2 100644 +--- a/t/test.pl ++++ b/t/test.pl +@@ -174,7 +174,7 @@ sub skip_all_without_unicode_tables { # (but only under miniperl) + + 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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/squelch-locale-warnings.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/squelch-locale-warnings.diff new file mode 100644 index 000000000..cb3145776 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/squelch-locale-warnings.diff @@ -0,0 +1,56 @@ +From 487a6d6ada0b08e6a7276520ebc61cd851005e7c 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 | 5 ++++- + pod/perllocale.pod | 8 ++++++++ + 2 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/locale.c b/locale.c +index 7a4a418..fdf911d 100644 +--- a/locale.c ++++ b/locale.c +@@ -674,7 +674,10 @@ Perl_init_i18nl10n(pTHX_ int printwarn) + + const bool locwarn = (printwarn > 1 + || (printwarn +- && (! bad_lang_use_once ++ && ++ /* Debian specific change - see http://bugs.debian.org/508764 */ ++ (!PerlEnv_getenv("DPKG_RUNNING_VERSION")) && ++ (! bad_lang_use_once + || ( + /* disallow with "" or "0" */ + *bad_lang_use_once +diff --git a/pod/perllocale.pod b/pod/perllocale.pod +index 701b422..58cabaf 100644 +--- a/pod/perllocale.pod ++++ b/pod/perllocale.pod +@@ -1217,6 +1217,14 @@ B<NOTE>: C<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/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/writable_site_dirs.diff b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/writable_site_dirs.diff new file mode 100644 index 000000000..53adc2f4d --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/debian/writable_site_dirs.diff @@ -0,0 +1,36 @@ +From 591c1f9b7d4755bfc59d9665bab1f2ca410de765 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 197f102..5f1b87f 100644 +--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm ++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +@@ -2138,7 +2138,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{" \ +@@ -2199,8 +2199,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)" \ |