summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/perl
diff options
context:
space:
mode:
authorNitin A Kamble <nitin.a.kamble@intel.com>2011-10-19 14:53:17 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-10-24 17:27:14 +0100
commit5f8f114e4cc29e96942f96ef7dec6d25e18b6d4f (patch)
tree5b7867dec533d001ce29d8bf7b4869299cea254f /meta/recipes-devtools/perl
parent53f7342562a66d1b14ecee234aa76be07951dedc (diff)
downloadpoky-5f8f114e4cc29e96942f96ef7dec6d25e18b6d4f.tar.gz
perl: upgrade from 5.12.3 to 5.14.2
parallel build fix patches are not needed as they are upstream now. Got a new set of debian patch set for 5.14.2 perl-rpdepends: fix the autogenerated rdepends mistakes take out some mdoules which are not going to be built. [Saul Wold: Remove debug] (From OE-Core rev: 8dc5f118832a4aca906239ffed82f72497c37f8e) Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/perl')
-rw-r--r--meta/recipes-devtools/perl/files/Configure-multilib.patch17
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/cross-generate_uudmap.patch15
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/arm_optim.diff34
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/cpan_config_path.diff24
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/deprecate-with-apt.diff61
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/devel-ppport-ia64-optim.diff34
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/extutils_hacks.diff315
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/autodie-flock.diff100
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/concat-stack-corruption.diff39
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/cpanplus-without-home.diff32
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/h2ph-gcc-4.5.diff108
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/lc-numeric-docs.diff97
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/lc-numeric-sprintf.diff31
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/processPL.diff45
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/patchlevel45
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/debian/series34
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_1.patch27
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_2.patch24
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_3.patch6585
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_4.patch57
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_5.patch430
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_6.patch158
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/09_fix_installperl.patch (renamed from meta/recipes-devtools/perl/perl-5.12.3/09_fix_installperl.patch)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/Configure-multilib.patch (renamed from meta/recipes-devtools/perl/perl-5.12.3/Configure-multilib.patch)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/MM_Unix.pm.patch (renamed from meta/recipes-devtools/perl/perl-5.12.3/MM_Unix.pm.patch)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/Makefile.SH.patch (renamed from meta/recipes-devtools/perl/perl-5.12.3/Makefile.SH.patch)122
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/Makefile.patch (renamed from meta/recipes-devtools/perl/perl-5.12.3/Makefile.patch)17
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/asm-pageh-fix.patch (renamed from meta/recipes-devtools/perl/perl-5.12.3/asm-pageh-fix.patch)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/config.sh (renamed from meta/recipes-devtools/perl/perl-5.12.3/config.sh)65
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/config.sh-32 (renamed from meta/recipes-devtools/perl/perl-5.12.3/config.sh-32)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/config.sh-32-be (renamed from meta/recipes-devtools/perl/perl-5.12.3/config.sh-32-be)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/config.sh-32-le (renamed from meta/recipes-devtools/perl/perl-5.12.3/config.sh-32-le)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/config.sh-64 (renamed from meta/recipes-devtools/perl/perl-5.12.3/config.sh-64)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/config.sh-64-be (renamed from meta/recipes-devtools/perl/perl-5.12.3/config.sh-64-be)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/config.sh-64-le (renamed from meta/recipes-devtools/perl/perl-5.12.3/config.sh-64-le)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/cross-generate_uudmap.patch15
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/arm_thread_stress_timeout.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/arm_thread_stress_timeout.diff)13
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/cpan_definstalldirs.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/cpan_definstalldirs.diff)18
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/cpanplus_config_path.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/cpanplus_config_path.diff)19
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/cpanplus_definstalldirs.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/cpanplus_definstalldirs.diff)13
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/db_file_ver.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/db_file_ver.diff)12
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/deprecate-with-apt.diff406
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/disable-zlib-bundling.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/disable-zlib-bundling.diff)7
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/doc_info.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/doc_info.diff)16
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/enc2xs_inc.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/enc2xs_inc.diff)9
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/errno_ver.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/errno_ver.diff)23
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/extutils_set_libperl_path.diff23
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/fakeroot.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/fakeroot.diff)15
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/find_html2text.diff35
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/document_makemaker_ccflags.diff31
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/extutils-cbuilder-cflags.diff86
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/h2ph-multiarch.diff69
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/hurd-ccflags.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/hurd-ccflags.diff)12
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/hurd-hints.diff48
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/index-tainting.diff73
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/module-build-home-directory.diff37
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/net_smtp_docs.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/net_smtp_docs.diff)10
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/pod_fixes.diff145
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/respect_umask.diff153
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/sys-syslog-socket-timeout-kfreebsd.patch36
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/instmodsh_doc.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/instmodsh_doc.diff)9
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/ld_run_path.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/ld_run_path.diff)15
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/libnet_config_path.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/libnet_config_path.diff)12
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/libperl_embed_doc.diff26
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/m68k_thread_stress.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/m68k_thread_stress.diff)15
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/mod_paths.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/mod_paths.diff)15
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/module_build_man_extensions.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/module_build_man_extensions.diff)16
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/no_packlist_perllocal.diff88
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/patchlevel.diff30
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/perlivp.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/perlivp.diff)19
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/prefix_changes.diff118
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/prune_libs.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/prune_libs.diff)16
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/series40
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/skip-kfreebsd-crash.diff39
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/skip-upstream-git-tests.diff59
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/squelch-locale-warnings.diff (renamed from meta/recipes-devtools/perl/perl-5.12.3/debian/squelch-locale-warnings.diff)14
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/debian/writable_site_dirs.diff36
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/fix_bad_rpath.patch (renamed from meta/recipes-devtools/perl/perl-5.12.3/fix_bad_rpath.patch)13
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/generate-sh.patch (renamed from meta/recipes-devtools/perl/perl-5.12.3/generate-sh.patch)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/installperl.patch (renamed from meta/recipes-devtools/perl/perl-5.12.3/installperl.patch)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/letgcc-find-errno.patch (renamed from meta/recipes-devtools/perl/perl-5.12.3/letgcc-find-errno.patch)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/native-nopacklist.patch (renamed from meta/recipes-devtools/perl/perl-5.12.3/native-nopacklist.patch)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/native-perlinc.patch (renamed from meta/recipes-devtools/perl/perl-5.12.3/native-perlinc.patch)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/perl-configpm-switch.patch (renamed from meta/recipes-devtools/perl/perl-5.12.3/perl-configpm-switch.patch)18
-rwxr-xr-xmeta/recipes-devtools/perl/perl-5.14.2/perl-configure.sh (renamed from meta/recipes-devtools/perl/perl-5.12.3/perl-configure.sh)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/perl-dynloader.patch (renamed from meta/recipes-devtools/perl/perl-5.12.3/perl-dynloader.patch)21
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/perl-enable-gdbm.patch (renamed from meta/recipes-devtools/perl/perl-5.12.3/perl-enable-gdbm.patch)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/perl-moreconfig.patch (renamed from meta/recipes-devtools/perl/perl-5.12.3/perl-moreconfig.patch)0
-rw-r--r--meta/recipes-devtools/perl/perl-native_5.14.2.bb (renamed from meta/recipes-devtools/perl/perl-native_5.12.3.bb)32
-rw-r--r--meta/recipes-devtools/perl/perl-rdepends_5.14.2.inc (renamed from meta/recipes-devtools/perl/perl-rdepends_5.12.3.inc)54
-rw-r--r--meta/recipes-devtools/perl/perl-rprovides_5.14.2.inc (renamed from meta/recipes-devtools/perl/perl-rprovides_5.12.3.inc)0
-rw-r--r--meta/recipes-devtools/perl/perl_5.14.2.bb (renamed from meta/recipes-devtools/perl/perl_5.12.3.bb)47
92 files changed, 1949 insertions, 8643 deletions
diff --git a/meta/recipes-devtools/perl/files/Configure-multilib.patch b/meta/recipes-devtools/perl/files/Configure-multilib.patch
deleted file mode 100644
index 085a2ffe4e..0000000000
--- a/meta/recipes-devtools/perl/files/Configure-multilib.patch
+++ /dev/null
@@ -1,17 +0,0 @@
1Upstream-Status: Inappropriate [embedded specific]
2
3Index: perl-5.12.2/Configure
4===================================================================
5--- perl-5.12.2.orig/Configure
6+++ perl-5.12.2/Configure
7@@ -1316,8 +1316,9 @@ loclibpth="/usr/local/lib /opt/local/lib
8 loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
9
10 : general looking path for locating libraries
11-glibpth="/lib /usr/lib $xlibpth"
12+glibpth="/lib /usr/lib /lib64 /usr/lib64 $xlibpth"
13 glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
14+test -f /usr/lib/*-linux-gnu/libc.so && glibpth="/usr/lib/*-linux-gnu $glibpth"
15 test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
16 test -f /shlib/libc.so && glibpth="/shlib $glibpth"
17 test -d /usr/lib64 && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64"
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/cross-generate_uudmap.patch b/meta/recipes-devtools/perl/perl-5.12.3/cross-generate_uudmap.patch
deleted file mode 100644
index d59ad8dae6..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/cross-generate_uudmap.patch
+++ /dev/null
@@ -1,15 +0,0 @@
1Upstream-Status:Inappropriate [embedded specific]
2
3Index: perl-5.10.1/Makefile.SH
4===================================================================
5--- perl-5.10.1.orig/Makefile.SH 2010-02-12 19:06:17.000000000 +0300
6+++ perl-5.10.1/Makefile.SH 2010-02-12 19:10:13.000000000 +0300
7@@ -596,7 +596,7 @@
8 \$(RUN) ./generate_uudmap\$(HOST_EXE_EXT) >uudmap.h
9
10 generate_uudmap\$(HOST_EXE_EXT): generate_uudmap\$(OBJ_EXT)
11- \$(CC) -o generate_uudmap\$(EXE_EXT) \$(LDFLAGS) generate_uudmap\$(OBJ_EXT) \$(libs)
12+ \$(BUILD_CC) -o generate_uudmap\$(EXE_EXT) generate_uudmap.c
13
14 !GROK!THIS!
15 $spitshell >>$Makefile <<'!NO!SUBS!'
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/arm_optim.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/arm_optim.diff
deleted file mode 100644
index b5b952e838..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/arm_optim.diff
+++ /dev/null
@@ -1,34 +0,0 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Description: Downgrade the optimization of sv.c on arm due to a gcc-4.4 bug
5Bug-Debian: http://bugs.debian.org/580334
6
7Regression from gcc-4.3, not reported yet.
8
9 perl -e '"-2" =~ /(.+)/; @foo=(); push @foo, $_ for $1..undef; print @foo ? "ok\n" : "not ok\n"'
10
11
12---
13 cflags.SH | 6 +++++-
14 1 files changed, 5 insertions(+), 1 deletions(-)
15
16diff --git a/cflags.SH b/cflags.SH
17index a5d71b9..6914ba6 100755
18--- a/cflags.SH
19+++ b/cflags.SH
20@@ -312,7 +312,11 @@ for file do
21 regexec) ;;
22 run) ;;
23 scope) ;;
24- sv) ;;
25+ sv)
26+ case $archname in
27+ arm-*|armeb-*)
28+ optimize=-O0;;
29+ esac;;
30 taint) ;;
31 toke) ;;
32 universal) ;;
33--
34tg: (a508b62..) debian/arm_optim (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/cpan_config_path.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/cpan_config_path.diff
deleted file mode 100644
index 27b4a45440..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/cpan_config_path.diff
+++ /dev/null
@@ -1,24 +0,0 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Set location of CPAN::Config to /etc/perl as /usr may not be writable.
4
5
6---
7 cpan/CPAN/lib/CPAN/HandleConfig.pm | 2 +-
8 1 files changed, 1 insertions(+), 1 deletions(-)
9
10diff --git a/cpan/CPAN/lib/CPAN/HandleConfig.pm b/cpan/CPAN/lib/CPAN/HandleConfig.pm
11index 76cd81e..65a3b27 100644
12--- a/cpan/CPAN/lib/CPAN/HandleConfig.pm
13+++ b/cpan/CPAN/lib/CPAN/HandleConfig.pm
14@@ -543,7 +543,7 @@ sub load {
15 $configpm = $INC{"CPAN/MyConfig.pm"};
16 $redo++;
17 } else {
18- my($path_to_cpan) = File::Basename::dirname($INC{"CPAN.pm"});
19+ my($path_to_cpan) = '/etc/perl';
20 my($configpmdir) = File::Spec->catdir($path_to_cpan,"CPAN");
21 my($configpmtest) = File::Spec->catfile($configpmdir,"Config.pm");
22 my $inc_key;
23--
24tg: (a508b62..) debian/cpan_config_path (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/deprecate-with-apt.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/deprecate-with-apt.diff
deleted file mode 100644
index ad0b0cfb86..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/deprecate-with-apt.diff
+++ /dev/null
@@ -1,61 +0,0 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: Point users to Debian packages of deprecated core modules
5Bug-Debian: http://bugs.debian.org/580034
6
7Class::ISA, Switch, Pod::Plainer, and (partially) Shell were
8deprecated from the Perl core in 5.12.0.
9
10To get a clean transition, perl-modules is going to recommend the separate
11Debian packages of these for one release cycle so that they will be
12pulled in by default on upgrades.
13
14However, on systems configured to ignore recommendations the deprecation
15warnings will still be useful, so modify them slightly to point to the
16separate packages instead.
17
18---
19 lib/deprecate.pm | 18 +++++++++++++++++-
20 1 files changed, 17 insertions(+), 1 deletions(-)
21
22diff --git a/lib/deprecate.pm b/lib/deprecate.pm
23index 7b92e0b..9db7330 100644
24--- a/lib/deprecate.pm
25+++ b/lib/deprecate.pm
26@@ -7,6 +7,16 @@ our $VERSION = 0.01;
27 our %Config;
28 unless (%Config) { require Config; *Config = \%Config::Config; }
29
30+# Debian-specific change: recommend the separate Debian packages of
31+# deprecated modules where available
32+
33+my %DEBIAN_PACKAGES = (
34+ "Class::ISA" => "libclass-isa-perl",
35+ "Pod::Plainer" => "libpod-plainer-perl",
36+ "Switch" => "libswitch-perl",
37+ "Shell" => "libshell-perl",
38+);
39+
40 sub import {
41 my ($package, $file, $line) = caller;
42 my $expect_leaf = "$package.pm";
43@@ -44,9 +54,15 @@ EOM
44 if (defined $callers_bitmask
45 && (vec($callers_bitmask, $warnings::Offsets{deprecated}, 1)
46 || vec($callers_bitmask, $warnings::Offsets{all}, 1))) {
47- warn <<"EOM";
48+ if (my $deb = $DEBIAN_PACKAGES{$package}) {
49+ warn <<"EOM";
50+$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.
51+EOM
52+ } else {
53+ warn <<"EOM";
54 $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.
55 EOM
56+ }
57 }
58 return;
59 }
60--
61tg: (a508b62..) debian/deprecate-with-apt (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/devel-ppport-ia64-optim.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/devel-ppport-ia64-optim.diff
deleted file mode 100644
index e57a31577b..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/devel-ppport-ia64-optim.diff
+++ /dev/null
@@ -1,34 +0,0 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: Work around an ICE on ia64
5Closes: 548943
6
7Temporarily work around an internal compiler error in Devel::PPPort
8on ia64+gcc-4.3.
9
10
11---
12 cpan/Devel-PPPort/Makefile.PL | 7 +++++++
13 1 files changed, 7 insertions(+), 0 deletions(-)
14
15diff --git a/cpan/Devel-PPPort/Makefile.PL b/cpan/Devel-PPPort/Makefile.PL
16index 67eebc1..f1ef7a2 100644
17--- a/cpan/Devel-PPPort/Makefile.PL
18+++ b/cpan/Devel-PPPort/Makefile.PL
19@@ -75,6 +75,13 @@ sub configure
20 push @moreopts, INSTALLDIRS => ($] >= 5.007003 ? 'perl' : 'site');
21 }
22
23+
24+ # temporary Debian hack, see http://bugs.debian.org/548943
25+ require Config;
26+ if ($Config::Config{archname} =~ /^ia64/) {
27+ push @moreopts, OPTIMIZE => '-g -O0';
28+ }
29+
30 if ($opt{'apicheck'}) {
31 $PL_FILES{'apicheck_c.PL'} = 'apicheck.c';
32 push @C_FILES, qw{ apicheck.c };
33--
34tg: (a508b62..) debian/devel-ppport-ia64-optim (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/extutils_hacks.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/extutils_hacks.diff
deleted file mode 100644
index e1cbdb5658..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/extutils_hacks.diff
+++ /dev/null
@@ -1,315 +0,0 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Various debian-specific ExtUtils changes
4
5 * Respect umask during installation, and set as appropriate for each of
6 perl, vendor and site (policy requires group writable site dirs).
7
8 * Don't install .packlist or perllocal.pod for perl or vendor.
9 * Fiddle with *PREFIX and variables written to the makefile so that
10 install directories may be changed when make is run by passing
11 PREFIX= to the "make install" command (used when packaging
12 modules).
13
14 * Set location of libperl.a to /usr/lib.
15 * Note that libperl-dev package is required for embedded linking.
16 * Change install target dependencies to facilitate parallel makes.
17
18
19---
20 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | 12 +++---
21 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 44 +++++-----------------
22 cpan/ExtUtils-MakeMaker/t/INST.t | 4 +--
23 cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t | 10 +++---
24 dist/ExtUtils-Install/lib/ExtUtils/Install.pm | 18 +++++-----
25 lib/ExtUtils/Embed.pm | 3 ++
26 6 files changed, 34 insertions(+), 57 deletions(-)
27
28diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
29index 4905aeb..a80ac20 100644
30--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
31+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
32@@ -701,8 +701,6 @@ all POD files in MAN1PODS and MAN3PODS.
33 sub manifypods_target {
34 my($self) = shift;
35
36- my $man1pods = '';
37- my $man3pods = '';
38 my $dependencies = '';
39
40 # populate manXpods & dependencies:
41@@ -718,7 +716,7 @@ END
42 foreach my $section (qw(1 3)) {
43 my $pods = $self->{"MAN${section}PODS"};
44 push @man_cmds, $self->split_command(<<CMD, %$pods);
45- \$(NOECHO) \$(POD2MAN) --section=$section --perm_rw=\$(PERM_RW)
46+ \$(NOECHO) \$(POD2MAN) --section=\$(MAN${section}EXT) --perm_rw=\$(PERM_RW)
47 CMD
48 }
49
50@@ -1428,9 +1426,11 @@ sub init_INSTALL_from_PREFIX {
51 $self->{SITEPREFIX} ||= $sprefix;
52 $self->{VENDORPREFIX} ||= $vprefix;
53
54- # Lots of MM extension authors like to use $(PREFIX) so we
55- # put something sensible in there no matter what.
56- $self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
57+ my $p = $self->{PREFIX} = $self->{PERLPREFIX};
58+ for my $t (qw/PERL SITE VENDOR/)
59+ {
60+ $self->{"${t}PREFIX"} =~ s!^\Q$p\E(?=/|$)!\$(PREFIX)!;
61+ }
62 }
63
64 my $arch = $Config{archname};
65diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
66index 239d6df..940de38 100644
67--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
68+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
69@@ -2046,9 +2046,7 @@ doc__install : doc_site_install
70 $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
71
72 pure_perl_install :: all
73- $(NOECHO) $(MOD_INSTALL) \
74- read }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
75- write }.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
76+ $(NOECHO) umask 022; $(MOD_INSTALL) \
77 $(INST_LIB) $(DESTINSTALLPRIVLIB) \
78 $(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
79 $(INST_BIN) $(DESTINSTALLBIN) \
80@@ -2060,7 +2058,7 @@ pure_perl_install :: all
81
82
83 pure_site_install :: all
84- $(NOECHO) $(MOD_INSTALL) \
85+ $(NOECHO) umask 02; $(MOD_INSTALL) \
86 read }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
87 write }.$self->catfile('$(DESTINSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').q{ \
88 $(INST_LIB) $(DESTINSTALLSITELIB) \
89@@ -2073,9 +2071,7 @@ pure_site_install :: all
90 }.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{
91
92 pure_vendor_install :: all
93- $(NOECHO) $(MOD_INSTALL) \
94- read }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
95- write }.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{ \
96+ $(NOECHO) umask 022; $(MOD_INSTALL) \
97 $(INST_LIB) $(DESTINSTALLVENDORLIB) \
98 $(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
99 $(INST_BIN) $(DESTINSTALLVENDORBIN) \
100@@ -2084,37 +2080,19 @@ pure_vendor_install :: all
101 $(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
102
103 doc_perl_install :: all
104- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
105- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
106- -$(NOECHO) $(DOC_INSTALL) \
107- "Module" "$(NAME)" \
108- "installed into" "$(INSTALLPRIVLIB)" \
109- LINKTYPE "$(LINKTYPE)" \
110- VERSION "$(VERSION)" \
111- EXE_FILES "$(EXE_FILES)" \
112- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
113
114 doc_site_install :: all
115- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
116- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
117- -$(NOECHO) $(DOC_INSTALL) \
118+ $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLSITEARCH)/perllocal.pod
119+ -$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLSITEARCH)
120+ -$(NOECHO) umask 02; $(DOC_INSTALL) \
121 "Module" "$(NAME)" \
122 "installed into" "$(INSTALLSITELIB)" \
123 LINKTYPE "$(LINKTYPE)" \
124 VERSION "$(VERSION)" \
125 EXE_FILES "$(EXE_FILES)" \
126- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
127+ >> }.$self->catfile('$(DESTINSTALLSITEARCH)','perllocal.pod').q{
128
129 doc_vendor_install :: all
130- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
131- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
132- -$(NOECHO) $(DOC_INSTALL) \
133- "Module" "$(NAME)" \
134- "installed into" "$(INSTALLVENDORLIB)" \
135- LINKTYPE "$(LINKTYPE)" \
136- VERSION "$(VERSION)" \
137- EXE_FILES "$(EXE_FILES)" \
138- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
139
140 };
141
142@@ -2123,13 +2101,12 @@ uninstall :: uninstall_from_$(INSTALLDIRS)dirs
143 $(NOECHO) $(NOOP)
144
145 uninstall_from_perldirs ::
146- $(NOECHO) $(UNINSTALL) }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{
147
148 uninstall_from_sitedirs ::
149 $(NOECHO) $(UNINSTALL) }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{
150
151 uninstall_from_vendordirs ::
152- $(NOECHO) $(UNINSTALL) }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{
153+
154 };
155
156 join("",@m);
157@@ -2402,7 +2379,7 @@ MAP_PRELIBS = $Config{perllibs} $Config{cryptlib}
158 ($lperl = $libperl) =~ s/\$\(A\)/$self->{LIB_EXT}/;
159 }
160 unless ($libperl && -f $lperl) { # Ilya's code...
161- my $dir = $self->{PERL_SRC} || "$self->{PERL_ARCHLIB}/CORE";
162+ my $dir = $self->{PERL_SRC} || "/usr/lib";
163 $dir = "$self->{PERL_ARCHLIB}/.." if $self->{UNINSTALLED_PERL};
164 $libperl ||= "libperl$self->{LIB_EXT}";
165 $libperl = "$dir/$libperl";
166@@ -2998,8 +2975,7 @@ sub prefixify {
167 print STDERR " prefixify $var => $path\n" if $Verbose >= 2;
168 print STDERR " from $sprefix to $rprefix\n" if $Verbose >= 2;
169
170- if( $self->{ARGS}{PREFIX} &&
171- $path !~ s{^\Q$sprefix\E\b}{$rprefix}s )
172+ if( $path !~ s{^\Q$sprefix\E\b}{$rprefix}s && $self->{ARGS}{PREFIX} )
173 {
174
175 print STDERR " cannot prefix, using default.\n" if $Verbose >= 2;
176diff --git a/cpan/ExtUtils-MakeMaker/t/INST.t b/cpan/ExtUtils-MakeMaker/t/INST.t
177index 8a140eb..cf1410e 100755
178--- a/cpan/ExtUtils-MakeMaker/t/INST.t
179+++ b/cpan/ExtUtils-MakeMaker/t/INST.t
180@@ -59,9 +59,7 @@ isa_ok( $mm, 'ExtUtils::MakeMaker' );
181 is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
182 is( $mm->{VERSION}, 0.01, 'VERSION' );
183
184-my $config_prefix = $Config{installprefixexp} || $Config{installprefix} ||
185- $Config{prefixexp} || $Config{prefix};
186-is( $mm->{PERLPREFIX}, $config_prefix, 'PERLPREFIX' );
187+is( $mm->{PERLPREFIX}, '$(PREFIX)', 'PERLPREFIX' );
188
189 is( !!$mm->{PERL_CORE}, !!$ENV{PERL_CORE}, 'PERL_CORE' );
190
191diff --git a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
192index 8bb9db8..316546d 100755
193--- a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
194+++ b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
195@@ -10,7 +10,7 @@ BEGIN {
196 }
197
198 use strict;
199-use Test::More tests => 52;
200+use Test::More tests => 47;
201 use MakeMaker::Test::Utils;
202 use MakeMaker::Test::Setup::BFD;
203 use ExtUtils::MakeMaker;
204@@ -56,16 +56,16 @@ like( $stdout->read, qr{
205 Writing\ $Makefile\ for\ Big::Dummy\n
206 }x );
207
208-is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
209+#is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
210
211 isa_ok( $mm, 'ExtUtils::MakeMaker' );
212
213 is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
214 is( $mm->{VERSION}, 0.01, 'VERSION' );
215
216-foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
217- unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
218-}
219+#foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
220+# unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
221+#}
222
223
224 my $PREFIX = File::Spec->catdir('foo', 'bar');
225diff --git a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
226index da58365..d6d5c11 100644
227--- a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
228+++ b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
229@@ -468,7 +468,7 @@ sub _can_write_dir {
230
231 =pod
232
233-=item _mkpath($dir,$show,$mode,$verbose,$dry_run)
234+=item _mkpath($dir,$show,$verbose,$dry_run)
235
236 Wrapper around File::Path::mkpath() to handle errors.
237
238@@ -485,13 +485,13 @@ writable.
239 =cut
240
241 sub _mkpath {
242- my ($dir,$show,$mode,$verbose,$dry_run)=@_;
243+ my ($dir,$show,$verbose,$dry_run)=@_;
244 if ( $verbose && $verbose > 1 && ! -d $dir) {
245 $show= 1;
246- printf "mkpath(%s,%d,%#o)\n", $dir, $show, $mode;
247+ printf "mkpath(%s,%d)\n", $dir, $show;
248 }
249 if (!$dry_run) {
250- if ( ! eval { File::Path::mkpath($dir,$show,$mode); 1 } ) {
251+ if ( ! eval { File::Path::mkpath($dir,$show); 1 } ) {
252 _choke("Can't create '$dir'","$@");
253 }
254
255@@ -796,7 +796,7 @@ sub install { #XXX OS-SPECIFIC
256 _chdir($cwd);
257 }
258 foreach my $targetdir (sort keys %check_dirs) {
259- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
260+ _mkpath( $targetdir, 0, $verbose, $dry_run );
261 }
262 foreach my $found (@found_files) {
263 my ($diff, $ffd, $origfile, $mode, $size, $atime, $mtime,
264@@ -810,7 +810,7 @@ sub install { #XXX OS-SPECIFIC
265 $targetfile= _unlink_or_rename( $targetfile, 'tryhard', 'install' )
266 unless $dry_run;
267 } elsif ( ! -d $targetdir ) {
268- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
269+ _mkpath( $targetdir, 0, $verbose, $dry_run );
270 }
271 print "Installing $targetfile\n";
272
273@@ -850,7 +850,7 @@ sub install { #XXX OS-SPECIFIC
274
275 if ($pack{'write'}) {
276 $dir = install_rooted_dir(dirname($pack{'write'}));
277- _mkpath( $dir, 0, 0755, $verbose, $dry_run );
278+ _mkpath( $dir, 0, $verbose, $dry_run );
279 print "Writing $pack{'write'}\n" if $verbose;
280 $packlist->write(install_rooted_file($pack{'write'})) unless $dry_run;
281 }
282@@ -1190,7 +1190,7 @@ be prepended as a directory to each installed file (and directory).
283 sub pm_to_blib {
284 my($fromto,$autodir,$pm_filter) = @_;
285
286- _mkpath($autodir,0,0755);
287+ _mkpath($autodir,0);
288 while(my($from, $to) = each %$fromto) {
289 if( -f $to && -s $from == -s $to && -M $to < -M $from ) {
290 print "Skip $to (unchanged)\n";
291@@ -1213,7 +1213,7 @@ sub pm_to_blib {
292 # we wont try hard here. its too likely to mess things up.
293 forceunlink($to);
294 } else {
295- _mkpath(dirname($to),0,0755);
296+ _mkpath(dirname($to),0);
297 }
298 if ($need_filtering) {
299 run_filter($pm_filter, $from, $to);
300diff --git a/lib/ExtUtils/Embed.pm b/lib/ExtUtils/Embed.pm
301index 24ae909..12d421d 100644
302--- a/lib/ExtUtils/Embed.pm
303+++ b/lib/ExtUtils/Embed.pm
304@@ -305,6 +305,9 @@ and extensions in your C/C++ applications.
305 Typically, an application B<Makefile> will invoke ExtUtils::Embed
306 functions while building your application.
307
308+Note that on Debian systems the B<libperl-dev> package is required for
309+compiling applications which embed an interpreter.
310+
311 =head1 @EXPORT
312
313 ExtUtils::Embed exports the following functions:
314--
315tg: (a508b62..) debian/extutils_hacks (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/autodie-flock.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/autodie-flock.diff
deleted file mode 100644
index 375ae418f4..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/autodie-flock.diff
+++ /dev/null
@@ -1,100 +0,0 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: Allow for flock returning EAGAIN instead of EWOULDBLOCK on linux/parisc
5Bug-Debian: http://bugs.debian.org/543731
6Origin: upstream, http://github.com/pfenwick/autodie/commit/037738e11a6097734b0e1dabdd77b92e5fe35219
7
8
9---
10 cpan/autodie/lib/Fatal.pm | 14 +++++++++++++-
11 cpan/autodie/t/flock.t | 12 ++++++++++--
12 2 files changed, 23 insertions(+), 3 deletions(-)
13
14diff --git a/cpan/autodie/lib/Fatal.pm b/cpan/autodie/lib/Fatal.pm
15old mode 100644
16new mode 100755
17index 18e71ed..c17a257
18--- a/cpan/autodie/lib/Fatal.pm
19+++ b/cpan/autodie/lib/Fatal.pm
20@@ -5,6 +5,7 @@ use Carp;
21 use strict;
22 use warnings;
23 use Tie::RefHash; # To cache subroutine refs
24+use Config;
25
26 use constant PERL510 => ( $] >= 5.010 );
27
28@@ -52,6 +53,10 @@ our %_EWOULDBLOCK = (
29 MSWin32 => 33,
30 );
31
32+# the linux parisc port has separate EAGAIN and EWOULDBLOCK,
33+# and the kernel returns EAGAIN
34+my $try_EAGAIN = ($^O eq 'linux' and $Config{archname} =~ /hppa|parisc/) ? 1 : 0;
35+
36 # We have some tags that can be passed in for use with import.
37 # These are all assumed to be CORE::
38
39@@ -720,6 +725,11 @@ sub _one_invocation {
40 my $EWOULDBLOCK = eval { POSIX::EWOULDBLOCK(); }
41 || $_EWOULDBLOCK{$^O}
42 || _autocroak("Internal error - can't overload flock - EWOULDBLOCK not defined on this system.");
43+ my $EAGAIN = $EWOULDBLOCK;
44+ if ($try_EAGAIN) {
45+ $EAGAIN = eval { POSIX::EAGAIN(); }
46+ || _autocroak("Internal error - can't overload flock - EAGAIN not defined on this system.");
47+ }
48
49 require Fcntl; # For Fcntl::LOCK_NB
50
51@@ -735,7 +745,9 @@ sub _one_invocation {
52 # If we failed, but we're using LOCK_NB and
53 # returned EWOULDBLOCK, it's not a real error.
54
55- if (\$_[1] & Fcntl::LOCK_NB() and \$! == $EWOULDBLOCK ) {
56+ if (\$_[1] & Fcntl::LOCK_NB() and
57+ (\$! == $EWOULDBLOCK or
58+ ($try_EAGAIN and \$! == $EAGAIN ))) {
59 return \$retval;
60 }
61
62diff --git a/cpan/autodie/t/flock.t b/cpan/autodie/t/flock.t
63index a7550ba..6421a56 100755
64--- a/cpan/autodie/t/flock.t
65+++ b/cpan/autodie/t/flock.t
66@@ -2,7 +2,8 @@
67 use strict;
68 use Test::More;
69 use Fcntl qw(:flock);
70-use POSIX qw(EWOULDBLOCK);
71+use POSIX qw(EWOULDBLOCK EAGAIN);
72+use Config;
73
74 require Fatal;
75
76@@ -10,6 +11,9 @@ my $EWOULDBLOCK = eval { EWOULDBLOCK() }
77 || $Fatal::_EWOULDBLOCK{$^O}
78 || plan skip_all => "EWOULDBLOCK not defined on this system";
79
80+my $try_EAGAIN = ($^O eq 'linux' and $Config{archname} =~ /hppa|parisc/) ? 1 : 0;
81+my $EAGAIN = eval { EAGAIN() };
82+
83 my ($self_fh, $self_fh2);
84
85 eval {
86@@ -55,7 +59,11 @@ eval {
87 $return = flock($self_fh2, LOCK_EX | LOCK_NB);
88 };
89
90-is($!+0, $EWOULDBLOCK, "Double-flocking should be EWOULDBLOCK");
91+if (!$try_EAGAIN) {
92+ is($!+0, $EWOULDBLOCK, "Double-flocking should be EWOULDBLOCK");
93+} else {
94+ ok($!+0 == $EWOULDBLOCK || $!+0 == $EAGAIN, "Double-flocking should be EWOULDBLOCK or EAGAIN");
95+}
96 ok(!$return, "flocking a file twice should fail");
97 is($@, "", "Non-blocking flock should not fail on EWOULDBLOCK");
98
99--
100tg: (a508b62..) fixes/autodie-flock (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/concat-stack-corruption.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/concat-stack-corruption.diff
deleted file mode 100644
index 40437f38ca..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/concat-stack-corruption.diff
+++ /dev/null
@@ -1,39 +0,0 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: Fix stack pointer corruption in pp_concat() with 'use encoding'
5Bug-Debian: http://bugs.debian.org/596105
6Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=78674
7Origin: upstream, http://perl5.git.perl.org/perl.git/commit/e3393f51d48d8b790e26324eb0336fac9689fa46
8
9If the stack is reallocated during pp_concat() and 'use encoding' in
10effect, the stack pointer gets corrupted, causing memory allocation bugs
11and the like.
12
13---
14 pp_hot.c | 3 +++
15 1 files changed, 3 insertions(+), 0 deletions(-)
16
17diff --git a/pp_hot.c b/pp_hot.c
18index ee699ef..c5ed14e 100644
19--- a/pp_hot.c
20+++ b/pp_hot.c
21@@ -271,6 +271,8 @@ PP(pp_concat)
22 rbyte = !DO_UTF8(right);
23 }
24 if (lbyte != rbyte) {
25+ /* sv_utf8_upgrade_nomg() may reallocate the stack */
26+ PUTBACK;
27 if (lbyte)
28 sv_utf8_upgrade_nomg(TARG);
29 else {
30@@ -279,6 +281,7 @@ PP(pp_concat)
31 sv_utf8_upgrade_nomg(right);
32 rpv = SvPV_const(right, rlen);
33 }
34+ SPAGAIN;
35 }
36 sv_catpvn_nomg(TARG, rpv, rlen);
37
38--
39tg: (a508b62..) fixes/concat-stack-corruption (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/cpanplus-without-home.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/cpanplus-without-home.diff
deleted file mode 100644
index e7ff57c54f..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/cpanplus-without-home.diff
+++ /dev/null
@@ -1,32 +0,0 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: Fix CPANPLUS test failures when HOME doesn't exist
5Bug: http://rt.cpan.org/Public/Bug/Display.html?id=52988
6Bug-Debian: http://bugs.debian.org/577011
7Origin: upstream
8
9The Debian autobuilders are configured with a non-existing $ENV{HOME},
10triggering a bug in CPANPLUS that causes test failures.
11
12Fix from CPANPLUS-0.9001.
13
14---
15 cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm | 2 +-
16 1 files changed, 1 insertions(+), 1 deletions(-)
17
18diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm
19index 27d2abc..8475c36 100644
20--- a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm
21+++ b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm
22@@ -5,7 +5,7 @@ use strict;
23 use CPANPLUS::Error;
24 use CPANPLUS::Internals::Constants;
25
26-use Cwd qw[chdir];
27+use Cwd qw[chdir cwd];
28 use File::Copy;
29 use Params::Check qw[check];
30 use Module::Load::Conditional qw[can_load];
31--
32tg: (a508b62..) fixes/cpanplus-without-home (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/h2ph-gcc-4.5.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/h2ph-gcc-4.5.diff
deleted file mode 100644
index 9faab81f31..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/h2ph-gcc-4.5.diff
+++ /dev/null
@@ -1,108 +0,0 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Author: Robin Barker <rmbarker@cpan.org>
4Subject: h2ph fix for gcc 4.5
5Bug-Debian: http://bugs.debian.org/599933
6Origin: upstream, http://perl5.git.perl.org/perl.git/commit/8d66b3f930dc6d88b524d103e304308ae73a46e7
7
8Fix h2ph and test. Needed to build with GCC 4.5.
9
10
11---
12 lib/h2ph.t | 12 ++++++++++--
13 utils/h2ph.PL | 28 +++++++++++++++++++++++-----
14 2 files changed, 33 insertions(+), 7 deletions(-)
15
16diff --git a/lib/h2ph.t b/lib/h2ph.t
17index 27dd7b9..8d62d46 100755
18--- a/lib/h2ph.t
19+++ b/lib/h2ph.t
20@@ -18,7 +18,7 @@ if (!(-e $extracted_program)) {
21 exit 0;
22 }
23
24-plan(4);
25+plan(5);
26
27 # quickly compare two text files
28 sub txt_compare {
29@@ -41,8 +41,16 @@ $result = runperl( progfile => 'lib/h2ph.pht',
30 stderr => 1 );
31 like( $result, qr/syntax OK$/, "output compiles");
32
33+$result = runperl( progfile => '_h2ph_pre.ph',
34+ switches => ['-c'],
35+ stderr => 1 );
36+like( $result, qr/syntax OK$/, "preamble compiles");
37+
38 $result = runperl( switches => ["-w"],
39- prog => '$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);');
40+ stderr => 1,
41+ prog => <<'PROG' );
42+$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);
43+PROG
44 is( $result, '', "output free of warnings" );
45
46 # cleanup
47diff --git a/utils/h2ph.PL b/utils/h2ph.PL
48index 8f56db4..1255807 100644
49--- a/utils/h2ph.PL
50+++ b/utils/h2ph.PL
51@@ -401,7 +401,10 @@ if ($opt_e && (scalar(keys %bad_file) > 0)) {
52 exit $Exit;
53
54 sub expr {
55- $new = '"(assembly code)"' and return if /\b__asm__\b/; # freak out.
56+ if (/\b__asm__\b/) { # freak out
57+ $new = '"(assembly code)"';
58+ return
59+ }
60 my $joined_args;
61 if(keys(%curargs)) {
62 $joined_args = join('|', keys(%curargs));
63@@ -770,7 +773,7 @@ sub inc_dirs
64 sub build_preamble_if_necessary
65 {
66 # Increment $VERSION every time this function is modified:
67- my $VERSION = 2;
68+ my $VERSION = 3;
69 my $preamble = "$Dest_dir/_h2ph_pre.ph";
70
71 # Can we skip building the preamble file?
72@@ -798,7 +801,16 @@ sub build_preamble_if_necessary
73 # parenthesized value: d=(v)
74 $define{$_} = $1;
75 }
76- if ($define{$_} =~ /^([+-]?(\d+)?\.\d+([eE][+-]?\d+)?)[FL]?$/) {
77+ if (/^(\w+)\((\w)\)$/) {
78+ my($macro, $arg) = ($1, $2);
79+ my $def = $define{$_};
80+ $def =~ s/$arg/\$\{$arg\}/g;
81+ print PREAMBLE <<DEFINE;
82+unless (defined &$macro) { sub $macro(\$) { my (\$$arg) = \@_; \"$def\" } }
83+
84+DEFINE
85+ } elsif
86+ ($define{$_} =~ /^([+-]?(\d+)?\.\d+([eE][+-]?\d+)?)[FL]?$/) {
87 # float:
88 print PREAMBLE
89 "unless (defined &$_) { sub $_() { $1 } }\n\n";
90@@ -807,8 +819,14 @@ sub build_preamble_if_necessary
91 print PREAMBLE
92 "unless (defined &$_) { sub $_() { $1 } }\n\n";
93 } elsif ($define{$_} =~ /^\w+$/) {
94- print PREAMBLE
95- "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n";
96+ my $def = $define{$_};
97+ if ($isatype{$def}) {
98+ print PREAMBLE
99+ "unless (defined &$_) { sub $_() { \"$def\" } }\n\n";
100+ } else {
101+ print PREAMBLE
102+ "unless (defined &$_) { sub $_() { &$def } }\n\n";
103+ }
104 } else {
105 print PREAMBLE
106 "unless (defined &$_) { sub $_() { \"",
107--
108tg: (a508b62..) fixes/h2ph-gcc-4.5 (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/lc-numeric-docs.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/lc-numeric-docs.diff
deleted file mode 100644
index 67a55da427..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/lc-numeric-docs.diff
+++ /dev/null
@@ -1,97 +0,0 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: LC_NUMERIC documentation fixes
5Bug-Debian: http://bugs.debian.org/379329
6Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=78452
7Origin: upstream, http://perl5.git.perl.org/perl.git/commit/903eb63f7d8d47a38971a8e9af7201b9927882cf
8
9LC_NUMERIC documentation updates fixing two errors:
10
11 - the early parts of perllocale.pod still say printf() uses LC_NUMERIC
12 with just 'use locale' when actually a POSIX::setlocale() call is
13 also needed
14
15 - format() hasn't used LC_NUMERIC unconditionally since 5.005_03
16 (commit 097ee67dff1c60f201bc09435bc6eaeeafcd8123).
17
18Test cases from the upstream commit dropped for the sake of simplicity.
19
20---
21 pod/perlform.pod | 20 ++++++++------------
22 pod/perllocale.pod | 15 ++++++---------
23 2 files changed, 14 insertions(+), 21 deletions(-)
24
25diff --git a/pod/perlform.pod b/pod/perlform.pod
26index 3cfa1b7..df0f0a1 100644
27--- a/pod/perlform.pod
28+++ b/pod/perlform.pod
29@@ -166,9 +166,9 @@ token on the first line. If an expression evaluates to a number with a
30 decimal part, and if the corresponding picture specifies that the decimal
31 part should appear in the output (that is, any picture except multiple "#"
32 characters B<without> an embedded "."), the character used for the decimal
33-point is B<always> determined by the current LC_NUMERIC locale. This
34-means that, if, for example, the run-time environment happens to specify a
35-German locale, "," will be used instead of the default ".". See
36+point is determined by the current LC_NUMERIC locale if C<use locale> is in
37+effect. This means that, if, for example, the run-time environment happens
38+to specify a German locale, "," will be used instead of the default ".". See
39 L<perllocale> and L<"WARNINGS"> for more information.
40
41
42@@ -442,15 +442,11 @@ Lexical variables (declared with "my") are not visible within a
43 format unless the format is declared within the scope of the lexical
44 variable. (They weren't visible at all before version 5.001.)
45
46-Formats are the only part of Perl that unconditionally use information
47-from a program's locale; if a program's environment specifies an
48-LC_NUMERIC locale, it is always used to specify the decimal point
49-character in formatted output. Perl ignores all other aspects of locale
50-handling unless the C<use locale> pragma is in effect. Formatted output
51-cannot be controlled by C<use locale> because the pragma is tied to the
52-block structure of the program, and, for historical reasons, formats
53-exist outside that block structure. See L<perllocale> for further
54-discussion of locale handling.
55+If a program's environment specifies an LC_NUMERIC locale and C<use
56+locale> is in effect when the format is declared, the locale is used
57+to specify the decimal point character in formatted output. Formatted
58+output cannot be controlled by C<use locale> at the time when write()
59+is called. See L<perllocale> for further discussion of locale handling.
60
61 Within strings that are to be displayed in a fixed length text field,
62 each control character is substituted by a space. (But remember the
63diff --git a/pod/perllocale.pod b/pod/perllocale.pod
64index 0dbabe7..0bec423 100644
65--- a/pod/perllocale.pod
66+++ b/pod/perllocale.pod
67@@ -115,8 +115,7 @@ ucfirst(), and lcfirst()) use C<LC_CTYPE>
68
69 =item *
70
71-B<The formatting functions> (printf(), sprintf() and write()) use
72-C<LC_NUMERIC>
73+B<Format declarations> (format()) use C<LC_NUMERIC>
74
75 =item *
76
77@@ -967,13 +966,11 @@ system's implementation of the locale system than by Perl.
78
79 =head2 write() and LC_NUMERIC
80
81-Formats are the only part of Perl that unconditionally use information
82-from a program's locale; if a program's environment specifies an
83-LC_NUMERIC locale, it is always used to specify the decimal point
84-character in formatted output. Formatted output cannot be controlled by
85-C<use locale> because the pragma is tied to the block structure of the
86-program, and, for historical reasons, formats exist outside that block
87-structure.
88+If a program's environment specifies an LC_NUMERIC locale and C<use
89+locale> is in effect when the format is declared, the locale is used
90+to specify the decimal point character in formatted output. Formatted
91+output cannot be controlled by C<use locale> at the time when write()
92+is called.
93
94 =head2 Freely available locale definitions
95
96--
97tg: (a508b62..) fixes/lc-numeric-docs (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/lc-numeric-sprintf.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/lc-numeric-sprintf.diff
deleted file mode 100644
index 9fe07eb294..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/lc-numeric-sprintf.diff
+++ /dev/null
@@ -1,31 +0,0 @@
1Upstream-Status:Inappropriate [debian patch]
2
3From: Niko Tyni <ntyni@debian.org>
4Subject: Fix sprintf not to ignore LC_NUMERIC with constants
5Bug-Debian: http://bugs.debian.org/601549
6Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=78632
7Origin: upstream, http://perl5.git.perl.org/perl.git/commit/b3fd61496ebc585b1115807e3195f17714662a09
8
9Don't fold constants in sprintf() if locales are used
10
11An upstream regression in 5.10.1 made sprintf() ignore LC_NUMERIC for
12numeric constants.
13
14---
15 op.c | 1 +
16 1 files changed, 1 insertions(+), 0 deletions(-)
17
18diff --git a/op.c b/op.c
19index e94f158..3c6badb 100644
20--- a/op.c
21+++ b/op.c
22@@ -2503,6 +2503,7 @@ S_fold_constants(pTHX_ register OP *o)
23 case OP_SLE:
24 case OP_SGE:
25 case OP_SCMP:
26+ case OP_SPRINTF:
27 /* XXX what about the numeric ops? */
28 if (PL_hints & HINT_LOCALE)
29 goto nope;
30--
31tg: (a508b62..) fixes/lc-numeric-sprintf (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/processPL.diff b/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/processPL.diff
deleted file mode 100644
index fa2d7c365a..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/processPL.diff
+++ /dev/null
@@ -1,45 +0,0 @@
1Upstream-Status:Inappropriate [debian patch]
2
3Subject: Always use PERLRUNINST when building perl modules.
4Bug-Debian: http://bugs.debian.org/357264
5Bug: http://rt.cpan.org/Public/Bug/Display.html?id=17224
6
7Revert part of upstream change 24524 to always use PERLRUNINST when
8building perl modules: Some PDL demos expect blib to be implicitly
9searched.
10
11
12---
13 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 5 +----
14 1 files changed, 1 insertions(+), 4 deletions(-)
15
16diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
17index 239d6df..294d266 100644
18--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
19+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
20@@ -3043,14 +3043,11 @@ sub processPL {
21 # pm_to_blib depends on then it can't depend on pm_to_blib
22 # else we have a dependency loop.
23 my $pm_dep;
24- my $perlrun;
25 if( defined $self->{PM}{$target} ) {
26 $pm_dep = '';
27- $perlrun = 'PERLRUN';
28 }
29 else {
30 $pm_dep = 'pm_to_blib';
31- $perlrun = 'PERLRUNINST';
32 }
33
34 $m .= <<MAKE_FRAG;
35@@ -3059,7 +3056,7 @@ all :: $target
36 \$(NOECHO) \$(NOOP)
37
38 $target :: $plfile $pm_dep
39- \$($perlrun) $plfile $target
40+ \$(PERLRUNINST) $plfile $target
41 MAKE_FRAG
42
43 }
44--
45tg: (a508b62..) fixes/processPL (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/patchlevel b/meta/recipes-devtools/perl/perl-5.12.3/debian/patchlevel
deleted file mode 100644
index 0839fbd031..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/patchlevel
+++ /dev/null
@@ -1,45 +0,0 @@
1Subject: List packaged patches for 5.12.3-2 in patchlevel.h
2Origin: vendor
3Bug-Debian: http://bugs.debian.org/567489
4
5The list can be refreshed from information in debian/patches by running
6'debian/rules refresh-patchlevel'.
7
8
9--- perl/patchlevel.bak
10+++ perl/patchlevel.h
11@@ -133,0 +134,34 @@
12+ ,"DEBPKG:debian/arm_thread_stress_timeout - http://bugs.debian.org/501970 Raise the timeout of ext/threads/shared/t/stress.t to accommodate slower build hosts"
13+ ,"DEBPKG:debian/cpan_config_path - Set location of CPAN::Config to /etc/perl as /usr may not be writable."
14+ ,"DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN."
15+ ,"DEBPKG:debian/db_file_ver - http://bugs.debian.org/340047 Remove overly restrictive DB_File version check."
16+ ,"DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information."
17+ ,"DEBPKG:debian/enc2xs_inc - http://bugs.debian.org/290336 Tweak enc2xs to follow symlinks and ignore missing @INC directories."
18+ ,"DEBPKG:debian/errno_ver - http://bugs.debian.org/343351 Remove Errno version check due to upgrade problems with long-running processes."
19+ ,"DEBPKG:debian/extutils_hacks - Various debian-specific ExtUtils changes"
20+ ,"DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets."
21+ ,"DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor."
22+ ,"DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy."
23+ ,"DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable."
24+ ,"DEBPKG:debian/m68k_thread_stress - http://bugs.debian.org/495826 Disable some threads tests on m68k for now due to missing TLS."
25+ ,"DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian"
26+ ,"DEBPKG:debian/module_build_man_extensions - http://bugs.debian.org/479460 Adjust Module::Build manual page extensions for the Debian Perl policy"
27+ ,"DEBPKG:debian/prune_libs - http://bugs.debian.org/128355 Prune the list of libraries wanted to what we actually need."
28+ ,"DEBPKG:fixes/net_smtp_docs - http://bugs.debian.org/100195 [rt.cpan.org #36038] Document the Net::SMTP 'Port' option"
29+ ,"DEBPKG:fixes/processPL - http://bugs.debian.org/357264 [rt.cpan.org #17224] Always use PERLRUNINST when building perl modules."
30+ ,"DEBPKG:debian/perlivp - http://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local"
31+ ,"DEBPKG:debian/disable-zlib-bundling - Disable zlib bundling in Compress::Raw::Zlib"
32+ ,"DEBPKG:debian/cpanplus_definstalldirs - http://bugs.debian.org/533707 Configure CPANPLUS to use the site directories by default."
33+ ,"DEBPKG:debian/cpanplus_config_path - Save local versions of CPANPLUS::Config::System into /etc/perl."
34+ ,"DEBPKG:fixes/autodie-flock - http://bugs.debian.org/543731 Allow for flock returning EAGAIN instead of EWOULDBLOCK on linux/parisc"
35+ ,"DEBPKG:debian/devel-ppport-ia64-optim - http://bugs.debian.org/548943 Work around an ICE on ia64"
36+ ,"DEBPKG:fixes/cpanplus-without-home - http://bugs.debian.org/577011 [rt.cpan.org #52988] Fix CPANPLUS test failures when HOME doesn't exist"
37+ ,"DEBPKG:debian/arm_optim - http://bugs.debian.org/580334 Downgrade the optimization of sv.c on arm due to a gcc-4.4 bug"
38+ ,"DEBPKG:debian/deprecate-with-apt - http://bugs.debian.org/580034 Point users to Debian packages of deprecated core modules"
39+ ,"DEBPKG:fixes/hurd-ccflags - http://bugs.debian.org/587901 Make hints/gnu.sh append to $ccflags rather than overriding them"
40+ ,"DEBPKG:debian/squelch-locale-warnings - http://bugs.debian.org/508764 Squelch locale warnings in Debian package maintainer scripts"
41+ ,"DEBPKG:fixes/lc-numeric-docs - http://bugs.debian.org/379329 [perl #78452] [903eb63] LC_NUMERIC documentation fixes"
42+ ,"DEBPKG:fixes/lc-numeric-sprintf - http://bugs.debian.org/601549 [perl #78632] [b3fd614] Fix sprintf not to ignore LC_NUMERIC with constants"
43+ ,"DEBPKG:fixes/concat-stack-corruption - http://bugs.debian.org/596105 [perl #78674] [e3393f5] Fix stack pointer corruption in pp_concat() with 'use encoding'"
44+ ,"DEBPKG:fixes/h2ph-gcc-4.5 - http://bugs.debian.org/599933 [8d66b3f] h2ph fix for gcc 4.5"
45+ ,"DEBPKG:patchlevel - http://bugs.debian.org/567489 List packaged patches for 5.12.3-2 in patchlevel.h"
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/series b/meta/recipes-devtools/perl/perl-5.12.3/debian/series
deleted file mode 100644
index 5425bc6323..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/series
+++ /dev/null
@@ -1,34 +0,0 @@
1debian/arm_thread_stress_timeout.diff -p1
2debian/cpan_config_path.diff -p1
3debian/cpan_definstalldirs.diff -p1
4debian/db_file_ver.diff -p1
5debian/doc_info.diff -p1
6debian/enc2xs_inc.diff -p1
7debian/errno_ver.diff -p1
8debian/extutils_hacks.diff -p1
9debian/fakeroot.diff -p1
10debian/instmodsh_doc.diff -p1
11debian/ld_run_path.diff -p1
12debian/libnet_config_path.diff -p1
13debian/m68k_thread_stress.diff -p1
14debian/mod_paths.diff -p1
15debian/module_build_man_extensions.diff -p1
16debian/prune_libs.diff -p1
17fixes/net_smtp_docs.diff -p1
18fixes/processPL.diff -p1
19debian/perlivp.diff -p1
20debian/disable-zlib-bundling.diff -p1
21debian/cpanplus_definstalldirs.diff -p1
22debian/cpanplus_config_path.diff -p1
23fixes/autodie-flock.diff -p1
24debian/devel-ppport-ia64-optim.diff -p1
25fixes/cpanplus-without-home.diff -p1
26debian/arm_optim.diff -p1
27debian/deprecate-with-apt.diff -p1
28fixes/hurd-ccflags.diff -p1
29debian/squelch-locale-warnings.diff -p1
30fixes/lc-numeric-docs.diff -p1
31fixes/lc-numeric-sprintf.diff -p1
32fixes/concat-stack-corruption.diff -p1
33fixes/h2ph-gcc-4.5.diff -p1
34patchlevel -p1
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_1.patch b/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_1.patch
deleted file mode 100644
index d5a6295386..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_1.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1Upstream-Status:Inappropriate [Backport]
2
3Imported from perl git tree by Nitin A Kamble <nitin.a.kamble@intel.com>
42011-02-23
5
6commit 6695a346c41138df5b2c0e26b9a49b1f96137da0
7Author: Tony Cook <tony@openbsd32.tony.develop-help.com>
8Date: Thu Jul 22 09:54:13 2010 +1000
9
10 make_ext.pl populates @INC correctly, don't override it badly
11
12 PERL5LIB is populated by make_ext.pl with paths to the modules we need
13 to run, don't override this with "../../lib" since that may not have
14 been populated yet in a parallel build.
15
16diff --git a/ext/POSIX/Makefile.PL b/ext/POSIX/Makefile.PL
17index 392b6fb..9e6d091 100644
18--- a/ext/POSIX/Makefile.PL
19+++ b/ext/POSIX/Makefile.PL
20@@ -1,7 +1,3 @@
21-# Explicitly avoid including '.' in @INC; autoloader gets confused since it
22-# can find POSIX.pm, but can't find autosplit.ix.
23-BEGIN { @INC = '../../lib';}
24-#
25 use ExtUtils::MakeMaker;
26 use ExtUtils::Constant 0.11 'WriteConstants';
27 use Config;
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_2.patch b/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_2.patch
deleted file mode 100644
index a3432ab430..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_2.patch
+++ /dev/null
@@ -1,24 +0,0 @@
1Upstream-Status:Inappropriate [Backport]
2
3Imported from perl git tree by Nitin A Kamble <nitin.a.kamble@intel.com>
42011-02-23
5
6commit 24e93d7838b346d2ed632075f3d824a325170616
7Author: Tony Cook <tony@develop-help.com>
8Date: Sat Aug 14 00:21:29 2010 +1000
9
10 POSIX/t/posix.t expects a certain start to Makefile.PL
11
12 6695a346 changed the start of Makefile.PL, but t/posix.t reads that to
13 test its read() implementation, restore enough of the original for the
14 test to pass.
15
16diff --git a/ext/POSIX/Makefile.PL b/ext/POSIX/Makefile.PL
17index 9e6d091..292882c 100644
18--- a/ext/POSIX/Makefile.PL
19+++ b/ext/POSIX/Makefile.PL
20@@ -1,3 +1,4 @@
21+# Expect this line to be read by t/posix.t, don't change it
22 use ExtUtils::MakeMaker;
23 use ExtUtils::Constant 0.11 'WriteConstants';
24 use Config;
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_3.patch b/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_3.patch
deleted file mode 100644
index 26af1f1d95..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_3.patch
+++ /dev/null
@@ -1,6585 +0,0 @@
1Upstream-Status:Inappropriate [Backport]
2
3Imported from perl git tree by Nitin A Kamble <nitin.a.kamble@intel.com>
42011-02-23
5
6commit 4feb80ac47a22e7de7d7c1c1d5dfb3d744a2a3a7
7Author: Jerry D. Hedden <jdhedden@cpan.org>
8Date: Tue Aug 17 13:17:11 2010 -0400
9
10 Move POSIX.pm to lib/POSIX.pm to fix autosplitter problem
11
12diff --git a/MANIFEST b/MANIFEST
13index 3036d73..faf8974 100644
14--- a/MANIFEST
15+++ b/MANIFEST
16@@ -3183,9 +3183,9 @@ ext/POSIX/hints/openbsd.pl Hint for POSIX for named architecture
17 ext/POSIX/hints/sunos_4.pl Hint for POSIX for named architecture
18 ext/POSIX/hints/svr4.pl Hint for POSIX for named architecture
19 ext/POSIX/hints/uts.pl Hint for POSIX for named architecture
20+ext/POSIX/lib/POSIX.pm POSIX extension Perl module
21+ext/POSIX/lib/POSIX.pod POSIX extension documentation
22 ext/POSIX/Makefile.PL POSIX extension makefile writer
23-ext/POSIX/POSIX.pm POSIX extension Perl module
24-ext/POSIX/POSIX.pod POSIX extension documentation
25 ext/POSIX/POSIX.xs POSIX extension external subroutines
26 ext/POSIX/t/is.t See if POSIX isxxx() work
27 ext/POSIX/t/math.t Basic math tests for POSIX
28diff --git a/ext/POSIX/Makefile.PL b/ext/POSIX/Makefile.PL
29index 292882c..07c3841 100644
30--- a/ext/POSIX/Makefile.PL
31+++ b/ext/POSIX/Makefile.PL
32@@ -18,7 +18,8 @@ WriteMakefile(
33 NAME => 'POSIX',
34 @libs,
35 XSPROTOARG => '-noprototypes', # XXX remove later?
36- VERSION_FROM => 'POSIX.pm',
37+ VERSION_FROM => 'lib/POSIX.pm',
38+ ABSTRACT_FROM => 'lib/POSIX.pod',
39 realclean => {FILES=> 'const-c.inc const-xs.inc'},
40 );
41
42diff --git a/ext/POSIX/POSIX.pm b/ext/POSIX/POSIX.pm
43deleted file mode 100644
44index ffbd9de..0000000
45--- a/ext/POSIX/POSIX.pm
46+++ /dev/null
47@@ -1,1042 +0,0 @@
48-package POSIX;
49-use strict;
50-use warnings;
51-
52-our(@ISA, %EXPORT_TAGS, @EXPORT_OK, @EXPORT, $AUTOLOAD, %SIGRT) = ();
53-
54-our $VERSION = "1.19";
55-
56-use AutoLoader;
57-
58-use XSLoader ();
59-
60-use Fcntl qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK F_SETFD
61- F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK O_ACCMODE O_APPEND
62- O_CREAT O_EXCL O_NOCTTY O_NONBLOCK O_RDONLY O_RDWR O_TRUNC
63- O_WRONLY SEEK_CUR SEEK_END SEEK_SET
64- S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISREG
65- S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID
66- S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR);
67-
68-# Grandfather old foo_h form to new :foo_h form
69-my $loaded;
70-
71-sub import {
72- load_imports() unless $loaded++;
73- my $this = shift;
74- my @list = map { m/^\w+_h$/ ? ":$_" : $_ } @_;
75- local $Exporter::ExportLevel = 1;
76- Exporter::import($this,@list);
77-}
78-
79-sub croak { require Carp; goto &Carp::croak }
80-# declare usage to assist AutoLoad
81-sub usage;
82-
83-XSLoader::load 'POSIX', $VERSION;
84-
85-sub AUTOLOAD {
86- no strict;
87- no warnings 'uninitialized';
88- if ($AUTOLOAD =~ /::(_?[a-z])/) {
89- # require AutoLoader;
90- $AutoLoader::AUTOLOAD = $AUTOLOAD;
91- goto &AutoLoader::AUTOLOAD
92- }
93- local $! = 0;
94- my $constname = $AUTOLOAD;
95- $constname =~ s/.*:://;
96- my ($error, $val) = constant($constname);
97- croak $error if $error;
98- *$AUTOLOAD = sub { $val };
99-
100- goto &$AUTOLOAD;
101-}
102-
103-package POSIX::SigAction;
104-
105-use AutoLoader 'AUTOLOAD';
106-
107-package POSIX::SigRt;
108-
109-use AutoLoader 'AUTOLOAD';
110-
111-use Tie::Hash;
112-
113-use vars qw($SIGACTION_FLAGS $_SIGRTMIN $_SIGRTMAX $_sigrtn @ISA);
114-@POSIX::SigRt::ISA = qw(Tie::StdHash);
115-
116-$SIGACTION_FLAGS = 0;
117-
118-tie %POSIX::SIGRT, 'POSIX::SigRt';
119-
120-sub DESTROY {};
121-
122-package POSIX;
123-
124-1;
125-__END__
126-
127-sub usage {
128- my ($mess) = @_;
129- croak "Usage: POSIX::$mess";
130-}
131-
132-sub redef {
133- my ($mess) = @_;
134- croak "Use method $mess instead";
135-}
136-
137-sub unimpl {
138- my ($mess) = @_;
139- $mess =~ s/xxx//;
140- croak "Unimplemented: POSIX::$mess";
141-}
142-
143-sub assert {
144- usage "assert(expr)" if @_ != 1;
145- if (!$_[0]) {
146- croak "Assertion failed";
147- }
148-}
149-
150-sub tolower {
151- usage "tolower(string)" if @_ != 1;
152- lc($_[0]);
153-}
154-
155-sub toupper {
156- usage "toupper(string)" if @_ != 1;
157- uc($_[0]);
158-}
159-
160-sub closedir {
161- usage "closedir(dirhandle)" if @_ != 1;
162- CORE::closedir($_[0]);
163-}
164-
165-sub opendir {
166- usage "opendir(directory)" if @_ != 1;
167- my $dirhandle;
168- CORE::opendir($dirhandle, $_[0])
169- ? $dirhandle
170- : undef;
171-}
172-
173-sub readdir {
174- usage "readdir(dirhandle)" if @_ != 1;
175- CORE::readdir($_[0]);
176-}
177-
178-sub rewinddir {
179- usage "rewinddir(dirhandle)" if @_ != 1;
180- CORE::rewinddir($_[0]);
181-}
182-
183-sub errno {
184- usage "errno()" if @_ != 0;
185- $! + 0;
186-}
187-
188-sub creat {
189- usage "creat(filename, mode)" if @_ != 2;
190- &open($_[0], &O_WRONLY | &O_CREAT | &O_TRUNC, $_[1]);
191-}
192-
193-sub fcntl {
194- usage "fcntl(filehandle, cmd, arg)" if @_ != 3;
195- CORE::fcntl($_[0], $_[1], $_[2]);
196-}
197-
198-sub getgrgid {
199- usage "getgrgid(gid)" if @_ != 1;
200- CORE::getgrgid($_[0]);
201-}
202-
203-sub getgrnam {
204- usage "getgrnam(name)" if @_ != 1;
205- CORE::getgrnam($_[0]);
206-}
207-
208-sub atan2 {
209- usage "atan2(x,y)" if @_ != 2;
210- CORE::atan2($_[0], $_[1]);
211-}
212-
213-sub cos {
214- usage "cos(x)" if @_ != 1;
215- CORE::cos($_[0]);
216-}
217-
218-sub exp {
219- usage "exp(x)" if @_ != 1;
220- CORE::exp($_[0]);
221-}
222-
223-sub fabs {
224- usage "fabs(x)" if @_ != 1;
225- CORE::abs($_[0]);
226-}
227-
228-sub log {
229- usage "log(x)" if @_ != 1;
230- CORE::log($_[0]);
231-}
232-
233-sub pow {
234- usage "pow(x,exponent)" if @_ != 2;
235- $_[0] ** $_[1];
236-}
237-
238-sub sin {
239- usage "sin(x)" if @_ != 1;
240- CORE::sin($_[0]);
241-}
242-
243-sub sqrt {
244- usage "sqrt(x)" if @_ != 1;
245- CORE::sqrt($_[0]);
246-}
247-
248-sub getpwnam {
249- usage "getpwnam(name)" if @_ != 1;
250- CORE::getpwnam($_[0]);
251-}
252-
253-sub getpwuid {
254- usage "getpwuid(uid)" if @_ != 1;
255- CORE::getpwuid($_[0]);
256-}
257-
258-sub longjmp {
259- unimpl "longjmp() is C-specific: use die instead";
260-}
261-
262-sub setjmp {
263- unimpl "setjmp() is C-specific: use eval {} instead";
264-}
265-
266-sub siglongjmp {
267- unimpl "siglongjmp() is C-specific: use die instead";
268-}
269-
270-sub sigsetjmp {
271- unimpl "sigsetjmp() is C-specific: use eval {} instead";
272-}
273-
274-sub kill {
275- usage "kill(pid, sig)" if @_ != 2;
276- CORE::kill $_[1], $_[0];
277-}
278-
279-sub raise {
280- usage "raise(sig)" if @_ != 1;
281- CORE::kill $_[0], $$; # Is this good enough?
282-}
283-
284-sub offsetof {
285- unimpl "offsetof() is C-specific, stopped";
286-}
287-
288-sub clearerr {
289- redef "IO::Handle::clearerr()";
290-}
291-
292-sub fclose {
293- redef "IO::Handle::close()";
294-}
295-
296-sub fdopen {
297- redef "IO::Handle::new_from_fd()";
298-}
299-
300-sub feof {
301- redef "IO::Handle::eof()";
302-}
303-
304-sub fgetc {
305- redef "IO::Handle::getc()";
306-}
307-
308-sub fgets {
309- redef "IO::Handle::gets()";
310-}
311-
312-sub fileno {
313- redef "IO::Handle::fileno()";
314-}
315-
316-sub fopen {
317- redef "IO::File::open()";
318-}
319-
320-sub fprintf {
321- unimpl "fprintf() is C-specific--use printf instead";
322-}
323-
324-sub fputc {
325- unimpl "fputc() is C-specific--use print instead";
326-}
327-
328-sub fputs {
329- unimpl "fputs() is C-specific--use print instead";
330-}
331-
332-sub fread {
333- unimpl "fread() is C-specific--use read instead";
334-}
335-
336-sub freopen {
337- unimpl "freopen() is C-specific--use open instead";
338-}
339-
340-sub fscanf {
341- unimpl "fscanf() is C-specific--use <> and regular expressions instead";
342-}
343-
344-sub fseek {
345- redef "IO::Seekable::seek()";
346-}
347-
348-sub fsync {
349- redef "IO::Handle::sync()";
350-}
351-
352-sub ferror {
353- redef "IO::Handle::error()";
354-}
355-
356-sub fflush {
357- redef "IO::Handle::flush()";
358-}
359-
360-sub fgetpos {
361- redef "IO::Seekable::getpos()";
362-}
363-
364-sub fsetpos {
365- redef "IO::Seekable::setpos()";
366-}
367-
368-sub ftell {
369- redef "IO::Seekable::tell()";
370-}
371-
372-sub fwrite {
373- unimpl "fwrite() is C-specific--use print instead";
374-}
375-
376-sub getc {
377- usage "getc(handle)" if @_ != 1;
378- CORE::getc($_[0]);
379-}
380-
381-sub getchar {
382- usage "getchar()" if @_ != 0;
383- CORE::getc(STDIN);
384-}
385-
386-sub gets {
387- usage "gets()" if @_ != 0;
388- scalar <STDIN>;
389-}
390-
391-sub perror {
392- print STDERR "@_: " if @_;
393- print STDERR $!,"\n";
394-}
395-
396-sub printf {
397- usage "printf(pattern, args...)" if @_ < 1;
398- CORE::printf STDOUT @_;
399-}
400-
401-sub putc {
402- unimpl "putc() is C-specific--use print instead";
403-}
404-
405-sub putchar {
406- unimpl "putchar() is C-specific--use print instead";
407-}
408-
409-sub puts {
410- unimpl "puts() is C-specific--use print instead";
411-}
412-
413-sub remove {
414- usage "remove(filename)" if @_ != 1;
415- (-d $_[0]) ? CORE::rmdir($_[0]) : CORE::unlink($_[0]);
416-}
417-
418-sub rename {
419- usage "rename(oldfilename, newfilename)" if @_ != 2;
420- CORE::rename($_[0], $_[1]);
421-}
422-
423-sub rewind {
424- usage "rewind(filehandle)" if @_ != 1;
425- CORE::seek($_[0],0,0);
426-}
427-
428-sub scanf {
429- unimpl "scanf() is C-specific--use <> and regular expressions instead";
430-}
431-
432-sub sprintf {
433- usage "sprintf(pattern,args)" if @_ == 0;
434- CORE::sprintf(shift,@_);
435-}
436-
437-sub sscanf {
438- unimpl "sscanf() is C-specific--use regular expressions instead";
439-}
440-
441-sub tmpfile {
442- redef "IO::File::new_tmpfile()";
443-}
444-
445-sub ungetc {
446- redef "IO::Handle::ungetc()";
447-}
448-
449-sub vfprintf {
450- unimpl "vfprintf() is C-specific";
451-}
452-
453-sub vprintf {
454- unimpl "vprintf() is C-specific";
455-}
456-
457-sub vsprintf {
458- unimpl "vsprintf() is C-specific";
459-}
460-
461-sub abs {
462- usage "abs(x)" if @_ != 1;
463- CORE::abs($_[0]);
464-}
465-
466-sub atexit {
467- unimpl "atexit() is C-specific: use END {} instead";
468-}
469-
470-sub atof {
471- unimpl "atof() is C-specific, stopped";
472-}
473-
474-sub atoi {
475- unimpl "atoi() is C-specific, stopped";
476-}
477-
478-sub atol {
479- unimpl "atol() is C-specific, stopped";
480-}
481-
482-sub bsearch {
483- unimpl "bsearch() not supplied";
484-}
485-
486-sub calloc {
487- unimpl "calloc() is C-specific, stopped";
488-}
489-
490-sub div {
491- unimpl "div() is C-specific, use /, % and int instead";
492-}
493-
494-sub exit {
495- usage "exit(status)" if @_ != 1;
496- CORE::exit($_[0]);
497-}
498-
499-sub free {
500- unimpl "free() is C-specific, stopped";
501-}
502-
503-sub getenv {
504- usage "getenv(name)" if @_ != 1;
505- $ENV{$_[0]};
506-}
507-
508-sub labs {
509- unimpl "labs() is C-specific, use abs instead";
510-}
511-
512-sub ldiv {
513- unimpl "ldiv() is C-specific, use /, % and int instead";
514-}
515-
516-sub malloc {
517- unimpl "malloc() is C-specific, stopped";
518-}
519-
520-sub qsort {
521- unimpl "qsort() is C-specific, use sort instead";
522-}
523-
524-sub rand {
525- unimpl "rand() is non-portable, use Perl's rand instead";
526-}
527-
528-sub realloc {
529- unimpl "realloc() is C-specific, stopped";
530-}
531-
532-sub srand {
533- unimpl "srand()";
534-}
535-
536-sub system {
537- usage "system(command)" if @_ != 1;
538- CORE::system($_[0]);
539-}
540-
541-sub memchr {
542- unimpl "memchr() is C-specific, use index() instead";
543-}
544-
545-sub memcmp {
546- unimpl "memcmp() is C-specific, use eq instead";
547-}
548-
549-sub memcpy {
550- unimpl "memcpy() is C-specific, use = instead";
551-}
552-
553-sub memmove {
554- unimpl "memmove() is C-specific, use = instead";
555-}
556-
557-sub memset {
558- unimpl "memset() is C-specific, use x instead";
559-}
560-
561-sub strcat {
562- unimpl "strcat() is C-specific, use .= instead";
563-}
564-
565-sub strchr {
566- unimpl "strchr() is C-specific, use index() instead";
567-}
568-
569-sub strcmp {
570- unimpl "strcmp() is C-specific, use eq instead";
571-}
572-
573-sub strcpy {
574- unimpl "strcpy() is C-specific, use = instead";
575-}
576-
577-sub strcspn {
578- unimpl "strcspn() is C-specific, use regular expressions instead";
579-}
580-
581-sub strerror {
582- usage "strerror(errno)" if @_ != 1;
583- local $! = $_[0];
584- $! . "";
585-}
586-
587-sub strlen {
588- unimpl "strlen() is C-specific, use length instead";
589-}
590-
591-sub strncat {
592- unimpl "strncat() is C-specific, use .= instead";
593-}
594-
595-sub strncmp {
596- unimpl "strncmp() is C-specific, use eq instead";
597-}
598-
599-sub strncpy {
600- unimpl "strncpy() is C-specific, use = instead";
601-}
602-
603-sub strpbrk {
604- unimpl "strpbrk() is C-specific, stopped";
605-}
606-
607-sub strrchr {
608- unimpl "strrchr() is C-specific, use rindex() instead";
609-}
610-
611-sub strspn {
612- unimpl "strspn() is C-specific, stopped";
613-}
614-
615-sub strstr {
616- usage "strstr(big, little)" if @_ != 2;
617- CORE::index($_[0], $_[1]);
618-}
619-
620-sub strtok {
621- unimpl "strtok() is C-specific, stopped";
622-}
623-
624-sub chmod {
625- usage "chmod(mode, filename)" if @_ != 2;
626- CORE::chmod($_[0], $_[1]);
627-}
628-
629-sub fstat {
630- usage "fstat(fd)" if @_ != 1;
631- local *TMP;
632- CORE::open(TMP, "<&$_[0]"); # Gross.
633- my @l = CORE::stat(TMP);
634- CORE::close(TMP);
635- @l;
636-}
637-
638-sub mkdir {
639- usage "mkdir(directoryname, mode)" if @_ != 2;
640- CORE::mkdir($_[0], $_[1]);
641-}
642-
643-sub stat {
644- usage "stat(filename)" if @_ != 1;
645- CORE::stat($_[0]);
646-}
647-
648-sub umask {
649- usage "umask(mask)" if @_ != 1;
650- CORE::umask($_[0]);
651-}
652-
653-sub wait {
654- usage "wait()" if @_ != 0;
655- CORE::wait();
656-}
657-
658-sub waitpid {
659- usage "waitpid(pid, options)" if @_ != 2;
660- CORE::waitpid($_[0], $_[1]);
661-}
662-
663-sub gmtime {
664- usage "gmtime(time)" if @_ != 1;
665- CORE::gmtime($_[0]);
666-}
667-
668-sub localtime {
669- usage "localtime(time)" if @_ != 1;
670- CORE::localtime($_[0]);
671-}
672-
673-sub time {
674- usage "time()" if @_ != 0;
675- CORE::time;
676-}
677-
678-sub alarm {
679- usage "alarm(seconds)" if @_ != 1;
680- CORE::alarm($_[0]);
681-}
682-
683-sub chdir {
684- usage "chdir(directory)" if @_ != 1;
685- CORE::chdir($_[0]);
686-}
687-
688-sub chown {
689- usage "chown(uid, gid, filename)" if @_ != 3;
690- CORE::chown($_[0], $_[1], $_[2]);
691-}
692-
693-sub execl {
694- unimpl "execl() is C-specific, stopped";
695-}
696-
697-sub execle {
698- unimpl "execle() is C-specific, stopped";
699-}
700-
701-sub execlp {
702- unimpl "execlp() is C-specific, stopped";
703-}
704-
705-sub execv {
706- unimpl "execv() is C-specific, stopped";
707-}
708-
709-sub execve {
710- unimpl "execve() is C-specific, stopped";
711-}
712-
713-sub execvp {
714- unimpl "execvp() is C-specific, stopped";
715-}
716-
717-sub fork {
718- usage "fork()" if @_ != 0;
719- CORE::fork;
720-}
721-
722-sub getegid {
723- usage "getegid()" if @_ != 0;
724- $) + 0;
725-}
726-
727-sub geteuid {
728- usage "geteuid()" if @_ != 0;
729- $> + 0;
730-}
731-
732-sub getgid {
733- usage "getgid()" if @_ != 0;
734- $( + 0;
735-}
736-
737-sub getgroups {
738- usage "getgroups()" if @_ != 0;
739- my %seen;
740- grep(!$seen{$_}++, split(' ', $) ));
741-}
742-
743-sub getlogin {
744- usage "getlogin()" if @_ != 0;
745- CORE::getlogin();
746-}
747-
748-sub getpgrp {
749- usage "getpgrp()" if @_ != 0;
750- CORE::getpgrp;
751-}
752-
753-sub getpid {
754- usage "getpid()" if @_ != 0;
755- $$;
756-}
757-
758-sub getppid {
759- usage "getppid()" if @_ != 0;
760- CORE::getppid;
761-}
762-
763-sub getuid {
764- usage "getuid()" if @_ != 0;
765- $<;
766-}
767-
768-sub isatty {
769- usage "isatty(filehandle)" if @_ != 1;
770- -t $_[0];
771-}
772-
773-sub link {
774- usage "link(oldfilename, newfilename)" if @_ != 2;
775- CORE::link($_[0], $_[1]);
776-}
777-
778-sub rmdir {
779- usage "rmdir(directoryname)" if @_ != 1;
780- CORE::rmdir($_[0]);
781-}
782-
783-sub setbuf {
784- redef "IO::Handle::setbuf()";
785-}
786-
787-sub setvbuf {
788- redef "IO::Handle::setvbuf()";
789-}
790-
791-sub sleep {
792- usage "sleep(seconds)" if @_ != 1;
793- $_[0] - CORE::sleep($_[0]);
794-}
795-
796-sub unlink {
797- usage "unlink(filename)" if @_ != 1;
798- CORE::unlink($_[0]);
799-}
800-
801-sub utime {
802- usage "utime(filename, atime, mtime)" if @_ != 3;
803- CORE::utime($_[1], $_[2], $_[0]);
804-}
805-
806-sub load_imports {
807-%EXPORT_TAGS = (
808-
809- assert_h => [qw(assert NDEBUG)],
810-
811- ctype_h => [qw(isalnum isalpha iscntrl isdigit isgraph islower
812- isprint ispunct isspace isupper isxdigit tolower toupper)],
813-
814- dirent_h => [],
815-
816- errno_h => [qw(E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT
817- EAGAIN EALREADY EBADF EBUSY ECHILD ECONNABORTED
818- ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDOM EDQUOT
819- EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EINPROGRESS
820- EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK
821- EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH
822- ENFILE ENOBUFS ENODEV ENOENT ENOEXEC ENOLCK ENOMEM
823- ENOPROTOOPT ENOSPC ENOSYS ENOTBLK ENOTCONN ENOTDIR
824- ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM
825- EPFNOSUPPORT EPIPE EPROCLIM EPROTONOSUPPORT EPROTOTYPE
826- ERANGE EREMOTE ERESTART EROFS ESHUTDOWN ESOCKTNOSUPPORT
827- ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS ETXTBSY
828- EUSERS EWOULDBLOCK EXDEV errno)],
829-
830- fcntl_h => [qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK
831- F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK
832- O_ACCMODE O_APPEND O_CREAT O_EXCL O_NOCTTY O_NONBLOCK
833- O_RDONLY O_RDWR O_TRUNC O_WRONLY
834- creat
835- SEEK_CUR SEEK_END SEEK_SET
836- S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU
837- S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG S_ISUID
838- S_IWGRP S_IWOTH S_IWUSR)],
839-
840- float_h => [qw(DBL_DIG DBL_EPSILON DBL_MANT_DIG
841- DBL_MAX DBL_MAX_10_EXP DBL_MAX_EXP
842- DBL_MIN DBL_MIN_10_EXP DBL_MIN_EXP
843- FLT_DIG FLT_EPSILON FLT_MANT_DIG
844- FLT_MAX FLT_MAX_10_EXP FLT_MAX_EXP
845- FLT_MIN FLT_MIN_10_EXP FLT_MIN_EXP
846- FLT_RADIX FLT_ROUNDS
847- LDBL_DIG LDBL_EPSILON LDBL_MANT_DIG
848- LDBL_MAX LDBL_MAX_10_EXP LDBL_MAX_EXP
849- LDBL_MIN LDBL_MIN_10_EXP LDBL_MIN_EXP)],
850-
851- grp_h => [],
852-
853- limits_h => [qw( ARG_MAX CHAR_BIT CHAR_MAX CHAR_MIN CHILD_MAX
854- INT_MAX INT_MIN LINK_MAX LONG_MAX LONG_MIN MAX_CANON
855- MAX_INPUT MB_LEN_MAX NAME_MAX NGROUPS_MAX OPEN_MAX
856- PATH_MAX PIPE_BUF SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN
857- SSIZE_MAX STREAM_MAX TZNAME_MAX UCHAR_MAX UINT_MAX
858- ULONG_MAX USHRT_MAX _POSIX_ARG_MAX _POSIX_CHILD_MAX
859- _POSIX_LINK_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT
860- _POSIX_NAME_MAX _POSIX_NGROUPS_MAX _POSIX_OPEN_MAX
861- _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_SSIZE_MAX
862- _POSIX_STREAM_MAX _POSIX_TZNAME_MAX)],
863-
864- locale_h => [qw(LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES
865- LC_MONETARY LC_NUMERIC LC_TIME NULL
866- localeconv setlocale)],
867-
868- math_h => [qw(HUGE_VAL acos asin atan ceil cosh fabs floor fmod
869- frexp ldexp log10 modf pow sinh tan tanh)],
870-
871- pwd_h => [],
872-
873- setjmp_h => [qw(longjmp setjmp siglongjmp sigsetjmp)],
874-
875- signal_h => [qw(SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK
876- SA_RESETHAND SA_RESTART SA_SIGINFO SIGABRT SIGALRM
877- SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL
878- SIGPIPE %SIGRT SIGRTMIN SIGRTMAX SIGQUIT SIGSEGV SIGSTOP
879- SIGTERM SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2
880- SIG_BLOCK SIG_DFL SIG_ERR SIG_IGN SIG_SETMASK SIG_UNBLOCK
881- raise sigaction signal sigpending sigprocmask sigsuspend)],
882-
883- stdarg_h => [],
884-
885- stddef_h => [qw(NULL offsetof)],
886-
887- stdio_h => [qw(BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid
888- L_tmpname NULL SEEK_CUR SEEK_END SEEK_SET
889- STREAM_MAX TMP_MAX stderr stdin stdout
890- clearerr fclose fdopen feof ferror fflush fgetc fgetpos
891- fgets fopen fprintf fputc fputs fread freopen
892- fscanf fseek fsetpos ftell fwrite getchar gets
893- perror putc putchar puts remove rewind
894- scanf setbuf setvbuf sscanf tmpfile tmpnam
895- ungetc vfprintf vprintf vsprintf)],
896-
897- stdlib_h => [qw(EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX NULL RAND_MAX
898- abort atexit atof atoi atol bsearch calloc div
899- free getenv labs ldiv malloc mblen mbstowcs mbtowc
900- qsort realloc strtod strtol strtoul wcstombs wctomb)],
901-
902- string_h => [qw(NULL memchr memcmp memcpy memmove memset strcat
903- strchr strcmp strcoll strcpy strcspn strerror strlen
904- strncat strncmp strncpy strpbrk strrchr strspn strstr
905- strtok strxfrm)],
906-
907- sys_stat_h => [qw(S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU
908- S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG
909- S_ISUID S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR
910- fstat mkfifo)],
911-
912- sys_times_h => [],
913-
914- sys_types_h => [],
915-
916- sys_utsname_h => [qw(uname)],
917-
918- sys_wait_h => [qw(WEXITSTATUS WIFEXITED WIFSIGNALED WIFSTOPPED
919- WNOHANG WSTOPSIG WTERMSIG WUNTRACED)],
920-
921- termios_h => [qw( B0 B110 B1200 B134 B150 B1800 B19200 B200 B2400
922- B300 B38400 B4800 B50 B600 B75 B9600 BRKINT CLOCAL
923- CREAD CS5 CS6 CS7 CS8 CSIZE CSTOPB ECHO ECHOE ECHOK
924- ECHONL HUPCL ICANON ICRNL IEXTEN IGNBRK IGNCR IGNPAR
925- INLCR INPCK ISIG ISTRIP IXOFF IXON NCCS NOFLSH OPOST
926- PARENB PARMRK PARODD TCIFLUSH TCIOFF TCIOFLUSH TCION
927- TCOFLUSH TCOOFF TCOON TCSADRAIN TCSAFLUSH TCSANOW
928- TOSTOP VEOF VEOL VERASE VINTR VKILL VMIN VQUIT VSTART
929- VSTOP VSUSP VTIME
930- cfgetispeed cfgetospeed cfsetispeed cfsetospeed tcdrain
931- tcflow tcflush tcgetattr tcsendbreak tcsetattr )],
932-
933- time_h => [qw(CLK_TCK CLOCKS_PER_SEC NULL asctime clock ctime
934- difftime mktime strftime tzset tzname)],
935-
936- unistd_h => [qw(F_OK NULL R_OK SEEK_CUR SEEK_END SEEK_SET
937- STDERR_FILENO STDIN_FILENO STDOUT_FILENO W_OK X_OK
938- _PC_CHOWN_RESTRICTED _PC_LINK_MAX _PC_MAX_CANON
939- _PC_MAX_INPUT _PC_NAME_MAX _PC_NO_TRUNC _PC_PATH_MAX
940- _PC_PIPE_BUF _PC_VDISABLE _POSIX_CHOWN_RESTRICTED
941- _POSIX_JOB_CONTROL _POSIX_NO_TRUNC _POSIX_SAVED_IDS
942- _POSIX_VDISABLE _POSIX_VERSION _SC_ARG_MAX
943- _SC_CHILD_MAX _SC_CLK_TCK _SC_JOB_CONTROL
944- _SC_NGROUPS_MAX _SC_OPEN_MAX _SC_PAGESIZE _SC_SAVED_IDS
945- _SC_STREAM_MAX _SC_TZNAME_MAX _SC_VERSION
946- _exit access ctermid cuserid
947- dup2 dup execl execle execlp execv execve execvp
948- fpathconf fsync getcwd getegid geteuid getgid getgroups
949- getpid getuid isatty lseek pathconf pause setgid setpgid
950- setsid setuid sysconf tcgetpgrp tcsetpgrp ttyname)],
951-
952- utime_h => [],
953-
954-);
955-
956-# Exporter::export_tags();
957-{
958- # De-duplicate the export list:
959- my %export;
960- @export{map {@$_} values %EXPORT_TAGS} = ();
961- # Doing the de-dup with a temporary hash has the advantage that the SVs in
962- # @EXPORT are actually shared hash key sacalars, which will save some memory.
963- push @EXPORT, keys %export;
964-}
965-
966-@EXPORT_OK = qw(
967- abs
968- alarm
969- atan2
970- chdir
971- chmod
972- chown
973- close
974- closedir
975- cos
976- exit
977- exp
978- fcntl
979- fileno
980- fork
981- getc
982- getgrgid
983- getgrnam
984- getlogin
985- getpgrp
986- getppid
987- getpwnam
988- getpwuid
989- gmtime
990- isatty
991- kill
992- lchown
993- link
994- localtime
995- log
996- mkdir
997- nice
998- open
999- opendir
1000- pipe
1001- printf
1002- rand
1003- read
1004- readdir
1005- rename
1006- rewinddir
1007- rmdir
1008- sin
1009- sleep
1010- sprintf
1011- sqrt
1012- srand
1013- stat
1014- system
1015- time
1016- times
1017- umask
1018- unlink
1019- utime
1020- wait
1021- waitpid
1022- write
1023-);
1024-
1025-require Exporter;
1026-}
1027-
1028-package POSIX::SigAction;
1029-
1030-sub new { bless {HANDLER => $_[1], MASK => $_[2], FLAGS => $_[3] || 0, SAFE => 0}, $_[0] }
1031-sub handler { $_[0]->{HANDLER} = $_[1] if @_ > 1; $_[0]->{HANDLER} };
1032-sub mask { $_[0]->{MASK} = $_[1] if @_ > 1; $_[0]->{MASK} };
1033-sub flags { $_[0]->{FLAGS} = $_[1] if @_ > 1; $_[0]->{FLAGS} };
1034-sub safe { $_[0]->{SAFE} = $_[1] if @_ > 1; $_[0]->{SAFE} };
1035-
1036-package POSIX::SigRt;
1037-
1038-
1039-sub _init {
1040- $_SIGRTMIN = &POSIX::SIGRTMIN;
1041- $_SIGRTMAX = &POSIX::SIGRTMAX;
1042- $_sigrtn = $_SIGRTMAX - $_SIGRTMIN;
1043-}
1044-
1045-sub _croak {
1046- &_init unless defined $_sigrtn;
1047- die "POSIX::SigRt not available" unless defined $_sigrtn && $_sigrtn > 0;
1048-}
1049-
1050-sub _getsig {
1051- &_croak;
1052- my $rtsig = $_[0];
1053- # Allow (SIGRT)?MIN( + n)?, a common idiom when doing these things in C.
1054- $rtsig = $_SIGRTMIN + ($1 || 0)
1055- if $rtsig =~ /^(?:(?:SIG)?RT)?MIN(\s*\+\s*(\d+))?$/;
1056- return $rtsig;
1057-}
1058-
1059-sub _exist {
1060- my $rtsig = _getsig($_[1]);
1061- my $ok = $rtsig >= $_SIGRTMIN && $rtsig <= $_SIGRTMAX;
1062- ($rtsig, $ok);
1063-}
1064-
1065-sub _check {
1066- my ($rtsig, $ok) = &_exist;
1067- die "No POSIX::SigRt signal $_[1] (valid range SIGRTMIN..SIGRTMAX, or $_SIGRTMIN..$_SIGRTMAX)"
1068- unless $ok;
1069- return $rtsig;
1070-}
1071-
1072-sub new {
1073- my ($rtsig, $handler, $flags) = @_;
1074- my $sigset = POSIX::SigSet->new($rtsig);
1075- my $sigact = POSIX::SigAction->new($handler,
1076- $sigset,
1077- $flags);
1078- POSIX::sigaction($rtsig, $sigact);
1079-}
1080-
1081-sub EXISTS { &_exist }
1082-sub FETCH { my $rtsig = &_check;
1083- my $oa = POSIX::SigAction->new();
1084- POSIX::sigaction($rtsig, undef, $oa);
1085- return $oa->{HANDLER} }
1086-sub STORE { my $rtsig = &_check; new($rtsig, $_[2], $SIGACTION_FLAGS) }
1087-sub DELETE { delete $SIG{ &_check } }
1088-sub CLEAR { &_exist; delete @SIG{ &POSIX::SIGRTMIN .. &POSIX::SIGRTMAX } }
1089-sub SCALAR { &_croak; $_sigrtn + 1 }
1090diff --git a/ext/POSIX/POSIX.pod b/ext/POSIX/POSIX.pod
1091deleted file mode 100644
1092index 64852e9..0000000
1093--- a/ext/POSIX/POSIX.pod
1094+++ /dev/null
1095@@ -1,2218 +0,0 @@
1096-=head1 NAME
1097-
1098-POSIX - Perl interface to IEEE Std 1003.1
1099-
1100-=head1 SYNOPSIS
1101-
1102- use POSIX;
1103- use POSIX qw(setsid);
1104- use POSIX qw(:errno_h :fcntl_h);
1105-
1106- printf "EINTR is %d\n", EINTR;
1107-
1108- $sess_id = POSIX::setsid();
1109-
1110- $fd = POSIX::open($path, O_CREAT|O_EXCL|O_WRONLY, 0644);
1111- # note: that's a filedescriptor, *NOT* a filehandle
1112-
1113-=head1 DESCRIPTION
1114-
1115-The POSIX module permits you to access all (or nearly all) the standard
1116-POSIX 1003.1 identifiers. Many of these identifiers have been given Perl-ish
1117-interfaces.
1118-
1119-I<Everything is exported by default> with the exception of any POSIX
1120-functions with the same name as a built-in Perl function, such as
1121-C<abs>, C<alarm>, C<rmdir>, C<write>, etc.., which will be exported
1122-only if you ask for them explicitly. This is an unfortunate backwards
1123-compatibility feature. You can stop the exporting by saying C<use
1124-POSIX ()> and then use the fully qualified names (ie. C<POSIX::SEEK_END>).
1125-
1126-This document gives a condensed list of the features available in the POSIX
1127-module. Consult your operating system's manpages for general information on
1128-most features. Consult L<perlfunc> for functions which are noted as being
1129-identical to Perl's builtin functions.
1130-
1131-The first section describes POSIX functions from the 1003.1 specification.
1132-The second section describes some classes for signal objects, TTY objects,
1133-and other miscellaneous objects. The remaining sections list various
1134-constants and macros in an organization which roughly follows IEEE Std
1135-1003.1b-1993.
1136-
1137-=head1 NOTE
1138-
1139-The POSIX module is probably the most complex Perl module supplied with
1140-the standard distribution. It incorporates autoloading, namespace games,
1141-and dynamic loading of code that's in Perl, C, or both. It's a great
1142-source of wisdom.
1143-
1144-=head1 CAVEATS
1145-
1146-A few functions are not implemented because they are C specific. If you
1147-attempt to call these, they will print a message telling you that they
1148-aren't implemented, and suggest using the Perl equivalent should one
1149-exist. For example, trying to access the setjmp() call will elicit the
1150-message "setjmp() is C-specific: use eval {} instead".
1151-
1152-Furthermore, some evil vendors will claim 1003.1 compliance, but in fact
1153-are not so: they will not pass the PCTS (POSIX Compliance Test Suites).
1154-For example, one vendor may not define EDEADLK, or the semantics of the
1155-errno values set by open(2) might not be quite right. Perl does not
1156-attempt to verify POSIX compliance. That means you can currently
1157-successfully say "use POSIX", and then later in your program you find
1158-that your vendor has been lax and there's no usable ICANON macro after
1159-all. This could be construed to be a bug.
1160-
1161-=head1 FUNCTIONS
1162-
1163-=over 8
1164-
1165-=item _exit
1166-
1167-This is identical to the C function C<_exit()>. It exits the program
1168-immediately which means among other things buffered I/O is B<not> flushed.
1169-
1170-Note that when using threads and in Linux this is B<not> a good way to
1171-exit a thread because in Linux processes and threads are kind of the
1172-same thing (Note: while this is the situation in early 2003 there are
1173-projects under way to have threads with more POSIXly semantics in Linux).
1174-If you want not to return from a thread, detach the thread.
1175-
1176-=item abort
1177-
1178-This is identical to the C function C<abort()>. It terminates the
1179-process with a C<SIGABRT> signal unless caught by a signal handler or
1180-if the handler does not return normally (it e.g. does a C<longjmp>).
1181-
1182-=item abs
1183-
1184-This is identical to Perl's builtin C<abs()> function, returning
1185-the absolute value of its numerical argument.
1186-
1187-=item access
1188-
1189-Determines the accessibility of a file.
1190-
1191- if( POSIX::access( "/", &POSIX::R_OK ) ){
1192- print "have read permission\n";
1193- }
1194-
1195-Returns C<undef> on failure. Note: do not use C<access()> for
1196-security purposes. Between the C<access()> call and the operation
1197-you are preparing for the permissions might change: a classic
1198-I<race condition>.
1199-
1200-=item acos
1201-
1202-This is identical to the C function C<acos()>, returning
1203-the arcus cosine of its numerical argument. See also L<Math::Trig>.
1204-
1205-=item alarm
1206-
1207-This is identical to Perl's builtin C<alarm()> function,
1208-either for arming or disarming the C<SIGARLM> timer.
1209-
1210-=item asctime
1211-
1212-This is identical to the C function C<asctime()>. It returns
1213-a string of the form
1214-
1215- "Fri Jun 2 18:22:13 2000\n\0"
1216-
1217-and it is called thusly
1218-
1219- $asctime = asctime($sec, $min, $hour, $mday, $mon, $year,
1220- $wday, $yday, $isdst);
1221-
1222-The C<$mon> is zero-based: January equals C<0>. The C<$year> is
1223-1900-based: 2001 equals C<101>. C<$wday> and C<$yday> default to zero
1224-(and are usually ignored anyway), and C<$isdst> defaults to -1.
1225-
1226-=item asin
1227-
1228-This is identical to the C function C<asin()>, returning
1229-the arcus sine of its numerical argument. See also L<Math::Trig>.
1230-
1231-=item assert
1232-
1233-Unimplemented, but you can use L<perlfunc/die> and the L<Carp> module
1234-to achieve similar things.
1235-
1236-=item atan
1237-
1238-This is identical to the C function C<atan()>, returning the
1239-arcus tangent of its numerical argument. See also L<Math::Trig>.
1240-
1241-=item atan2
1242-
1243-This is identical to Perl's builtin C<atan2()> function, returning
1244-the arcus tangent defined by its two numerical arguments, the I<y>
1245-coordinate and the I<x> coordinate. See also L<Math::Trig>.
1246-
1247-=item atexit
1248-
1249-atexit() is C-specific: use C<END {}> instead, see L<perlsub>.
1250-
1251-=item atof
1252-
1253-atof() is C-specific. Perl converts strings to numbers transparently.
1254-If you need to force a scalar to a number, add a zero to it.
1255-
1256-=item atoi
1257-
1258-atoi() is C-specific. Perl converts strings to numbers transparently.
1259-If you need to force a scalar to a number, add a zero to it.
1260-If you need to have just the integer part, see L<perlfunc/int>.
1261-
1262-=item atol
1263-
1264-atol() is C-specific. Perl converts strings to numbers transparently.
1265-If you need to force a scalar to a number, add a zero to it.
1266-If you need to have just the integer part, see L<perlfunc/int>.
1267-
1268-=item bsearch
1269-
1270-bsearch() not supplied. For doing binary search on wordlists,
1271-see L<Search::Dict>.
1272-
1273-=item calloc
1274-
1275-calloc() is C-specific. Perl does memory management transparently.
1276-
1277-=item ceil
1278-
1279-This is identical to the C function C<ceil()>, returning the smallest
1280-integer value greater than or equal to the given numerical argument.
1281-
1282-=item chdir
1283-
1284-This is identical to Perl's builtin C<chdir()> function, allowing
1285-one to change the working (default) directory, see L<perlfunc/chdir>.
1286-
1287-=item chmod
1288-
1289-This is identical to Perl's builtin C<chmod()> function, allowing
1290-one to change file and directory permissions, see L<perlfunc/chmod>.
1291-
1292-=item chown
1293-
1294-This is identical to Perl's builtin C<chown()> function, allowing one
1295-to change file and directory owners and groups, see L<perlfunc/chown>.
1296-
1297-=item clearerr
1298-
1299-Use the method C<IO::Handle::clearerr()> instead, to reset the error
1300-state (if any) and EOF state (if any) of the given stream.
1301-
1302-=item clock
1303-
1304-This is identical to the C function C<clock()>, returning the
1305-amount of spent processor time in microseconds.
1306-
1307-=item close
1308-
1309-Close the file. This uses file descriptors such as those obtained by calling
1310-C<POSIX::open>.
1311-
1312- $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
1313- POSIX::close( $fd );
1314-
1315-Returns C<undef> on failure.
1316-
1317-See also L<perlfunc/close>.
1318-
1319-=item closedir
1320-
1321-This is identical to Perl's builtin C<closedir()> function for closing
1322-a directory handle, see L<perlfunc/closedir>.
1323-
1324-=item cos
1325-
1326-This is identical to Perl's builtin C<cos()> function, for returning
1327-the cosine of its numerical argument, see L<perlfunc/cos>.
1328-See also L<Math::Trig>.
1329-
1330-=item cosh
1331-
1332-This is identical to the C function C<cosh()>, for returning
1333-the hyperbolic cosine of its numeric argument. See also L<Math::Trig>.
1334-
1335-=item creat
1336-
1337-Create a new file. This returns a file descriptor like the ones returned by
1338-C<POSIX::open>. Use C<POSIX::close> to close the file.
1339-
1340- $fd = POSIX::creat( "foo", 0611 );
1341- POSIX::close( $fd );
1342-
1343-See also L<perlfunc/sysopen> and its C<O_CREAT> flag.
1344-
1345-=item ctermid
1346-
1347-Generates the path name for the controlling terminal.
1348-
1349- $path = POSIX::ctermid();
1350-
1351-=item ctime
1352-
1353-This is identical to the C function C<ctime()> and equivalent
1354-to C<asctime(localtime(...))>, see L</asctime> and L</localtime>.
1355-
1356-=item cuserid
1357-
1358-Get the login name of the owner of the current process.
1359-
1360- $name = POSIX::cuserid();
1361-
1362-=item difftime
1363-
1364-This is identical to the C function C<difftime()>, for returning
1365-the time difference (in seconds) between two times (as returned
1366-by C<time()>), see L</time>.
1367-
1368-=item div
1369-
1370-div() is C-specific, use L<perlfunc/int> on the usual C</> division and
1371-the modulus C<%>.
1372-
1373-=item dup
1374-
1375-This is similar to the C function C<dup()>, for duplicating a file
1376-descriptor.
1377-
1378-This uses file descriptors such as those obtained by calling
1379-C<POSIX::open>.
1380-
1381-Returns C<undef> on failure.
1382-
1383-=item dup2
1384-
1385-This is similar to the C function C<dup2()>, for duplicating a file
1386-descriptor to an another known file descriptor.
1387-
1388-This uses file descriptors such as those obtained by calling
1389-C<POSIX::open>.
1390-
1391-Returns C<undef> on failure.
1392-
1393-=item errno
1394-
1395-Returns the value of errno.
1396-
1397- $errno = POSIX::errno();
1398-
1399-This identical to the numerical values of the C<$!>, see L<perlvar/$ERRNO>.
1400-
1401-=item execl
1402-
1403-execl() is C-specific, see L<perlfunc/exec>.
1404-
1405-=item execle
1406-
1407-execle() is C-specific, see L<perlfunc/exec>.
1408-
1409-=item execlp
1410-
1411-execlp() is C-specific, see L<perlfunc/exec>.
1412-
1413-=item execv
1414-
1415-execv() is C-specific, see L<perlfunc/exec>.
1416-
1417-=item execve
1418-
1419-execve() is C-specific, see L<perlfunc/exec>.
1420-
1421-=item execvp
1422-
1423-execvp() is C-specific, see L<perlfunc/exec>.
1424-
1425-=item exit
1426-
1427-This is identical to Perl's builtin C<exit()> function for exiting the
1428-program, see L<perlfunc/exit>.
1429-
1430-=item exp
1431-
1432-This is identical to Perl's builtin C<exp()> function for
1433-returning the exponent (I<e>-based) of the numerical argument,
1434-see L<perlfunc/exp>.
1435-
1436-=item fabs
1437-
1438-This is identical to Perl's builtin C<abs()> function for returning
1439-the absolute value of the numerical argument, see L<perlfunc/abs>.
1440-
1441-=item fclose
1442-
1443-Use method C<IO::Handle::close()> instead, or see L<perlfunc/close>.
1444-
1445-=item fcntl
1446-
1447-This is identical to Perl's builtin C<fcntl()> function,
1448-see L<perlfunc/fcntl>.
1449-
1450-=item fdopen
1451-
1452-Use method C<IO::Handle::new_from_fd()> instead, or see L<perlfunc/open>.
1453-
1454-=item feof
1455-
1456-Use method C<IO::Handle::eof()> instead, or see L<perlfunc/eof>.
1457-
1458-=item ferror
1459-
1460-Use method C<IO::Handle::error()> instead.
1461-
1462-=item fflush
1463-
1464-Use method C<IO::Handle::flush()> instead.
1465-See also L<perlvar/$OUTPUT_AUTOFLUSH>.
1466-
1467-=item fgetc
1468-
1469-Use method C<IO::Handle::getc()> instead, or see L<perlfunc/read>.
1470-
1471-=item fgetpos
1472-
1473-Use method C<IO::Seekable::getpos()> instead, or see L<L/seek>.
1474-
1475-=item fgets
1476-
1477-Use method C<IO::Handle::gets()> instead. Similar to E<lt>E<gt>, also known
1478-as L<perlfunc/readline>.
1479-
1480-=item fileno
1481-
1482-Use method C<IO::Handle::fileno()> instead, or see L<perlfunc/fileno>.
1483-
1484-=item floor
1485-
1486-This is identical to the C function C<floor()>, returning the largest
1487-integer value less than or equal to the numerical argument.
1488-
1489-=item fmod
1490-
1491-This is identical to the C function C<fmod()>.
1492-
1493- $r = fmod($x, $y);
1494-
1495-It returns the remainder C<$r = $x - $n*$y>, where C<$n = trunc($x/$y)>.
1496-The C<$r> has the same sign as C<$x> and magnitude (absolute value)
1497-less than the magnitude of C<$y>.
1498-
1499-=item fopen
1500-
1501-Use method C<IO::File::open()> instead, or see L<perlfunc/open>.
1502-
1503-=item fork
1504-
1505-This is identical to Perl's builtin C<fork()> function
1506-for duplicating the current process, see L<perlfunc/fork>
1507-and L<perlfork> if you are in Windows.
1508-
1509-=item fpathconf
1510-
1511-Retrieves the value of a configurable limit on a file or directory. This
1512-uses file descriptors such as those obtained by calling C<POSIX::open>.
1513-
1514-The following will determine the maximum length of the longest allowable
1515-pathname on the filesystem which holds C</var/foo>.
1516-
1517- $fd = POSIX::open( "/var/foo", &POSIX::O_RDONLY );
1518- $path_max = POSIX::fpathconf( $fd, &POSIX::_PC_PATH_MAX );
1519-
1520-Returns C<undef> on failure.
1521-
1522-=item fprintf
1523-
1524-fprintf() is C-specific, see L<perlfunc/printf> instead.
1525-
1526-=item fputc
1527-
1528-fputc() is C-specific, see L<perlfunc/print> instead.
1529-
1530-=item fputs
1531-
1532-fputs() is C-specific, see L<perlfunc/print> instead.
1533-
1534-=item fread
1535-
1536-fread() is C-specific, see L<perlfunc/read> instead.
1537-
1538-=item free
1539-
1540-free() is C-specific. Perl does memory management transparently.
1541-
1542-=item freopen
1543-
1544-freopen() is C-specific, see L<perlfunc/open> instead.
1545-
1546-=item frexp
1547-
1548-Return the mantissa and exponent of a floating-point number.
1549-
1550- ($mantissa, $exponent) = POSIX::frexp( 1.234e56 );
1551-
1552-=item fscanf
1553-
1554-fscanf() is C-specific, use E<lt>E<gt> and regular expressions instead.
1555-
1556-=item fseek
1557-
1558-Use method C<IO::Seekable::seek()> instead, or see L<perlfunc/seek>.
1559-
1560-=item fsetpos
1561-
1562-Use method C<IO::Seekable::setpos()> instead, or seek L<perlfunc/seek>.
1563-
1564-=item fstat
1565-
1566-Get file status. This uses file descriptors such as those obtained by
1567-calling C<POSIX::open>. The data returned is identical to the data from
1568-Perl's builtin C<stat> function.
1569-
1570- $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
1571- @stats = POSIX::fstat( $fd );
1572-
1573-=item fsync
1574-
1575-Use method C<IO::Handle::sync()> instead.
1576-
1577-=item ftell
1578-
1579-Use method C<IO::Seekable::tell()> instead, or see L<perlfunc/tell>.
1580-
1581-=item fwrite
1582-
1583-fwrite() is C-specific, see L<perlfunc/print> instead.
1584-
1585-=item getc
1586-
1587-This is identical to Perl's builtin C<getc()> function,
1588-see L<perlfunc/getc>.
1589-
1590-=item getchar
1591-
1592-Returns one character from STDIN. Identical to Perl's C<getc()>,
1593-see L<perlfunc/getc>.
1594-
1595-=item getcwd
1596-
1597-Returns the name of the current working directory.
1598-See also L<Cwd>.
1599-
1600-=item getegid
1601-
1602-Returns the effective group identifier. Similar to Perl' s builtin
1603-variable C<$(>, see L<perlvar/$EGID>.
1604-
1605-=item getenv
1606-
1607-Returns the value of the specified environment variable.
1608-The same information is available through the C<%ENV> array.
1609-
1610-=item geteuid
1611-
1612-Returns the effective user identifier. Identical to Perl's builtin C<$E<gt>>
1613-variable, see L<perlvar/$EUID>.
1614-
1615-=item getgid
1616-
1617-Returns the user's real group identifier. Similar to Perl's builtin
1618-variable C<$)>, see L<perlvar/$GID>.
1619-
1620-=item getgrgid
1621-
1622-This is identical to Perl's builtin C<getgrgid()> function for
1623-returning group entries by group identifiers, see
1624-L<perlfunc/getgrgid>.
1625-
1626-=item getgrnam
1627-
1628-This is identical to Perl's builtin C<getgrnam()> function for
1629-returning group entries by group names, see L<perlfunc/getgrnam>.
1630-
1631-=item getgroups
1632-
1633-Returns the ids of the user's supplementary groups. Similar to Perl's
1634-builtin variable C<$)>, see L<perlvar/$GID>.
1635-
1636-=item getlogin
1637-
1638-This is identical to Perl's builtin C<getlogin()> function for
1639-returning the user name associated with the current session, see
1640-L<perlfunc/getlogin>.
1641-
1642-=item getpgrp
1643-
1644-This is identical to Perl's builtin C<getpgrp()> function for
1645-returning the process group identifier of the current process, see
1646-L<perlfunc/getpgrp>.
1647-
1648-=item getpid
1649-
1650-Returns the process identifier. Identical to Perl's builtin
1651-variable C<$$>, see L<perlvar/$PID>.
1652-
1653-=item getppid
1654-
1655-This is identical to Perl's builtin C<getppid()> function for
1656-returning the process identifier of the parent process of the current
1657-process , see L<perlfunc/getppid>.
1658-
1659-=item getpwnam
1660-
1661-This is identical to Perl's builtin C<getpwnam()> function for
1662-returning user entries by user names, see L<perlfunc/getpwnam>.
1663-
1664-=item getpwuid
1665-
1666-This is identical to Perl's builtin C<getpwuid()> function for
1667-returning user entries by user identifiers, see L<perlfunc/getpwuid>.
1668-
1669-=item gets
1670-
1671-Returns one line from C<STDIN>, similar to E<lt>E<gt>, also known
1672-as the C<readline()> function, see L<perlfunc/readline>.
1673-
1674-B<NOTE>: if you have C programs that still use C<gets()>, be very
1675-afraid. The C<gets()> function is a source of endless grief because
1676-it has no buffer overrun checks. It should B<never> be used. The
1677-C<fgets()> function should be preferred instead.
1678-
1679-=item getuid
1680-
1681-Returns the user's identifier. Identical to Perl's builtin C<$E<lt>> variable,
1682-see L<perlvar/$UID>.
1683-
1684-=item gmtime
1685-
1686-This is identical to Perl's builtin C<gmtime()> function for
1687-converting seconds since the epoch to a date in Greenwich Mean Time,
1688-see L<perlfunc/gmtime>.
1689-
1690-=item isalnum
1691-
1692-This is identical to the C function, except that it can apply to a
1693-single character or to a whole string. Note that locale settings may
1694-affect what characters are considered C<isalnum>. Does not work on
1695-Unicode characters code point 256 or higher. Consider using regular
1696-expressions and the C</[[:alnum:]]/> construct instead, or possibly
1697-the C</\w/> construct.
1698-
1699-=item isalpha
1700-
1701-This is identical to the C function, except that it can apply to
1702-a single character or to a whole string. Note that locale settings
1703-may affect what characters are considered C<isalpha>. Does not work
1704-on Unicode characters code point 256 or higher. Consider using regular
1705-expressions and the C</[[:alpha:]]/> construct instead.
1706-
1707-=item isatty
1708-
1709-Returns a boolean indicating whether the specified filehandle is connected
1710-to a tty. Similar to the C<-t> operator, see L<perlfunc/-X>.
1711-
1712-=item iscntrl
1713-
1714-This is identical to the C function, except that it can apply to
1715-a single character or to a whole string. Note that locale settings
1716-may affect what characters are considered C<iscntrl>. Does not work
1717-on Unicode characters code point 256 or higher. Consider using regular
1718-expressions and the C</[[:cntrl:]]/> construct instead.
1719-
1720-=item isdigit
1721-
1722-This is identical to the C function, except that it can apply to
1723-a single character or to a whole string. Note that locale settings
1724-may affect what characters are considered C<isdigit> (unlikely, but
1725-still possible). Does not work on Unicode characters code point 256
1726-or higher. Consider using regular expressions and the C</[[:digit:]]/>
1727-construct instead, or the C</\d/> construct.
1728-
1729-=item isgraph
1730-
1731-This is identical to the C function, except that it can apply to
1732-a single character or to a whole string. Note that locale settings
1733-may affect what characters are considered C<isgraph>. Does not work
1734-on Unicode characters code point 256 or higher. Consider using regular
1735-expressions and the C</[[:graph:]]/> construct instead.
1736-
1737-=item islower
1738-
1739-This is identical to the C function, except that it can apply to
1740-a single character or to a whole string. Note that locale settings
1741-may affect what characters are considered C<islower>. Does not work
1742-on Unicode characters code point 256 or higher. Consider using regular
1743-expressions and the C</[[:lower:]]/> construct instead. Do B<not> use
1744-C</[a-z]/>.
1745-
1746-=item isprint
1747-
1748-This is identical to the C function, except that it can apply to
1749-a single character or to a whole string. Note that locale settings
1750-may affect what characters are considered C<isprint>. Does not work
1751-on Unicode characters code point 256 or higher. Consider using regular
1752-expressions and the C</[[:print:]]/> construct instead.
1753-
1754-=item ispunct
1755-
1756-This is identical to the C function, except that it can apply to
1757-a single character or to a whole string. Note that locale settings
1758-may affect what characters are considered C<ispunct>. Does not work
1759-on Unicode characters code point 256 or higher. Consider using regular
1760-expressions and the C</[[:punct:]]/> construct instead.
1761-
1762-=item isspace
1763-
1764-This is identical to the C function, except that it can apply to
1765-a single character or to a whole string. Note that locale settings
1766-may affect what characters are considered C<isspace>. Does not work
1767-on Unicode characters code point 256 or higher. Consider using regular
1768-expressions and the C</[[:space:]]/> construct instead, or the C</\s/>
1769-construct. (Note that C</\s/> and C</[[:space:]]/> are slightly
1770-different in that C</[[:space:]]/> can normally match a vertical tab,
1771-while C</\s/> does not.)
1772-
1773-=item isupper
1774-
1775-This is identical to the C function, except that it can apply to
1776-a single character or to a whole string. Note that locale settings
1777-may affect what characters are considered C<isupper>. Does not work
1778-on Unicode characters code point 256 or higher. Consider using regular
1779-expressions and the C</[[:upper:]]/> construct instead. Do B<not> use
1780-C</[A-Z]/>.
1781-
1782-=item isxdigit
1783-
1784-This is identical to the C function, except that it can apply to a single
1785-character or to a whole string. Note that locale settings may affect what
1786-characters are considered C<isxdigit> (unlikely, but still possible).
1787-Does not work on Unicode characters code point 256 or higher.
1788-Consider using regular expressions and the C</[[:xdigit:]]/>
1789-construct instead, or simply C</[0-9a-f]/i>.
1790-
1791-=item kill
1792-
1793-This is identical to Perl's builtin C<kill()> function for sending
1794-signals to processes (often to terminate them), see L<perlfunc/kill>.
1795-
1796-=item labs
1797-
1798-(For returning absolute values of long integers.)
1799-labs() is C-specific, see L<perlfunc/abs> instead.
1800-
1801-=item lchown
1802-
1803-This is identical to the C function, except the order of arguments is
1804-consistent with Perl's builtin C<chown()> with the added restriction
1805-of only one path, not an list of paths. Does the same thing as the
1806-C<chown()> function but changes the owner of a symbolic link instead
1807-of the file the symbolic link points to.
1808-
1809-=item ldexp
1810-
1811-This is identical to the C function C<ldexp()>
1812-for multiplying floating point numbers with powers of two.
1813-
1814- $x_quadrupled = POSIX::ldexp($x, 2);
1815-
1816-=item ldiv
1817-
1818-(For computing dividends of long integers.)
1819-ldiv() is C-specific, use C</> and C<int()> instead.
1820-
1821-=item link
1822-
1823-This is identical to Perl's builtin C<link()> function
1824-for creating hard links into files, see L<perlfunc/link>.
1825-
1826-=item localeconv
1827-
1828-Get numeric formatting information. Returns a reference to a hash
1829-containing the current locale formatting values.
1830-
1831-Here is how to query the database for the B<de> (Deutsch or German) locale.
1832-
1833- $loc = POSIX::setlocale( &POSIX::LC_ALL, "de" );
1834- print "Locale = $loc\n";
1835- $lconv = POSIX::localeconv();
1836- print "decimal_point = ", $lconv->{decimal_point}, "\n";
1837- print "thousands_sep = ", $lconv->{thousands_sep}, "\n";
1838- print "grouping = ", $lconv->{grouping}, "\n";
1839- print "int_curr_symbol = ", $lconv->{int_curr_symbol}, "\n";
1840- print "currency_symbol = ", $lconv->{currency_symbol}, "\n";
1841- print "mon_decimal_point = ", $lconv->{mon_decimal_point}, "\n";
1842- print "mon_thousands_sep = ", $lconv->{mon_thousands_sep}, "\n";
1843- print "mon_grouping = ", $lconv->{mon_grouping}, "\n";
1844- print "positive_sign = ", $lconv->{positive_sign}, "\n";
1845- print "negative_sign = ", $lconv->{negative_sign}, "\n";
1846- print "int_frac_digits = ", $lconv->{int_frac_digits}, "\n";
1847- print "frac_digits = ", $lconv->{frac_digits}, "\n";
1848- print "p_cs_precedes = ", $lconv->{p_cs_precedes}, "\n";
1849- print "p_sep_by_space = ", $lconv->{p_sep_by_space}, "\n";
1850- print "n_cs_precedes = ", $lconv->{n_cs_precedes}, "\n";
1851- print "n_sep_by_space = ", $lconv->{n_sep_by_space}, "\n";
1852- print "p_sign_posn = ", $lconv->{p_sign_posn}, "\n";
1853- print "n_sign_posn = ", $lconv->{n_sign_posn}, "\n";
1854-
1855-=item localtime
1856-
1857-This is identical to Perl's builtin C<localtime()> function for
1858-converting seconds since the epoch to a date see L<perlfunc/localtime>.
1859-
1860-=item log
1861-
1862-This is identical to Perl's builtin C<log()> function,
1863-returning the natural (I<e>-based) logarithm of the numerical argument,
1864-see L<perlfunc/log>.
1865-
1866-=item log10
1867-
1868-This is identical to the C function C<log10()>,
1869-returning the 10-base logarithm of the numerical argument.
1870-You can also use
1871-
1872- sub log10 { log($_[0]) / log(10) }
1873-
1874-or
1875-
1876- sub log10 { log($_[0]) / 2.30258509299405 }
1877-
1878-or
1879-
1880- sub log10 { log($_[0]) * 0.434294481903252 }
1881-
1882-=item longjmp
1883-
1884-longjmp() is C-specific: use L<perlfunc/die> instead.
1885-
1886-=item lseek
1887-
1888-Move the file's read/write position. This uses file descriptors such as
1889-those obtained by calling C<POSIX::open>.
1890-
1891- $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
1892- $off_t = POSIX::lseek( $fd, 0, &POSIX::SEEK_SET );
1893-
1894-Returns C<undef> on failure.
1895-
1896-=item malloc
1897-
1898-malloc() is C-specific. Perl does memory management transparently.
1899-
1900-=item mblen
1901-
1902-This is identical to the C function C<mblen()>.
1903-Perl does not have any support for the wide and multibyte
1904-characters of the C standards, so this might be a rather
1905-useless function.
1906-
1907-=item mbstowcs
1908-
1909-This is identical to the C function C<mbstowcs()>.
1910-Perl does not have any support for the wide and multibyte
1911-characters of the C standards, so this might be a rather
1912-useless function.
1913-
1914-=item mbtowc
1915-
1916-This is identical to the C function C<mbtowc()>.
1917-Perl does not have any support for the wide and multibyte
1918-characters of the C standards, so this might be a rather
1919-useless function.
1920-
1921-=item memchr
1922-
1923-memchr() is C-specific, see L<perlfunc/index> instead.
1924-
1925-=item memcmp
1926-
1927-memcmp() is C-specific, use C<eq> instead, see L<perlop>.
1928-
1929-=item memcpy
1930-
1931-memcpy() is C-specific, use C<=>, see L<perlop>, or see L<perlfunc/substr>.
1932-
1933-=item memmove
1934-
1935-memmove() is C-specific, use C<=>, see L<perlop>, or see L<perlfunc/substr>.
1936-
1937-=item memset
1938-
1939-memset() is C-specific, use C<x> instead, see L<perlop>.
1940-
1941-=item mkdir
1942-
1943-This is identical to Perl's builtin C<mkdir()> function
1944-for creating directories, see L<perlfunc/mkdir>.
1945-
1946-=item mkfifo
1947-
1948-This is similar to the C function C<mkfifo()> for creating
1949-FIFO special files.
1950-
1951- if (mkfifo($path, $mode)) { ....
1952-
1953-Returns C<undef> on failure. The C<$mode> is similar to the
1954-mode of C<mkdir()>, see L<perlfunc/mkdir>, though for C<mkfifo>
1955-you B<must> specify the C<$mode>.
1956-
1957-=item mktime
1958-
1959-Convert date/time info to a calendar time.
1960-
1961-Synopsis:
1962-
1963- mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = -1)
1964-
1965-The month (C<mon>), weekday (C<wday>), and yearday (C<yday>) begin at zero.
1966-I.e. January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1. The
1967-year (C<year>) is given in years since 1900. I.e. The year 1995 is 95; the
1968-year 2001 is 101. Consult your system's C<mktime()> manpage for details
1969-about these and the other arguments.
1970-
1971-Calendar time for December 12, 1995, at 10:30 am.
1972-
1973- $time_t = POSIX::mktime( 0, 30, 10, 12, 11, 95 );
1974- print "Date = ", POSIX::ctime($time_t);
1975-
1976-Returns C<undef> on failure.
1977-
1978-=item modf
1979-
1980-Return the integral and fractional parts of a floating-point number.
1981-
1982- ($fractional, $integral) = POSIX::modf( 3.14 );
1983-
1984-=item nice
1985-
1986-This is similar to the C function C<nice()>, for changing
1987-the scheduling preference of the current process. Positive
1988-arguments mean more polite process, negative values more
1989-needy process. Normal user processes can only be more polite.
1990-
1991-Returns C<undef> on failure.
1992-
1993-=item offsetof
1994-
1995-offsetof() is C-specific, you probably want to see L<perlfunc/pack> instead.
1996-
1997-=item open
1998-
1999-Open a file for reading for writing. This returns file descriptors, not
2000-Perl filehandles. Use C<POSIX::close> to close the file.
2001-
2002-Open a file read-only with mode 0666.
2003-
2004- $fd = POSIX::open( "foo" );
2005-
2006-Open a file for read and write.
2007-
2008- $fd = POSIX::open( "foo", &POSIX::O_RDWR );
2009-
2010-Open a file for write, with truncation.
2011-
2012- $fd = POSIX::open( "foo", &POSIX::O_WRONLY | &POSIX::O_TRUNC );
2013-
2014-Create a new file with mode 0640. Set up the file for writing.
2015-
2016- $fd = POSIX::open( "foo", &POSIX::O_CREAT | &POSIX::O_WRONLY, 0640 );
2017-
2018-Returns C<undef> on failure.
2019-
2020-See also L<perlfunc/sysopen>.
2021-
2022-=item opendir
2023-
2024-Open a directory for reading.
2025-
2026- $dir = POSIX::opendir( "/var" );
2027- @files = POSIX::readdir( $dir );
2028- POSIX::closedir( $dir );
2029-
2030-Returns C<undef> on failure.
2031-
2032-=item pathconf
2033-
2034-Retrieves the value of a configurable limit on a file or directory.
2035-
2036-The following will determine the maximum length of the longest allowable
2037-pathname on the filesystem which holds C</var>.
2038-
2039- $path_max = POSIX::pathconf( "/var", &POSIX::_PC_PATH_MAX );
2040-
2041-Returns C<undef> on failure.
2042-
2043-=item pause
2044-
2045-This is similar to the C function C<pause()>, which suspends
2046-the execution of the current process until a signal is received.
2047-
2048-Returns C<undef> on failure.
2049-
2050-=item perror
2051-
2052-This is identical to the C function C<perror()>, which outputs to the
2053-standard error stream the specified message followed by ": " and the
2054-current error string. Use the C<warn()> function and the C<$!>
2055-variable instead, see L<perlfunc/warn> and L<perlvar/$ERRNO>.
2056-
2057-=item pipe
2058-
2059-Create an interprocess channel. This returns file descriptors like those
2060-returned by C<POSIX::open>.
2061-
2062- my ($read, $write) = POSIX::pipe();
2063- POSIX::write( $write, "hello", 5 );
2064- POSIX::read( $read, $buf, 5 );
2065-
2066-See also L<perlfunc/pipe>.
2067-
2068-=item pow
2069-
2070-Computes C<$x> raised to the power C<$exponent>.
2071-
2072- $ret = POSIX::pow( $x, $exponent );
2073-
2074-You can also use the C<**> operator, see L<perlop>.
2075-
2076-=item printf
2077-
2078-Formats and prints the specified arguments to STDOUT.
2079-See also L<perlfunc/printf>.
2080-
2081-=item putc
2082-
2083-putc() is C-specific, see L<perlfunc/print> instead.
2084-
2085-=item putchar
2086-
2087-putchar() is C-specific, see L<perlfunc/print> instead.
2088-
2089-=item puts
2090-
2091-puts() is C-specific, see L<perlfunc/print> instead.
2092-
2093-=item qsort
2094-
2095-qsort() is C-specific, see L<perlfunc/sort> instead.
2096-
2097-=item raise
2098-
2099-Sends the specified signal to the current process.
2100-See also L<perlfunc/kill> and the C<$$> in L<perlvar/$PID>.
2101-
2102-=item rand
2103-
2104-C<rand()> is non-portable, see L<perlfunc/rand> instead.
2105-
2106-=item read
2107-
2108-Read from a file. This uses file descriptors such as those obtained by
2109-calling C<POSIX::open>. If the buffer C<$buf> is not large enough for the
2110-read then Perl will extend it to make room for the request.
2111-
2112- $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
2113- $bytes = POSIX::read( $fd, $buf, 3 );
2114-
2115-Returns C<undef> on failure.
2116-
2117-See also L<perlfunc/sysread>.
2118-
2119-=item readdir
2120-
2121-This is identical to Perl's builtin C<readdir()> function
2122-for reading directory entries, see L<perlfunc/readdir>.
2123-
2124-=item realloc
2125-
2126-realloc() is C-specific. Perl does memory management transparently.
2127-
2128-=item remove
2129-
2130-This is identical to Perl's builtin C<unlink()> function
2131-for removing files, see L<perlfunc/unlink>.
2132-
2133-=item rename
2134-
2135-This is identical to Perl's builtin C<rename()> function
2136-for renaming files, see L<perlfunc/rename>.
2137-
2138-=item rewind
2139-
2140-Seeks to the beginning of the file.
2141-
2142-=item rewinddir
2143-
2144-This is identical to Perl's builtin C<rewinddir()> function for
2145-rewinding directory entry streams, see L<perlfunc/rewinddir>.
2146-
2147-=item rmdir
2148-
2149-This is identical to Perl's builtin C<rmdir()> function
2150-for removing (empty) directories, see L<perlfunc/rmdir>.
2151-
2152-=item scanf
2153-
2154-scanf() is C-specific, use E<lt>E<gt> and regular expressions instead,
2155-see L<perlre>.
2156-
2157-=item setgid
2158-
2159-Sets the real group identifier and the effective group identifier for
2160-this process. Similar to assigning a value to the Perl's builtin
2161-C<$)> variable, see L<perlvar/$EGID>, except that the latter
2162-will change only the real user identifier, and that the setgid()
2163-uses only a single numeric argument, as opposed to a space-separated
2164-list of numbers.
2165-
2166-=item setjmp
2167-
2168-C<setjmp()> is C-specific: use C<eval {}> instead,
2169-see L<perlfunc/eval>.
2170-
2171-=item setlocale
2172-
2173-Modifies and queries program's locale. The following examples assume
2174-
2175- use POSIX qw(setlocale LC_ALL LC_CTYPE);
2176-
2177-has been issued.
2178-
2179-The following will set the traditional UNIX system locale behavior
2180-(the second argument C<"C">).
2181-
2182- $loc = setlocale( LC_ALL, "C" );
2183-
2184-The following will query the current LC_CTYPE category. (No second
2185-argument means 'query'.)
2186-
2187- $loc = setlocale( LC_CTYPE );
2188-
2189-The following will set the LC_CTYPE behaviour according to the locale
2190-environment variables (the second argument C<"">).
2191-Please see your systems C<setlocale(3)> documentation for the locale
2192-environment variables' meaning or consult L<perllocale>.
2193-
2194- $loc = setlocale( LC_CTYPE, "" );
2195-
2196-The following will set the LC_COLLATE behaviour to Argentinian
2197-Spanish. B<NOTE>: The naming and availability of locales depends on
2198-your operating system. Please consult L<perllocale> for how to find
2199-out which locales are available in your system.
2200-
2201- $loc = setlocale( LC_COLLATE, "es_AR.ISO8859-1" );
2202-
2203-=item setpgid
2204-
2205-This is similar to the C function C<setpgid()> for
2206-setting the process group identifier of the current process.
2207-
2208-Returns C<undef> on failure.
2209-
2210-=item setsid
2211-
2212-This is identical to the C function C<setsid()> for
2213-setting the session identifier of the current process.
2214-
2215-=item setuid
2216-
2217-Sets the real user identifier and the effective user identifier for
2218-this process. Similar to assigning a value to the Perl's builtin
2219-C<$E<lt>> variable, see L<perlvar/$UID>, except that the latter
2220-will change only the real user identifier.
2221-
2222-=item sigaction
2223-
2224-Detailed signal management. This uses C<POSIX::SigAction> objects for
2225-the C<action> and C<oldaction> arguments (the oldaction can also be
2226-just a hash reference). Consult your system's C<sigaction> manpage
2227-for details, see also C<POSIX::SigRt>.
2228-
2229-Synopsis:
2230-
2231- sigaction(signal, action, oldaction = 0)
2232-
2233-Returns C<undef> on failure. The C<signal> must be a number (like
2234-SIGHUP), not a string (like "SIGHUP"), though Perl does try hard
2235-to understand you.
2236-
2237-If you use the SA_SIGINFO flag, the signal handler will in addition to
2238-the first argument, the signal name, also receive a second argument, a
2239-hash reference, inside which are the following keys with the following
2240-semantics, as defined by POSIX/SUSv3:
2241-
2242- signo the signal number
2243- errno the error number
2244- code if this is zero or less, the signal was sent by
2245- a user process and the uid and pid make sense,
2246- otherwise the signal was sent by the kernel
2247-
2248-The following are also defined by POSIX/SUSv3, but unfortunately
2249-not very widely implemented:
2250-
2251- pid the process id generating the signal
2252- uid the uid of the process id generating the signal
2253- status exit value or signal for SIGCHLD
2254- band band event for SIGPOLL
2255-
2256-A third argument is also passed to the handler, which contains a copy
2257-of the raw binary contents of the siginfo structure: if a system has
2258-some non-POSIX fields, this third argument is where to unpack() them
2259-from.
2260-
2261-Note that not all siginfo values make sense simultaneously (some are
2262-valid only for certain signals, for example), and not all values make
2263-sense from Perl perspective, you should to consult your system's
2264-C<sigaction> and possibly also C<siginfo> documentation.
2265-
2266-=item siglongjmp
2267-
2268-siglongjmp() is C-specific: use L<perlfunc/die> instead.
2269-
2270-=item sigpending
2271-
2272-Examine signals that are blocked and pending. This uses C<POSIX::SigSet>
2273-objects for the C<sigset> argument. Consult your system's C<sigpending>
2274-manpage for details.
2275-
2276-Synopsis:
2277-
2278- sigpending(sigset)
2279-
2280-Returns C<undef> on failure.
2281-
2282-=item sigprocmask
2283-
2284-Change and/or examine calling process's signal mask. This uses
2285-C<POSIX::SigSet> objects for the C<sigset> and C<oldsigset> arguments.
2286-Consult your system's C<sigprocmask> manpage for details.
2287-
2288-Synopsis:
2289-
2290- sigprocmask(how, sigset, oldsigset = 0)
2291-
2292-Returns C<undef> on failure.
2293-
2294-=item sigsetjmp
2295-
2296-C<sigsetjmp()> is C-specific: use C<eval {}> instead,
2297-see L<perlfunc/eval>.
2298-
2299-=item sigsuspend
2300-
2301-Install a signal mask and suspend process until signal arrives. This uses
2302-C<POSIX::SigSet> objects for the C<signal_mask> argument. Consult your
2303-system's C<sigsuspend> manpage for details.
2304-
2305-Synopsis:
2306-
2307- sigsuspend(signal_mask)
2308-
2309-Returns C<undef> on failure.
2310-
2311-=item sin
2312-
2313-This is identical to Perl's builtin C<sin()> function
2314-for returning the sine of the numerical argument,
2315-see L<perlfunc/sin>. See also L<Math::Trig>.
2316-
2317-=item sinh
2318-
2319-This is identical to the C function C<sinh()>
2320-for returning the hyperbolic sine of the numerical argument.
2321-See also L<Math::Trig>.
2322-
2323-=item sleep
2324-
2325-This is functionally identical to Perl's builtin C<sleep()> function
2326-for suspending the execution of the current for process for certain
2327-number of seconds, see L<perlfunc/sleep>. There is one significant
2328-difference, however: C<POSIX::sleep()> returns the number of
2329-B<unslept> seconds, while the C<CORE::sleep()> returns the
2330-number of slept seconds.
2331-
2332-=item sprintf
2333-
2334-This is similar to Perl's builtin C<sprintf()> function
2335-for returning a string that has the arguments formatted as requested,
2336-see L<perlfunc/sprintf>.
2337-
2338-=item sqrt
2339-
2340-This is identical to Perl's builtin C<sqrt()> function.
2341-for returning the square root of the numerical argument,
2342-see L<perlfunc/sqrt>.
2343-
2344-=item srand
2345-
2346-Give a seed the pseudorandom number generator, see L<perlfunc/srand>.
2347-
2348-=item sscanf
2349-
2350-sscanf() is C-specific, use regular expressions instead,
2351-see L<perlre>.
2352-
2353-=item stat
2354-
2355-This is identical to Perl's builtin C<stat()> function
2356-for returning information about files and directories.
2357-
2358-=item strcat
2359-
2360-strcat() is C-specific, use C<.=> instead, see L<perlop>.
2361-
2362-=item strchr
2363-
2364-strchr() is C-specific, see L<perlfunc/index> instead.
2365-
2366-=item strcmp
2367-
2368-strcmp() is C-specific, use C<eq> or C<cmp> instead, see L<perlop>.
2369-
2370-=item strcoll
2371-
2372-This is identical to the C function C<strcoll()>
2373-for collating (comparing) strings transformed using
2374-the C<strxfrm()> function. Not really needed since
2375-Perl can do this transparently, see L<perllocale>.
2376-
2377-=item strcpy
2378-
2379-strcpy() is C-specific, use C<=> instead, see L<perlop>.
2380-
2381-=item strcspn
2382-
2383-strcspn() is C-specific, use regular expressions instead,
2384-see L<perlre>.
2385-
2386-=item strerror
2387-
2388-Returns the error string for the specified errno.
2389-Identical to the string form of the C<$!>, see L<perlvar/$ERRNO>.
2390-
2391-=item strftime
2392-
2393-Convert date and time information to string. Returns the string.
2394-
2395-Synopsis:
2396-
2397- strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1)
2398-
2399-The month (C<mon>), weekday (C<wday>), and yearday (C<yday>) begin at zero.
2400-I.e. January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1. The
2401-year (C<year>) is given in years since 1900. I.e., the year 1995 is 95; the
2402-year 2001 is 101. Consult your system's C<strftime()> manpage for details
2403-about these and the other arguments.
2404-
2405-If you want your code to be portable, your format (C<fmt>) argument
2406-should use only the conversion specifiers defined by the ANSI C
2407-standard (C89, to play safe). These are C<aAbBcdHIjmMpSUwWxXyYZ%>.
2408-But even then, the B<results> of some of the conversion specifiers are
2409-non-portable. For example, the specifiers C<aAbBcpZ> change according
2410-to the locale settings of the user, and both how to set locales (the
2411-locale names) and what output to expect are non-standard.
2412-The specifier C<c> changes according to the timezone settings of the
2413-user and the timezone computation rules of the operating system.
2414-The C<Z> specifier is notoriously unportable since the names of
2415-timezones are non-standard. Sticking to the numeric specifiers is the
2416-safest route.
2417-
2418-The given arguments are made consistent as though by calling
2419-C<mktime()> before calling your system's C<strftime()> function,
2420-except that the C<isdst> value is not affected.
2421-
2422-The string for Tuesday, December 12, 1995.
2423-
2424- $str = POSIX::strftime( "%A, %B %d, %Y", 0, 0, 0, 12, 11, 95, 2 );
2425- print "$str\n";
2426-
2427-=item strlen
2428-
2429-strlen() is C-specific, use C<length()> instead, see L<perlfunc/length>.
2430-
2431-=item strncat
2432-
2433-strncat() is C-specific, use C<.=> instead, see L<perlop>.
2434-
2435-=item strncmp
2436-
2437-strncmp() is C-specific, use C<eq> instead, see L<perlop>.
2438-
2439-=item strncpy
2440-
2441-strncpy() is C-specific, use C<=> instead, see L<perlop>.
2442-
2443-=item strpbrk
2444-
2445-strpbrk() is C-specific, use regular expressions instead,
2446-see L<perlre>.
2447-
2448-=item strrchr
2449-
2450-strrchr() is C-specific, see L<perlfunc/rindex> instead.
2451-
2452-=item strspn
2453-
2454-strspn() is C-specific, use regular expressions instead,
2455-see L<perlre>.
2456-
2457-=item strstr
2458-
2459-This is identical to Perl's builtin C<index()> function,
2460-see L<perlfunc/index>.
2461-
2462-=item strtod
2463-
2464-String to double translation. Returns the parsed number and the number
2465-of characters in the unparsed portion of the string. Truly
2466-POSIX-compliant systems set $! ($ERRNO) to indicate a translation
2467-error, so clear $! before calling strtod. However, non-POSIX systems
2468-may not check for overflow, and therefore will never set $!.
2469-
2470-strtod should respect any POSIX I<setlocale()> settings.
2471-
2472-To parse a string $str as a floating point number use
2473-
2474- $! = 0;
2475- ($num, $n_unparsed) = POSIX::strtod($str);
2476-
2477-The second returned item and $! can be used to check for valid input:
2478-
2479- if (($str eq '') || ($n_unparsed != 0) || $!) {
2480- die "Non-numeric input $str" . ($! ? ": $!\n" : "\n");
2481- }
2482-
2483-When called in a scalar context strtod returns the parsed number.
2484-
2485-=item strtok
2486-
2487-strtok() is C-specific, use regular expressions instead, see
2488-L<perlre>, or L<perlfunc/split>.
2489-
2490-=item strtol
2491-
2492-String to (long) integer translation. Returns the parsed number and
2493-the number of characters in the unparsed portion of the string. Truly
2494-POSIX-compliant systems set $! ($ERRNO) to indicate a translation
2495-error, so clear $! before calling strtol. However, non-POSIX systems
2496-may not check for overflow, and therefore will never set $!.
2497-
2498-strtol should respect any POSIX I<setlocale()> settings.
2499-
2500-To parse a string $str as a number in some base $base use
2501-
2502- $! = 0;
2503- ($num, $n_unparsed) = POSIX::strtol($str, $base);
2504-
2505-The base should be zero or between 2 and 36, inclusive. When the base
2506-is zero or omitted strtol will use the string itself to determine the
2507-base: a leading "0x" or "0X" means hexadecimal; a leading "0" means
2508-octal; any other leading characters mean decimal. Thus, "1234" is
2509-parsed as a decimal number, "01234" as an octal number, and "0x1234"
2510-as a hexadecimal number.
2511-
2512-The second returned item and $! can be used to check for valid input:
2513-
2514- if (($str eq '') || ($n_unparsed != 0) || !$!) {
2515- die "Non-numeric input $str" . $! ? ": $!\n" : "\n";
2516- }
2517-
2518-When called in a scalar context strtol returns the parsed number.
2519-
2520-=item strtoul
2521-
2522-String to unsigned (long) integer translation. strtoul() is identical
2523-to strtol() except that strtoul() only parses unsigned integers. See
2524-L</strtol> for details.
2525-
2526-Note: Some vendors supply strtod() and strtol() but not strtoul().
2527-Other vendors that do supply strtoul() parse "-1" as a valid value.
2528-
2529-=item strxfrm
2530-
2531-String transformation. Returns the transformed string.
2532-
2533- $dst = POSIX::strxfrm( $src );
2534-
2535-Used in conjunction with the C<strcoll()> function, see L</strcoll>.
2536-
2537-Not really needed since Perl can do this transparently, see
2538-L<perllocale>.
2539-
2540-=item sysconf
2541-
2542-Retrieves values of system configurable variables.
2543-
2544-The following will get the machine's clock speed.
2545-
2546- $clock_ticks = POSIX::sysconf( &POSIX::_SC_CLK_TCK );
2547-
2548-Returns C<undef> on failure.
2549-
2550-=item system
2551-
2552-This is identical to Perl's builtin C<system()> function, see
2553-L<perlfunc/system>.
2554-
2555-=item tan
2556-
2557-This is identical to the C function C<tan()>, returning the
2558-tangent of the numerical argument. See also L<Math::Trig>.
2559-
2560-=item tanh
2561-
2562-This is identical to the C function C<tanh()>, returning the
2563-hyperbolic tangent of the numerical argument. See also L<Math::Trig>.
2564-
2565-=item tcdrain
2566-
2567-This is similar to the C function C<tcdrain()> for draining
2568-the output queue of its argument stream.
2569-
2570-Returns C<undef> on failure.
2571-
2572-=item tcflow
2573-
2574-This is similar to the C function C<tcflow()> for controlling
2575-the flow of its argument stream.
2576-
2577-Returns C<undef> on failure.
2578-
2579-=item tcflush
2580-
2581-This is similar to the C function C<tcflush()> for flushing
2582-the I/O buffers of its argument stream.
2583-
2584-Returns C<undef> on failure.
2585-
2586-=item tcgetpgrp
2587-
2588-This is identical to the C function C<tcgetpgrp()> for returning the
2589-process group identifier of the foreground process group of the controlling
2590-terminal.
2591-
2592-=item tcsendbreak
2593-
2594-This is similar to the C function C<tcsendbreak()> for sending
2595-a break on its argument stream.
2596-
2597-Returns C<undef> on failure.
2598-
2599-=item tcsetpgrp
2600-
2601-This is similar to the C function C<tcsetpgrp()> for setting the
2602-process group identifier of the foreground process group of the controlling
2603-terminal.
2604-
2605-Returns C<undef> on failure.
2606-
2607-=item time
2608-
2609-This is identical to Perl's builtin C<time()> function
2610-for returning the number of seconds since the epoch
2611-(whatever it is for the system), see L<perlfunc/time>.
2612-
2613-=item times
2614-
2615-The times() function returns elapsed realtime since some point in the past
2616-(such as system startup), user and system times for this process, and user
2617-and system times used by child processes. All times are returned in clock
2618-ticks.
2619-
2620- ($realtime, $user, $system, $cuser, $csystem) = POSIX::times();
2621-
2622-Note: Perl's builtin C<times()> function returns four values, measured in
2623-seconds.
2624-
2625-=item tmpfile
2626-
2627-Use method C<IO::File::new_tmpfile()> instead, or see L<File::Temp>.
2628-
2629-=item tmpnam
2630-
2631-Returns a name for a temporary file.
2632-
2633- $tmpfile = POSIX::tmpnam();
2634-
2635-For security reasons, which are probably detailed in your system's
2636-documentation for the C library tmpnam() function, this interface
2637-should not be used; instead see L<File::Temp>.
2638-
2639-=item tolower
2640-
2641-This is identical to the C function, except that it can apply to a single
2642-character or to a whole string. Consider using the C<lc()> function,
2643-see L<perlfunc/lc>, or the equivalent C<\L> operator inside doublequotish
2644-strings.
2645-
2646-=item toupper
2647-
2648-This is identical to the C function, except that it can apply to a single
2649-character or to a whole string. Consider using the C<uc()> function,
2650-see L<perlfunc/uc>, or the equivalent C<\U> operator inside doublequotish
2651-strings.
2652-
2653-=item ttyname
2654-
2655-This is identical to the C function C<ttyname()> for returning the
2656-name of the current terminal.
2657-
2658-=item tzname
2659-
2660-Retrieves the time conversion information from the C<tzname> variable.
2661-
2662- POSIX::tzset();
2663- ($std, $dst) = POSIX::tzname();
2664-
2665-=item tzset
2666-
2667-This is identical to the C function C<tzset()> for setting
2668-the current timezone based on the environment variable C<TZ>,
2669-to be used by C<ctime()>, C<localtime()>, C<mktime()>, and C<strftime()>
2670-functions.
2671-
2672-=item umask
2673-
2674-This is identical to Perl's builtin C<umask()> function
2675-for setting (and querying) the file creation permission mask,
2676-see L<perlfunc/umask>.
2677-
2678-=item uname
2679-
2680-Get name of current operating system.
2681-
2682- ($sysname, $nodename, $release, $version, $machine) = POSIX::uname();
2683-
2684-Note that the actual meanings of the various fields are not
2685-that well standardized, do not expect any great portability.
2686-The C<$sysname> might be the name of the operating system,
2687-the C<$nodename> might be the name of the host, the C<$release>
2688-might be the (major) release number of the operating system,
2689-the C<$version> might be the (minor) release number of the
2690-operating system, and the C<$machine> might be a hardware identifier.
2691-Maybe.
2692-
2693-=item ungetc
2694-
2695-Use method C<IO::Handle::ungetc()> instead.
2696-
2697-=item unlink
2698-
2699-This is identical to Perl's builtin C<unlink()> function
2700-for removing files, see L<perlfunc/unlink>.
2701-
2702-=item utime
2703-
2704-This is identical to Perl's builtin C<utime()> function
2705-for changing the time stamps of files and directories,
2706-see L<perlfunc/utime>.
2707-
2708-=item vfprintf
2709-
2710-vfprintf() is C-specific, see L<perlfunc/printf> instead.
2711-
2712-=item vprintf
2713-
2714-vprintf() is C-specific, see L<perlfunc/printf> instead.
2715-
2716-=item vsprintf
2717-
2718-vsprintf() is C-specific, see L<perlfunc/sprintf> instead.
2719-
2720-=item wait
2721-
2722-This is identical to Perl's builtin C<wait()> function,
2723-see L<perlfunc/wait>.
2724-
2725-=item waitpid
2726-
2727-Wait for a child process to change state. This is identical to Perl's
2728-builtin C<waitpid()> function, see L<perlfunc/waitpid>.
2729-
2730- $pid = POSIX::waitpid( -1, POSIX::WNOHANG );
2731- print "status = ", ($? / 256), "\n";
2732-
2733-=item wcstombs
2734-
2735-This is identical to the C function C<wcstombs()>.
2736-Perl does not have any support for the wide and multibyte
2737-characters of the C standards, so this might be a rather
2738-useless function.
2739-
2740-=item wctomb
2741-
2742-This is identical to the C function C<wctomb()>.
2743-Perl does not have any support for the wide and multibyte
2744-characters of the C standards, so this might be a rather
2745-useless function.
2746-
2747-=item write
2748-
2749-Write to a file. This uses file descriptors such as those obtained by
2750-calling C<POSIX::open>.
2751-
2752- $fd = POSIX::open( "foo", &POSIX::O_WRONLY );
2753- $buf = "hello";
2754- $bytes = POSIX::write( $fd, $buf, 5 );
2755-
2756-Returns C<undef> on failure.
2757-
2758-See also L<perlfunc/syswrite>.
2759-
2760-=back
2761-
2762-=head1 CLASSES
2763-
2764-=head2 POSIX::SigAction
2765-
2766-=over 8
2767-
2768-=item new
2769-
2770-Creates a new C<POSIX::SigAction> object which corresponds to the C
2771-C<struct sigaction>. This object will be destroyed automatically when
2772-it is no longer needed. The first parameter is the handler, a sub
2773-reference. The second parameter is a C<POSIX::SigSet> object, it
2774-defaults to the empty set. The third parameter contains the
2775-C<sa_flags>, it defaults to 0.
2776-
2777- $sigset = POSIX::SigSet->new(SIGINT, SIGQUIT);
2778- $sigaction = POSIX::SigAction->new( \&handler, $sigset, &POSIX::SA_NOCLDSTOP );
2779-
2780-This C<POSIX::SigAction> object is intended for use with the C<POSIX::sigaction()>
2781-function.
2782-
2783-=back
2784-
2785-=over 8
2786-
2787-=item handler
2788-
2789-=item mask
2790-
2791-=item flags
2792-
2793-accessor functions to get/set the values of a SigAction object.
2794-
2795- $sigset = $sigaction->mask;
2796- $sigaction->flags(&POSIX::SA_RESTART);
2797-
2798-=item safe
2799-
2800-accessor function for the "safe signals" flag of a SigAction object; see
2801-L<perlipc> for general information on safe (a.k.a. "deferred") signals. If
2802-you wish to handle a signal safely, use this accessor to set the "safe" flag
2803-in the C<POSIX::SigAction> object:
2804-
2805- $sigaction->safe(1);
2806-
2807-You may also examine the "safe" flag on the output action object which is
2808-filled in when given as the third parameter to C<POSIX::sigaction()>:
2809-
2810- sigaction(SIGINT, $new_action, $old_action);
2811- if ($old_action->safe) {
2812- # previous SIGINT handler used safe signals
2813- }
2814-
2815-=back
2816-
2817-=head2 POSIX::SigRt
2818-
2819-=over 8
2820-
2821-=item %SIGRT
2822-
2823-A hash of the POSIX realtime signal handlers. It is an extension of
2824-the standard %SIG, the $POSIX::SIGRT{SIGRTMIN} is roughly equivalent
2825-to $SIG{SIGRTMIN}, but the right POSIX moves (see below) are made with
2826-the POSIX::SigSet and POSIX::sigaction instead of accessing the %SIG.
2827-
2828-You can set the %POSIX::SIGRT elements to set the POSIX realtime
2829-signal handlers, use C<delete> and C<exists> on the elements, and use
2830-C<scalar> on the C<%POSIX::SIGRT> to find out how many POSIX realtime
2831-signals there are available (SIGRTMAX - SIGRTMIN + 1, the SIGRTMAX is
2832-a valid POSIX realtime signal).
2833-
2834-Setting the %SIGRT elements is equivalent to calling this:
2835-
2836- sub new {
2837- my ($rtsig, $handler, $flags) = @_;
2838- my $sigset = POSIX::SigSet($rtsig);
2839- my $sigact = POSIX::SigAction->new($handler, $sigset, $flags);
2840- sigaction($rtsig, $sigact);
2841- }
2842-
2843-The flags default to zero, if you want something different you can
2844-either use C<local> on $POSIX::SigRt::SIGACTION_FLAGS, or you can
2845-derive from POSIX::SigRt and define your own C<new()> (the tied hash
2846-STORE method of the %SIGRT calls C<new($rtsig, $handler, $SIGACTION_FLAGS)>,
2847-where the $rtsig ranges from zero to SIGRTMAX - SIGRTMIN + 1).
2848-
2849-Just as with any signal, you can use sigaction($rtsig, undef, $oa) to
2850-retrieve the installed signal handler (or, rather, the signal action).
2851-
2852-B<NOTE:> whether POSIX realtime signals really work in your system, or
2853-whether Perl has been compiled so that it works with them, is outside
2854-of this discussion.
2855-
2856-=item SIGRTMIN
2857-
2858-Return the minimum POSIX realtime signal number available, or C<undef>
2859-if no POSIX realtime signals are available.
2860-
2861-=item SIGRTMAX
2862-
2863-Return the maximum POSIX realtime signal number available, or C<undef>
2864-if no POSIX realtime signals are available.
2865-
2866-=back
2867-
2868-=head2 POSIX::SigSet
2869-
2870-=over 8
2871-
2872-=item new
2873-
2874-Create a new SigSet object. This object will be destroyed automatically
2875-when it is no longer needed. Arguments may be supplied to initialize the
2876-set.
2877-
2878-Create an empty set.
2879-
2880- $sigset = POSIX::SigSet->new;
2881-
2882-Create a set with SIGUSR1.
2883-
2884- $sigset = POSIX::SigSet->new( &POSIX::SIGUSR1 );
2885-
2886-=item addset
2887-
2888-Add a signal to a SigSet object.
2889-
2890- $sigset->addset( &POSIX::SIGUSR2 );
2891-
2892-Returns C<undef> on failure.
2893-
2894-=item delset
2895-
2896-Remove a signal from the SigSet object.
2897-
2898- $sigset->delset( &POSIX::SIGUSR2 );
2899-
2900-Returns C<undef> on failure.
2901-
2902-=item emptyset
2903-
2904-Initialize the SigSet object to be empty.
2905-
2906- $sigset->emptyset();
2907-
2908-Returns C<undef> on failure.
2909-
2910-=item fillset
2911-
2912-Initialize the SigSet object to include all signals.
2913-
2914- $sigset->fillset();
2915-
2916-Returns C<undef> on failure.
2917-
2918-=item ismember
2919-
2920-Tests the SigSet object to see if it contains a specific signal.
2921-
2922- if( $sigset->ismember( &POSIX::SIGUSR1 ) ){
2923- print "contains SIGUSR1\n";
2924- }
2925-
2926-=back
2927-
2928-=head2 POSIX::Termios
2929-
2930-=over 8
2931-
2932-=item new
2933-
2934-Create a new Termios object. This object will be destroyed automatically
2935-when it is no longer needed. A Termios object corresponds to the termios
2936-C struct. new() mallocs a new one, getattr() fills it from a file descriptor,
2937-and setattr() sets a file descriptor's parameters to match Termios' contents.
2938-
2939- $termios = POSIX::Termios->new;
2940-
2941-=item getattr
2942-
2943-Get terminal control attributes.
2944-
2945-Obtain the attributes for stdin.
2946-
2947- $termios->getattr( 0 ) # Recommended for clarity.
2948- $termios->getattr()
2949-
2950-Obtain the attributes for stdout.
2951-
2952- $termios->getattr( 1 )
2953-
2954-Returns C<undef> on failure.
2955-
2956-=item getcc
2957-
2958-Retrieve a value from the c_cc field of a termios object. The c_cc field is
2959-an array so an index must be specified.
2960-
2961- $c_cc[1] = $termios->getcc(1);
2962-
2963-=item getcflag
2964-
2965-Retrieve the c_cflag field of a termios object.
2966-
2967- $c_cflag = $termios->getcflag;
2968-
2969-=item getiflag
2970-
2971-Retrieve the c_iflag field of a termios object.
2972-
2973- $c_iflag = $termios->getiflag;
2974-
2975-=item getispeed
2976-
2977-Retrieve the input baud rate.
2978-
2979- $ispeed = $termios->getispeed;
2980-
2981-=item getlflag
2982-
2983-Retrieve the c_lflag field of a termios object.
2984-
2985- $c_lflag = $termios->getlflag;
2986-
2987-=item getoflag
2988-
2989-Retrieve the c_oflag field of a termios object.
2990-
2991- $c_oflag = $termios->getoflag;
2992-
2993-=item getospeed
2994-
2995-Retrieve the output baud rate.
2996-
2997- $ospeed = $termios->getospeed;
2998-
2999-=item setattr
3000-
3001-Set terminal control attributes.
3002-
3003-Set attributes immediately for stdout.
3004-
3005- $termios->setattr( 1, &POSIX::TCSANOW );
3006-
3007-Returns C<undef> on failure.
3008-
3009-=item setcc
3010-
3011-Set a value in the c_cc field of a termios object. The c_cc field is an
3012-array so an index must be specified.
3013-
3014- $termios->setcc( &POSIX::VEOF, 1 );
3015-
3016-=item setcflag
3017-
3018-Set the c_cflag field of a termios object.
3019-
3020- $termios->setcflag( $c_cflag | &POSIX::CLOCAL );
3021-
3022-=item setiflag
3023-
3024-Set the c_iflag field of a termios object.
3025-
3026- $termios->setiflag( $c_iflag | &POSIX::BRKINT );
3027-
3028-=item setispeed
3029-
3030-Set the input baud rate.
3031-
3032- $termios->setispeed( &POSIX::B9600 );
3033-
3034-Returns C<undef> on failure.
3035-
3036-=item setlflag
3037-
3038-Set the c_lflag field of a termios object.
3039-
3040- $termios->setlflag( $c_lflag | &POSIX::ECHO );
3041-
3042-=item setoflag
3043-
3044-Set the c_oflag field of a termios object.
3045-
3046- $termios->setoflag( $c_oflag | &POSIX::OPOST );
3047-
3048-=item setospeed
3049-
3050-Set the output baud rate.
3051-
3052- $termios->setospeed( &POSIX::B9600 );
3053-
3054-Returns C<undef> on failure.
3055-
3056-=item Baud rate values
3057-
3058-B38400 B75 B200 B134 B300 B1800 B150 B0 B19200 B1200 B9600 B600 B4800 B50 B2400 B110
3059-
3060-=item Terminal interface values
3061-
3062-TCSADRAIN TCSANOW TCOON TCIOFLUSH TCOFLUSH TCION TCIFLUSH TCSAFLUSH TCIOFF TCOOFF
3063-
3064-=item c_cc field values
3065-
3066-VEOF VEOL VERASE VINTR VKILL VQUIT VSUSP VSTART VSTOP VMIN VTIME NCCS
3067-
3068-=item c_cflag field values
3069-
3070-CLOCAL CREAD CSIZE CS5 CS6 CS7 CS8 CSTOPB HUPCL PARENB PARODD
3071-
3072-=item c_iflag field values
3073-
3074-BRKINT ICRNL IGNBRK IGNCR IGNPAR INLCR INPCK ISTRIP IXOFF IXON PARMRK
3075-
3076-=item c_lflag field values
3077-
3078-ECHO ECHOE ECHOK ECHONL ICANON IEXTEN ISIG NOFLSH TOSTOP
3079-
3080-=item c_oflag field values
3081-
3082-OPOST
3083-
3084-=back
3085-
3086-=head1 PATHNAME CONSTANTS
3087-
3088-=over 8
3089-
3090-=item Constants
3091-
3092-_PC_CHOWN_RESTRICTED _PC_LINK_MAX _PC_MAX_CANON _PC_MAX_INPUT _PC_NAME_MAX _PC_NO_TRUNC _PC_PATH_MAX _PC_PIPE_BUF _PC_VDISABLE
3093-
3094-=back
3095-
3096-=head1 POSIX CONSTANTS
3097-
3098-=over 8
3099-
3100-=item Constants
3101-
3102-_POSIX_ARG_MAX _POSIX_CHILD_MAX _POSIX_CHOWN_RESTRICTED _POSIX_JOB_CONTROL _POSIX_LINK_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT _POSIX_NAME_MAX _POSIX_NGROUPS_MAX _POSIX_NO_TRUNC _POSIX_OPEN_MAX _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_SAVED_IDS _POSIX_SSIZE_MAX _POSIX_STREAM_MAX _POSIX_TZNAME_MAX _POSIX_VDISABLE _POSIX_VERSION
3103-
3104-=back
3105-
3106-=head1 SYSTEM CONFIGURATION
3107-
3108-=over 8
3109-
3110-=item Constants
3111-
3112-_SC_ARG_MAX _SC_CHILD_MAX _SC_CLK_TCK _SC_JOB_CONTROL _SC_NGROUPS_MAX _SC_OPEN_MAX _SC_PAGESIZE _SC_SAVED_IDS _SC_STREAM_MAX _SC_TZNAME_MAX _SC_VERSION
3113-
3114-=back
3115-
3116-=head1 ERRNO
3117-
3118-=over 8
3119-
3120-=item Constants
3121-
3122-E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY EBADF
3123-EBUSY ECHILD ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ
3124-EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EINPROGRESS EINTR
3125-EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE ENAMETOOLONG
3126-ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS ENODEV ENOENT ENOEXEC
3127-ENOLCK ENOMEM ENOPROTOOPT ENOSPC ENOSYS ENOTBLK ENOTCONN ENOTDIR
3128-ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM EPFNOSUPPORT EPIPE
3129-EPROCLIM EPROTONOSUPPORT EPROTOTYPE ERANGE EREMOTE ERESTART EROFS
3130-ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS
3131-ETXTBSY EUSERS EWOULDBLOCK EXDEV
3132-
3133-=back
3134-
3135-=head1 FCNTL
3136-
3137-=over 8
3138-
3139-=item Constants
3140-
3141-FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_OK F_RDLCK F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK O_ACCMODE O_APPEND O_CREAT O_EXCL O_NOCTTY O_NONBLOCK O_RDONLY O_RDWR O_TRUNC O_WRONLY
3142-
3143-=back
3144-
3145-=head1 FLOAT
3146-
3147-=over 8
3148-
3149-=item Constants
3150-
3151-DBL_DIG DBL_EPSILON DBL_MANT_DIG DBL_MAX DBL_MAX_10_EXP DBL_MAX_EXP DBL_MIN DBL_MIN_10_EXP DBL_MIN_EXP FLT_DIG FLT_EPSILON FLT_MANT_DIG FLT_MAX FLT_MAX_10_EXP FLT_MAX_EXP FLT_MIN FLT_MIN_10_EXP FLT_MIN_EXP FLT_RADIX FLT_ROUNDS LDBL_DIG LDBL_EPSILON LDBL_MANT_DIG LDBL_MAX LDBL_MAX_10_EXP LDBL_MAX_EXP LDBL_MIN LDBL_MIN_10_EXP LDBL_MIN_EXP
3152-
3153-=back
3154-
3155-=head1 LIMITS
3156-
3157-=over 8
3158-
3159-=item Constants
3160-
3161-ARG_MAX CHAR_BIT CHAR_MAX CHAR_MIN CHILD_MAX INT_MAX INT_MIN LINK_MAX LONG_MAX LONG_MIN MAX_CANON MAX_INPUT MB_LEN_MAX NAME_MAX NGROUPS_MAX OPEN_MAX PATH_MAX PIPE_BUF SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN SSIZE_MAX STREAM_MAX TZNAME_MAX UCHAR_MAX UINT_MAX ULONG_MAX USHRT_MAX
3162-
3163-=back
3164-
3165-=head1 LOCALE
3166-
3167-=over 8
3168-
3169-=item Constants
3170-
3171-LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME
3172-
3173-=back
3174-
3175-=head1 MATH
3176-
3177-=over 8
3178-
3179-=item Constants
3180-
3181-HUGE_VAL
3182-
3183-=back
3184-
3185-=head1 SIGNAL
3186-
3187-=over 8
3188-
3189-=item Constants
3190-
3191-SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK SA_RESETHAND SA_RESTART
3192-SA_SIGINFO SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT
3193-SIGKILL SIGPIPE SIGQUIT SIGSEGV SIGSTOP SIGTERM SIGTSTP SIGTTIN SIGTTOU
3194-SIGUSR1 SIGUSR2 SIG_BLOCK SIG_DFL SIG_ERR SIG_IGN SIG_SETMASK
3195-SIG_UNBLOCK
3196-
3197-=back
3198-
3199-=head1 STAT
3200-
3201-=over 8
3202-
3203-=item Constants
3204-
3205-S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR
3206-
3207-=item Macros
3208-
3209-S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISREG
3210-
3211-=back
3212-
3213-=head1 STDLIB
3214-
3215-=over 8
3216-
3217-=item Constants
3218-
3219-EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX RAND_MAX
3220-
3221-=back
3222-
3223-=head1 STDIO
3224-
3225-=over 8
3226-
3227-=item Constants
3228-
3229-BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid L_tmpname TMP_MAX
3230-
3231-=back
3232-
3233-=head1 TIME
3234-
3235-=over 8
3236-
3237-=item Constants
3238-
3239-CLK_TCK CLOCKS_PER_SEC
3240-
3241-=back
3242-
3243-=head1 UNISTD
3244-
3245-=over 8
3246-
3247-=item Constants
3248-
3249-R_OK SEEK_CUR SEEK_END SEEK_SET STDIN_FILENO STDOUT_FILENO STDERR_FILENO W_OK X_OK
3250-
3251-=back
3252-
3253-=head1 WAIT
3254-
3255-=over 8
3256-
3257-=item Constants
3258-
3259-WNOHANG WUNTRACED
3260-
3261-=over 16
3262-
3263-=item WNOHANG
3264-
3265-Do not suspend the calling process until a child process
3266-changes state but instead return immediately.
3267-
3268-=item WUNTRACED
3269-
3270-Catch stopped child processes.
3271-
3272-=back
3273-
3274-=item Macros
3275-
3276-WIFEXITED WEXITSTATUS WIFSIGNALED WTERMSIG WIFSTOPPED WSTOPSIG
3277-
3278-=over 16
3279-
3280-=item WIFEXITED
3281-
3282-WIFEXITED($?) returns true if the child process exited normally
3283-(C<exit()> or by falling off the end of C<main()>)
3284-
3285-=item WEXITSTATUS
3286-
3287-WEXITSTATUS($?) returns the normal exit status of the child process
3288-(only meaningful if WIFEXITED($?) is true)
3289-
3290-=item WIFSIGNALED
3291-
3292-WIFSIGNALED($?) returns true if the child process terminated because
3293-of a signal
3294-
3295-=item WTERMSIG
3296-
3297-WTERMSIG($?) returns the signal the child process terminated for
3298-(only meaningful if WIFSIGNALED($?) is true)
3299-
3300-=item WIFSTOPPED
3301-
3302-WIFSTOPPED($?) returns true if the child process is currently stopped
3303-(can happen only if you specified the WUNTRACED flag to waitpid())
3304-
3305-=item WSTOPSIG
3306-
3307-WSTOPSIG($?) returns the signal the child process was stopped for
3308-(only meaningful if WIFSTOPPED($?) is true)
3309-
3310-=back
3311-
3312-=back
3313-
3314diff --git a/ext/POSIX/lib/POSIX.pm b/ext/POSIX/lib/POSIX.pm
3315new file mode 100644
3316index 0000000..ffbd9de
3317--- /dev/null
3318+++ b/ext/POSIX/lib/POSIX.pm
3319@@ -0,0 +1,1042 @@
3320+package POSIX;
3321+use strict;
3322+use warnings;
3323+
3324+our(@ISA, %EXPORT_TAGS, @EXPORT_OK, @EXPORT, $AUTOLOAD, %SIGRT) = ();
3325+
3326+our $VERSION = "1.19";
3327+
3328+use AutoLoader;
3329+
3330+use XSLoader ();
3331+
3332+use Fcntl qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK F_SETFD
3333+ F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK O_ACCMODE O_APPEND
3334+ O_CREAT O_EXCL O_NOCTTY O_NONBLOCK O_RDONLY O_RDWR O_TRUNC
3335+ O_WRONLY SEEK_CUR SEEK_END SEEK_SET
3336+ S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISREG
3337+ S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID
3338+ S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR);
3339+
3340+# Grandfather old foo_h form to new :foo_h form
3341+my $loaded;
3342+
3343+sub import {
3344+ load_imports() unless $loaded++;
3345+ my $this = shift;
3346+ my @list = map { m/^\w+_h$/ ? ":$_" : $_ } @_;
3347+ local $Exporter::ExportLevel = 1;
3348+ Exporter::import($this,@list);
3349+}
3350+
3351+sub croak { require Carp; goto &Carp::croak }
3352+# declare usage to assist AutoLoad
3353+sub usage;
3354+
3355+XSLoader::load 'POSIX', $VERSION;
3356+
3357+sub AUTOLOAD {
3358+ no strict;
3359+ no warnings 'uninitialized';
3360+ if ($AUTOLOAD =~ /::(_?[a-z])/) {
3361+ # require AutoLoader;
3362+ $AutoLoader::AUTOLOAD = $AUTOLOAD;
3363+ goto &AutoLoader::AUTOLOAD
3364+ }
3365+ local $! = 0;
3366+ my $constname = $AUTOLOAD;
3367+ $constname =~ s/.*:://;
3368+ my ($error, $val) = constant($constname);
3369+ croak $error if $error;
3370+ *$AUTOLOAD = sub { $val };
3371+
3372+ goto &$AUTOLOAD;
3373+}
3374+
3375+package POSIX::SigAction;
3376+
3377+use AutoLoader 'AUTOLOAD';
3378+
3379+package POSIX::SigRt;
3380+
3381+use AutoLoader 'AUTOLOAD';
3382+
3383+use Tie::Hash;
3384+
3385+use vars qw($SIGACTION_FLAGS $_SIGRTMIN $_SIGRTMAX $_sigrtn @ISA);
3386+@POSIX::SigRt::ISA = qw(Tie::StdHash);
3387+
3388+$SIGACTION_FLAGS = 0;
3389+
3390+tie %POSIX::SIGRT, 'POSIX::SigRt';
3391+
3392+sub DESTROY {};
3393+
3394+package POSIX;
3395+
3396+1;
3397+__END__
3398+
3399+sub usage {
3400+ my ($mess) = @_;
3401+ croak "Usage: POSIX::$mess";
3402+}
3403+
3404+sub redef {
3405+ my ($mess) = @_;
3406+ croak "Use method $mess instead";
3407+}
3408+
3409+sub unimpl {
3410+ my ($mess) = @_;
3411+ $mess =~ s/xxx//;
3412+ croak "Unimplemented: POSIX::$mess";
3413+}
3414+
3415+sub assert {
3416+ usage "assert(expr)" if @_ != 1;
3417+ if (!$_[0]) {
3418+ croak "Assertion failed";
3419+ }
3420+}
3421+
3422+sub tolower {
3423+ usage "tolower(string)" if @_ != 1;
3424+ lc($_[0]);
3425+}
3426+
3427+sub toupper {
3428+ usage "toupper(string)" if @_ != 1;
3429+ uc($_[0]);
3430+}
3431+
3432+sub closedir {
3433+ usage "closedir(dirhandle)" if @_ != 1;
3434+ CORE::closedir($_[0]);
3435+}
3436+
3437+sub opendir {
3438+ usage "opendir(directory)" if @_ != 1;
3439+ my $dirhandle;
3440+ CORE::opendir($dirhandle, $_[0])
3441+ ? $dirhandle
3442+ : undef;
3443+}
3444+
3445+sub readdir {
3446+ usage "readdir(dirhandle)" if @_ != 1;
3447+ CORE::readdir($_[0]);
3448+}
3449+
3450+sub rewinddir {
3451+ usage "rewinddir(dirhandle)" if @_ != 1;
3452+ CORE::rewinddir($_[0]);
3453+}
3454+
3455+sub errno {
3456+ usage "errno()" if @_ != 0;
3457+ $! + 0;
3458+}
3459+
3460+sub creat {
3461+ usage "creat(filename, mode)" if @_ != 2;
3462+ &open($_[0], &O_WRONLY | &O_CREAT | &O_TRUNC, $_[1]);
3463+}
3464+
3465+sub fcntl {
3466+ usage "fcntl(filehandle, cmd, arg)" if @_ != 3;
3467+ CORE::fcntl($_[0], $_[1], $_[2]);
3468+}
3469+
3470+sub getgrgid {
3471+ usage "getgrgid(gid)" if @_ != 1;
3472+ CORE::getgrgid($_[0]);
3473+}
3474+
3475+sub getgrnam {
3476+ usage "getgrnam(name)" if @_ != 1;
3477+ CORE::getgrnam($_[0]);
3478+}
3479+
3480+sub atan2 {
3481+ usage "atan2(x,y)" if @_ != 2;
3482+ CORE::atan2($_[0], $_[1]);
3483+}
3484+
3485+sub cos {
3486+ usage "cos(x)" if @_ != 1;
3487+ CORE::cos($_[0]);
3488+}
3489+
3490+sub exp {
3491+ usage "exp(x)" if @_ != 1;
3492+ CORE::exp($_[0]);
3493+}
3494+
3495+sub fabs {
3496+ usage "fabs(x)" if @_ != 1;
3497+ CORE::abs($_[0]);
3498+}
3499+
3500+sub log {
3501+ usage "log(x)" if @_ != 1;
3502+ CORE::log($_[0]);
3503+}
3504+
3505+sub pow {
3506+ usage "pow(x,exponent)" if @_ != 2;
3507+ $_[0] ** $_[1];
3508+}
3509+
3510+sub sin {
3511+ usage "sin(x)" if @_ != 1;
3512+ CORE::sin($_[0]);
3513+}
3514+
3515+sub sqrt {
3516+ usage "sqrt(x)" if @_ != 1;
3517+ CORE::sqrt($_[0]);
3518+}
3519+
3520+sub getpwnam {
3521+ usage "getpwnam(name)" if @_ != 1;
3522+ CORE::getpwnam($_[0]);
3523+}
3524+
3525+sub getpwuid {
3526+ usage "getpwuid(uid)" if @_ != 1;
3527+ CORE::getpwuid($_[0]);
3528+}
3529+
3530+sub longjmp {
3531+ unimpl "longjmp() is C-specific: use die instead";
3532+}
3533+
3534+sub setjmp {
3535+ unimpl "setjmp() is C-specific: use eval {} instead";
3536+}
3537+
3538+sub siglongjmp {
3539+ unimpl "siglongjmp() is C-specific: use die instead";
3540+}
3541+
3542+sub sigsetjmp {
3543+ unimpl "sigsetjmp() is C-specific: use eval {} instead";
3544+}
3545+
3546+sub kill {
3547+ usage "kill(pid, sig)" if @_ != 2;
3548+ CORE::kill $_[1], $_[0];
3549+}
3550+
3551+sub raise {
3552+ usage "raise(sig)" if @_ != 1;
3553+ CORE::kill $_[0], $$; # Is this good enough?
3554+}
3555+
3556+sub offsetof {
3557+ unimpl "offsetof() is C-specific, stopped";
3558+}
3559+
3560+sub clearerr {
3561+ redef "IO::Handle::clearerr()";
3562+}
3563+
3564+sub fclose {
3565+ redef "IO::Handle::close()";
3566+}
3567+
3568+sub fdopen {
3569+ redef "IO::Handle::new_from_fd()";
3570+}
3571+
3572+sub feof {
3573+ redef "IO::Handle::eof()";
3574+}
3575+
3576+sub fgetc {
3577+ redef "IO::Handle::getc()";
3578+}
3579+
3580+sub fgets {
3581+ redef "IO::Handle::gets()";
3582+}
3583+
3584+sub fileno {
3585+ redef "IO::Handle::fileno()";
3586+}
3587+
3588+sub fopen {
3589+ redef "IO::File::open()";
3590+}
3591+
3592+sub fprintf {
3593+ unimpl "fprintf() is C-specific--use printf instead";
3594+}
3595+
3596+sub fputc {
3597+ unimpl "fputc() is C-specific--use print instead";
3598+}
3599+
3600+sub fputs {
3601+ unimpl "fputs() is C-specific--use print instead";
3602+}
3603+
3604+sub fread {
3605+ unimpl "fread() is C-specific--use read instead";
3606+}
3607+
3608+sub freopen {
3609+ unimpl "freopen() is C-specific--use open instead";
3610+}
3611+
3612+sub fscanf {
3613+ unimpl "fscanf() is C-specific--use <> and regular expressions instead";
3614+}
3615+
3616+sub fseek {
3617+ redef "IO::Seekable::seek()";
3618+}
3619+
3620+sub fsync {
3621+ redef "IO::Handle::sync()";
3622+}
3623+
3624+sub ferror {
3625+ redef "IO::Handle::error()";
3626+}
3627+
3628+sub fflush {
3629+ redef "IO::Handle::flush()";
3630+}
3631+
3632+sub fgetpos {
3633+ redef "IO::Seekable::getpos()";
3634+}
3635+
3636+sub fsetpos {
3637+ redef "IO::Seekable::setpos()";
3638+}
3639+
3640+sub ftell {
3641+ redef "IO::Seekable::tell()";
3642+}
3643+
3644+sub fwrite {
3645+ unimpl "fwrite() is C-specific--use print instead";
3646+}
3647+
3648+sub getc {
3649+ usage "getc(handle)" if @_ != 1;
3650+ CORE::getc($_[0]);
3651+}
3652+
3653+sub getchar {
3654+ usage "getchar()" if @_ != 0;
3655+ CORE::getc(STDIN);
3656+}
3657+
3658+sub gets {
3659+ usage "gets()" if @_ != 0;
3660+ scalar <STDIN>;
3661+}
3662+
3663+sub perror {
3664+ print STDERR "@_: " if @_;
3665+ print STDERR $!,"\n";
3666+}
3667+
3668+sub printf {
3669+ usage "printf(pattern, args...)" if @_ < 1;
3670+ CORE::printf STDOUT @_;
3671+}
3672+
3673+sub putc {
3674+ unimpl "putc() is C-specific--use print instead";
3675+}
3676+
3677+sub putchar {
3678+ unimpl "putchar() is C-specific--use print instead";
3679+}
3680+
3681+sub puts {
3682+ unimpl "puts() is C-specific--use print instead";
3683+}
3684+
3685+sub remove {
3686+ usage "remove(filename)" if @_ != 1;
3687+ (-d $_[0]) ? CORE::rmdir($_[0]) : CORE::unlink($_[0]);
3688+}
3689+
3690+sub rename {
3691+ usage "rename(oldfilename, newfilename)" if @_ != 2;
3692+ CORE::rename($_[0], $_[1]);
3693+}
3694+
3695+sub rewind {
3696+ usage "rewind(filehandle)" if @_ != 1;
3697+ CORE::seek($_[0],0,0);
3698+}
3699+
3700+sub scanf {
3701+ unimpl "scanf() is C-specific--use <> and regular expressions instead";
3702+}
3703+
3704+sub sprintf {
3705+ usage "sprintf(pattern,args)" if @_ == 0;
3706+ CORE::sprintf(shift,@_);
3707+}
3708+
3709+sub sscanf {
3710+ unimpl "sscanf() is C-specific--use regular expressions instead";
3711+}
3712+
3713+sub tmpfile {
3714+ redef "IO::File::new_tmpfile()";
3715+}
3716+
3717+sub ungetc {
3718+ redef "IO::Handle::ungetc()";
3719+}
3720+
3721+sub vfprintf {
3722+ unimpl "vfprintf() is C-specific";
3723+}
3724+
3725+sub vprintf {
3726+ unimpl "vprintf() is C-specific";
3727+}
3728+
3729+sub vsprintf {
3730+ unimpl "vsprintf() is C-specific";
3731+}
3732+
3733+sub abs {
3734+ usage "abs(x)" if @_ != 1;
3735+ CORE::abs($_[0]);
3736+}
3737+
3738+sub atexit {
3739+ unimpl "atexit() is C-specific: use END {} instead";
3740+}
3741+
3742+sub atof {
3743+ unimpl "atof() is C-specific, stopped";
3744+}
3745+
3746+sub atoi {
3747+ unimpl "atoi() is C-specific, stopped";
3748+}
3749+
3750+sub atol {
3751+ unimpl "atol() is C-specific, stopped";
3752+}
3753+
3754+sub bsearch {
3755+ unimpl "bsearch() not supplied";
3756+}
3757+
3758+sub calloc {
3759+ unimpl "calloc() is C-specific, stopped";
3760+}
3761+
3762+sub div {
3763+ unimpl "div() is C-specific, use /, % and int instead";
3764+}
3765+
3766+sub exit {
3767+ usage "exit(status)" if @_ != 1;
3768+ CORE::exit($_[0]);
3769+}
3770+
3771+sub free {
3772+ unimpl "free() is C-specific, stopped";
3773+}
3774+
3775+sub getenv {
3776+ usage "getenv(name)" if @_ != 1;
3777+ $ENV{$_[0]};
3778+}
3779+
3780+sub labs {
3781+ unimpl "labs() is C-specific, use abs instead";
3782+}
3783+
3784+sub ldiv {
3785+ unimpl "ldiv() is C-specific, use /, % and int instead";
3786+}
3787+
3788+sub malloc {
3789+ unimpl "malloc() is C-specific, stopped";
3790+}
3791+
3792+sub qsort {
3793+ unimpl "qsort() is C-specific, use sort instead";
3794+}
3795+
3796+sub rand {
3797+ unimpl "rand() is non-portable, use Perl's rand instead";
3798+}
3799+
3800+sub realloc {
3801+ unimpl "realloc() is C-specific, stopped";
3802+}
3803+
3804+sub srand {
3805+ unimpl "srand()";
3806+}
3807+
3808+sub system {
3809+ usage "system(command)" if @_ != 1;
3810+ CORE::system($_[0]);
3811+}
3812+
3813+sub memchr {
3814+ unimpl "memchr() is C-specific, use index() instead";
3815+}
3816+
3817+sub memcmp {
3818+ unimpl "memcmp() is C-specific, use eq instead";
3819+}
3820+
3821+sub memcpy {
3822+ unimpl "memcpy() is C-specific, use = instead";
3823+}
3824+
3825+sub memmove {
3826+ unimpl "memmove() is C-specific, use = instead";
3827+}
3828+
3829+sub memset {
3830+ unimpl "memset() is C-specific, use x instead";
3831+}
3832+
3833+sub strcat {
3834+ unimpl "strcat() is C-specific, use .= instead";
3835+}
3836+
3837+sub strchr {
3838+ unimpl "strchr() is C-specific, use index() instead";
3839+}
3840+
3841+sub strcmp {
3842+ unimpl "strcmp() is C-specific, use eq instead";
3843+}
3844+
3845+sub strcpy {
3846+ unimpl "strcpy() is C-specific, use = instead";
3847+}
3848+
3849+sub strcspn {
3850+ unimpl "strcspn() is C-specific, use regular expressions instead";
3851+}
3852+
3853+sub strerror {
3854+ usage "strerror(errno)" if @_ != 1;
3855+ local $! = $_[0];
3856+ $! . "";
3857+}
3858+
3859+sub strlen {
3860+ unimpl "strlen() is C-specific, use length instead";
3861+}
3862+
3863+sub strncat {
3864+ unimpl "strncat() is C-specific, use .= instead";
3865+}
3866+
3867+sub strncmp {
3868+ unimpl "strncmp() is C-specific, use eq instead";
3869+}
3870+
3871+sub strncpy {
3872+ unimpl "strncpy() is C-specific, use = instead";
3873+}
3874+
3875+sub strpbrk {
3876+ unimpl "strpbrk() is C-specific, stopped";
3877+}
3878+
3879+sub strrchr {
3880+ unimpl "strrchr() is C-specific, use rindex() instead";
3881+}
3882+
3883+sub strspn {
3884+ unimpl "strspn() is C-specific, stopped";
3885+}
3886+
3887+sub strstr {
3888+ usage "strstr(big, little)" if @_ != 2;
3889+ CORE::index($_[0], $_[1]);
3890+}
3891+
3892+sub strtok {
3893+ unimpl "strtok() is C-specific, stopped";
3894+}
3895+
3896+sub chmod {
3897+ usage "chmod(mode, filename)" if @_ != 2;
3898+ CORE::chmod($_[0], $_[1]);
3899+}
3900+
3901+sub fstat {
3902+ usage "fstat(fd)" if @_ != 1;
3903+ local *TMP;
3904+ CORE::open(TMP, "<&$_[0]"); # Gross.
3905+ my @l = CORE::stat(TMP);
3906+ CORE::close(TMP);
3907+ @l;
3908+}
3909+
3910+sub mkdir {
3911+ usage "mkdir(directoryname, mode)" if @_ != 2;
3912+ CORE::mkdir($_[0], $_[1]);
3913+}
3914+
3915+sub stat {
3916+ usage "stat(filename)" if @_ != 1;
3917+ CORE::stat($_[0]);
3918+}
3919+
3920+sub umask {
3921+ usage "umask(mask)" if @_ != 1;
3922+ CORE::umask($_[0]);
3923+}
3924+
3925+sub wait {
3926+ usage "wait()" if @_ != 0;
3927+ CORE::wait();
3928+}
3929+
3930+sub waitpid {
3931+ usage "waitpid(pid, options)" if @_ != 2;
3932+ CORE::waitpid($_[0], $_[1]);
3933+}
3934+
3935+sub gmtime {
3936+ usage "gmtime(time)" if @_ != 1;
3937+ CORE::gmtime($_[0]);
3938+}
3939+
3940+sub localtime {
3941+ usage "localtime(time)" if @_ != 1;
3942+ CORE::localtime($_[0]);
3943+}
3944+
3945+sub time {
3946+ usage "time()" if @_ != 0;
3947+ CORE::time;
3948+}
3949+
3950+sub alarm {
3951+ usage "alarm(seconds)" if @_ != 1;
3952+ CORE::alarm($_[0]);
3953+}
3954+
3955+sub chdir {
3956+ usage "chdir(directory)" if @_ != 1;
3957+ CORE::chdir($_[0]);
3958+}
3959+
3960+sub chown {
3961+ usage "chown(uid, gid, filename)" if @_ != 3;
3962+ CORE::chown($_[0], $_[1], $_[2]);
3963+}
3964+
3965+sub execl {
3966+ unimpl "execl() is C-specific, stopped";
3967+}
3968+
3969+sub execle {
3970+ unimpl "execle() is C-specific, stopped";
3971+}
3972+
3973+sub execlp {
3974+ unimpl "execlp() is C-specific, stopped";
3975+}
3976+
3977+sub execv {
3978+ unimpl "execv() is C-specific, stopped";
3979+}
3980+
3981+sub execve {
3982+ unimpl "execve() is C-specific, stopped";
3983+}
3984+
3985+sub execvp {
3986+ unimpl "execvp() is C-specific, stopped";
3987+}
3988+
3989+sub fork {
3990+ usage "fork()" if @_ != 0;
3991+ CORE::fork;
3992+}
3993+
3994+sub getegid {
3995+ usage "getegid()" if @_ != 0;
3996+ $) + 0;
3997+}
3998+
3999+sub geteuid {
4000+ usage "geteuid()" if @_ != 0;
4001+ $> + 0;
4002+}
4003+
4004+sub getgid {
4005+ usage "getgid()" if @_ != 0;
4006+ $( + 0;
4007+}
4008+
4009+sub getgroups {
4010+ usage "getgroups()" if @_ != 0;
4011+ my %seen;
4012+ grep(!$seen{$_}++, split(' ', $) ));
4013+}
4014+
4015+sub getlogin {
4016+ usage "getlogin()" if @_ != 0;
4017+ CORE::getlogin();
4018+}
4019+
4020+sub getpgrp {
4021+ usage "getpgrp()" if @_ != 0;
4022+ CORE::getpgrp;
4023+}
4024+
4025+sub getpid {
4026+ usage "getpid()" if @_ != 0;
4027+ $$;
4028+}
4029+
4030+sub getppid {
4031+ usage "getppid()" if @_ != 0;
4032+ CORE::getppid;
4033+}
4034+
4035+sub getuid {
4036+ usage "getuid()" if @_ != 0;
4037+ $<;
4038+}
4039+
4040+sub isatty {
4041+ usage "isatty(filehandle)" if @_ != 1;
4042+ -t $_[0];
4043+}
4044+
4045+sub link {
4046+ usage "link(oldfilename, newfilename)" if @_ != 2;
4047+ CORE::link($_[0], $_[1]);
4048+}
4049+
4050+sub rmdir {
4051+ usage "rmdir(directoryname)" if @_ != 1;
4052+ CORE::rmdir($_[0]);
4053+}
4054+
4055+sub setbuf {
4056+ redef "IO::Handle::setbuf()";
4057+}
4058+
4059+sub setvbuf {
4060+ redef "IO::Handle::setvbuf()";
4061+}
4062+
4063+sub sleep {
4064+ usage "sleep(seconds)" if @_ != 1;
4065+ $_[0] - CORE::sleep($_[0]);
4066+}
4067+
4068+sub unlink {
4069+ usage "unlink(filename)" if @_ != 1;
4070+ CORE::unlink($_[0]);
4071+}
4072+
4073+sub utime {
4074+ usage "utime(filename, atime, mtime)" if @_ != 3;
4075+ CORE::utime($_[1], $_[2], $_[0]);
4076+}
4077+
4078+sub load_imports {
4079+%EXPORT_TAGS = (
4080+
4081+ assert_h => [qw(assert NDEBUG)],
4082+
4083+ ctype_h => [qw(isalnum isalpha iscntrl isdigit isgraph islower
4084+ isprint ispunct isspace isupper isxdigit tolower toupper)],
4085+
4086+ dirent_h => [],
4087+
4088+ errno_h => [qw(E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT
4089+ EAGAIN EALREADY EBADF EBUSY ECHILD ECONNABORTED
4090+ ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDOM EDQUOT
4091+ EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EINPROGRESS
4092+ EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK
4093+ EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH
4094+ ENFILE ENOBUFS ENODEV ENOENT ENOEXEC ENOLCK ENOMEM
4095+ ENOPROTOOPT ENOSPC ENOSYS ENOTBLK ENOTCONN ENOTDIR
4096+ ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM
4097+ EPFNOSUPPORT EPIPE EPROCLIM EPROTONOSUPPORT EPROTOTYPE
4098+ ERANGE EREMOTE ERESTART EROFS ESHUTDOWN ESOCKTNOSUPPORT
4099+ ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS ETXTBSY
4100+ EUSERS EWOULDBLOCK EXDEV errno)],
4101+
4102+ fcntl_h => [qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK
4103+ F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK
4104+ O_ACCMODE O_APPEND O_CREAT O_EXCL O_NOCTTY O_NONBLOCK
4105+ O_RDONLY O_RDWR O_TRUNC O_WRONLY
4106+ creat
4107+ SEEK_CUR SEEK_END SEEK_SET
4108+ S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU
4109+ S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG S_ISUID
4110+ S_IWGRP S_IWOTH S_IWUSR)],
4111+
4112+ float_h => [qw(DBL_DIG DBL_EPSILON DBL_MANT_DIG
4113+ DBL_MAX DBL_MAX_10_EXP DBL_MAX_EXP
4114+ DBL_MIN DBL_MIN_10_EXP DBL_MIN_EXP
4115+ FLT_DIG FLT_EPSILON FLT_MANT_DIG
4116+ FLT_MAX FLT_MAX_10_EXP FLT_MAX_EXP
4117+ FLT_MIN FLT_MIN_10_EXP FLT_MIN_EXP
4118+ FLT_RADIX FLT_ROUNDS
4119+ LDBL_DIG LDBL_EPSILON LDBL_MANT_DIG
4120+ LDBL_MAX LDBL_MAX_10_EXP LDBL_MAX_EXP
4121+ LDBL_MIN LDBL_MIN_10_EXP LDBL_MIN_EXP)],
4122+
4123+ grp_h => [],
4124+
4125+ limits_h => [qw( ARG_MAX CHAR_BIT CHAR_MAX CHAR_MIN CHILD_MAX
4126+ INT_MAX INT_MIN LINK_MAX LONG_MAX LONG_MIN MAX_CANON
4127+ MAX_INPUT MB_LEN_MAX NAME_MAX NGROUPS_MAX OPEN_MAX
4128+ PATH_MAX PIPE_BUF SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN
4129+ SSIZE_MAX STREAM_MAX TZNAME_MAX UCHAR_MAX UINT_MAX
4130+ ULONG_MAX USHRT_MAX _POSIX_ARG_MAX _POSIX_CHILD_MAX
4131+ _POSIX_LINK_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT
4132+ _POSIX_NAME_MAX _POSIX_NGROUPS_MAX _POSIX_OPEN_MAX
4133+ _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_SSIZE_MAX
4134+ _POSIX_STREAM_MAX _POSIX_TZNAME_MAX)],
4135+
4136+ locale_h => [qw(LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES
4137+ LC_MONETARY LC_NUMERIC LC_TIME NULL
4138+ localeconv setlocale)],
4139+
4140+ math_h => [qw(HUGE_VAL acos asin atan ceil cosh fabs floor fmod
4141+ frexp ldexp log10 modf pow sinh tan tanh)],
4142+
4143+ pwd_h => [],
4144+
4145+ setjmp_h => [qw(longjmp setjmp siglongjmp sigsetjmp)],
4146+
4147+ signal_h => [qw(SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK
4148+ SA_RESETHAND SA_RESTART SA_SIGINFO SIGABRT SIGALRM
4149+ SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL
4150+ SIGPIPE %SIGRT SIGRTMIN SIGRTMAX SIGQUIT SIGSEGV SIGSTOP
4151+ SIGTERM SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2
4152+ SIG_BLOCK SIG_DFL SIG_ERR SIG_IGN SIG_SETMASK SIG_UNBLOCK
4153+ raise sigaction signal sigpending sigprocmask sigsuspend)],
4154+
4155+ stdarg_h => [],
4156+
4157+ stddef_h => [qw(NULL offsetof)],
4158+
4159+ stdio_h => [qw(BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid
4160+ L_tmpname NULL SEEK_CUR SEEK_END SEEK_SET
4161+ STREAM_MAX TMP_MAX stderr stdin stdout
4162+ clearerr fclose fdopen feof ferror fflush fgetc fgetpos
4163+ fgets fopen fprintf fputc fputs fread freopen
4164+ fscanf fseek fsetpos ftell fwrite getchar gets
4165+ perror putc putchar puts remove rewind
4166+ scanf setbuf setvbuf sscanf tmpfile tmpnam
4167+ ungetc vfprintf vprintf vsprintf)],
4168+
4169+ stdlib_h => [qw(EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX NULL RAND_MAX
4170+ abort atexit atof atoi atol bsearch calloc div
4171+ free getenv labs ldiv malloc mblen mbstowcs mbtowc
4172+ qsort realloc strtod strtol strtoul wcstombs wctomb)],
4173+
4174+ string_h => [qw(NULL memchr memcmp memcpy memmove memset strcat
4175+ strchr strcmp strcoll strcpy strcspn strerror strlen
4176+ strncat strncmp strncpy strpbrk strrchr strspn strstr
4177+ strtok strxfrm)],
4178+
4179+ sys_stat_h => [qw(S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU
4180+ S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG
4181+ S_ISUID S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR
4182+ fstat mkfifo)],
4183+
4184+ sys_times_h => [],
4185+
4186+ sys_types_h => [],
4187+
4188+ sys_utsname_h => [qw(uname)],
4189+
4190+ sys_wait_h => [qw(WEXITSTATUS WIFEXITED WIFSIGNALED WIFSTOPPED
4191+ WNOHANG WSTOPSIG WTERMSIG WUNTRACED)],
4192+
4193+ termios_h => [qw( B0 B110 B1200 B134 B150 B1800 B19200 B200 B2400
4194+ B300 B38400 B4800 B50 B600 B75 B9600 BRKINT CLOCAL
4195+ CREAD CS5 CS6 CS7 CS8 CSIZE CSTOPB ECHO ECHOE ECHOK
4196+ ECHONL HUPCL ICANON ICRNL IEXTEN IGNBRK IGNCR IGNPAR
4197+ INLCR INPCK ISIG ISTRIP IXOFF IXON NCCS NOFLSH OPOST
4198+ PARENB PARMRK PARODD TCIFLUSH TCIOFF TCIOFLUSH TCION
4199+ TCOFLUSH TCOOFF TCOON TCSADRAIN TCSAFLUSH TCSANOW
4200+ TOSTOP VEOF VEOL VERASE VINTR VKILL VMIN VQUIT VSTART
4201+ VSTOP VSUSP VTIME
4202+ cfgetispeed cfgetospeed cfsetispeed cfsetospeed tcdrain
4203+ tcflow tcflush tcgetattr tcsendbreak tcsetattr )],
4204+
4205+ time_h => [qw(CLK_TCK CLOCKS_PER_SEC NULL asctime clock ctime
4206+ difftime mktime strftime tzset tzname)],
4207+
4208+ unistd_h => [qw(F_OK NULL R_OK SEEK_CUR SEEK_END SEEK_SET
4209+ STDERR_FILENO STDIN_FILENO STDOUT_FILENO W_OK X_OK
4210+ _PC_CHOWN_RESTRICTED _PC_LINK_MAX _PC_MAX_CANON
4211+ _PC_MAX_INPUT _PC_NAME_MAX _PC_NO_TRUNC _PC_PATH_MAX
4212+ _PC_PIPE_BUF _PC_VDISABLE _POSIX_CHOWN_RESTRICTED
4213+ _POSIX_JOB_CONTROL _POSIX_NO_TRUNC _POSIX_SAVED_IDS
4214+ _POSIX_VDISABLE _POSIX_VERSION _SC_ARG_MAX
4215+ _SC_CHILD_MAX _SC_CLK_TCK _SC_JOB_CONTROL
4216+ _SC_NGROUPS_MAX _SC_OPEN_MAX _SC_PAGESIZE _SC_SAVED_IDS
4217+ _SC_STREAM_MAX _SC_TZNAME_MAX _SC_VERSION
4218+ _exit access ctermid cuserid
4219+ dup2 dup execl execle execlp execv execve execvp
4220+ fpathconf fsync getcwd getegid geteuid getgid getgroups
4221+ getpid getuid isatty lseek pathconf pause setgid setpgid
4222+ setsid setuid sysconf tcgetpgrp tcsetpgrp ttyname)],
4223+
4224+ utime_h => [],
4225+
4226+);
4227+
4228+# Exporter::export_tags();
4229+{
4230+ # De-duplicate the export list:
4231+ my %export;
4232+ @export{map {@$_} values %EXPORT_TAGS} = ();
4233+ # Doing the de-dup with a temporary hash has the advantage that the SVs in
4234+ # @EXPORT are actually shared hash key sacalars, which will save some memory.
4235+ push @EXPORT, keys %export;
4236+}
4237+
4238+@EXPORT_OK = qw(
4239+ abs
4240+ alarm
4241+ atan2
4242+ chdir
4243+ chmod
4244+ chown
4245+ close
4246+ closedir
4247+ cos
4248+ exit
4249+ exp
4250+ fcntl
4251+ fileno
4252+ fork
4253+ getc
4254+ getgrgid
4255+ getgrnam
4256+ getlogin
4257+ getpgrp
4258+ getppid
4259+ getpwnam
4260+ getpwuid
4261+ gmtime
4262+ isatty
4263+ kill
4264+ lchown
4265+ link
4266+ localtime
4267+ log
4268+ mkdir
4269+ nice
4270+ open
4271+ opendir
4272+ pipe
4273+ printf
4274+ rand
4275+ read
4276+ readdir
4277+ rename
4278+ rewinddir
4279+ rmdir
4280+ sin
4281+ sleep
4282+ sprintf
4283+ sqrt
4284+ srand
4285+ stat
4286+ system
4287+ time
4288+ times
4289+ umask
4290+ unlink
4291+ utime
4292+ wait
4293+ waitpid
4294+ write
4295+);
4296+
4297+require Exporter;
4298+}
4299+
4300+package POSIX::SigAction;
4301+
4302+sub new { bless {HANDLER => $_[1], MASK => $_[2], FLAGS => $_[3] || 0, SAFE => 0}, $_[0] }
4303+sub handler { $_[0]->{HANDLER} = $_[1] if @_ > 1; $_[0]->{HANDLER} };
4304+sub mask { $_[0]->{MASK} = $_[1] if @_ > 1; $_[0]->{MASK} };
4305+sub flags { $_[0]->{FLAGS} = $_[1] if @_ > 1; $_[0]->{FLAGS} };
4306+sub safe { $_[0]->{SAFE} = $_[1] if @_ > 1; $_[0]->{SAFE} };
4307+
4308+package POSIX::SigRt;
4309+
4310+
4311+sub _init {
4312+ $_SIGRTMIN = &POSIX::SIGRTMIN;
4313+ $_SIGRTMAX = &POSIX::SIGRTMAX;
4314+ $_sigrtn = $_SIGRTMAX - $_SIGRTMIN;
4315+}
4316+
4317+sub _croak {
4318+ &_init unless defined $_sigrtn;
4319+ die "POSIX::SigRt not available" unless defined $_sigrtn && $_sigrtn > 0;
4320+}
4321+
4322+sub _getsig {
4323+ &_croak;
4324+ my $rtsig = $_[0];
4325+ # Allow (SIGRT)?MIN( + n)?, a common idiom when doing these things in C.
4326+ $rtsig = $_SIGRTMIN + ($1 || 0)
4327+ if $rtsig =~ /^(?:(?:SIG)?RT)?MIN(\s*\+\s*(\d+))?$/;
4328+ return $rtsig;
4329+}
4330+
4331+sub _exist {
4332+ my $rtsig = _getsig($_[1]);
4333+ my $ok = $rtsig >= $_SIGRTMIN && $rtsig <= $_SIGRTMAX;
4334+ ($rtsig, $ok);
4335+}
4336+
4337+sub _check {
4338+ my ($rtsig, $ok) = &_exist;
4339+ die "No POSIX::SigRt signal $_[1] (valid range SIGRTMIN..SIGRTMAX, or $_SIGRTMIN..$_SIGRTMAX)"
4340+ unless $ok;
4341+ return $rtsig;
4342+}
4343+
4344+sub new {
4345+ my ($rtsig, $handler, $flags) = @_;
4346+ my $sigset = POSIX::SigSet->new($rtsig);
4347+ my $sigact = POSIX::SigAction->new($handler,
4348+ $sigset,
4349+ $flags);
4350+ POSIX::sigaction($rtsig, $sigact);
4351+}
4352+
4353+sub EXISTS { &_exist }
4354+sub FETCH { my $rtsig = &_check;
4355+ my $oa = POSIX::SigAction->new();
4356+ POSIX::sigaction($rtsig, undef, $oa);
4357+ return $oa->{HANDLER} }
4358+sub STORE { my $rtsig = &_check; new($rtsig, $_[2], $SIGACTION_FLAGS) }
4359+sub DELETE { delete $SIG{ &_check } }
4360+sub CLEAR { &_exist; delete @SIG{ &POSIX::SIGRTMIN .. &POSIX::SIGRTMAX } }
4361+sub SCALAR { &_croak; $_sigrtn + 1 }
4362diff --git a/ext/POSIX/lib/POSIX.pod b/ext/POSIX/lib/POSIX.pod
4363new file mode 100644
4364index 0000000..64852e9
4365--- /dev/null
4366+++ b/ext/POSIX/lib/POSIX.pod
4367@@ -0,0 +1,2218 @@
4368+=head1 NAME
4369+
4370+POSIX - Perl interface to IEEE Std 1003.1
4371+
4372+=head1 SYNOPSIS
4373+
4374+ use POSIX;
4375+ use POSIX qw(setsid);
4376+ use POSIX qw(:errno_h :fcntl_h);
4377+
4378+ printf "EINTR is %d\n", EINTR;
4379+
4380+ $sess_id = POSIX::setsid();
4381+
4382+ $fd = POSIX::open($path, O_CREAT|O_EXCL|O_WRONLY, 0644);
4383+ # note: that's a filedescriptor, *NOT* a filehandle
4384+
4385+=head1 DESCRIPTION
4386+
4387+The POSIX module permits you to access all (or nearly all) the standard
4388+POSIX 1003.1 identifiers. Many of these identifiers have been given Perl-ish
4389+interfaces.
4390+
4391+I<Everything is exported by default> with the exception of any POSIX
4392+functions with the same name as a built-in Perl function, such as
4393+C<abs>, C<alarm>, C<rmdir>, C<write>, etc.., which will be exported
4394+only if you ask for them explicitly. This is an unfortunate backwards
4395+compatibility feature. You can stop the exporting by saying C<use
4396+POSIX ()> and then use the fully qualified names (ie. C<POSIX::SEEK_END>).
4397+
4398+This document gives a condensed list of the features available in the POSIX
4399+module. Consult your operating system's manpages for general information on
4400+most features. Consult L<perlfunc> for functions which are noted as being
4401+identical to Perl's builtin functions.
4402+
4403+The first section describes POSIX functions from the 1003.1 specification.
4404+The second section describes some classes for signal objects, TTY objects,
4405+and other miscellaneous objects. The remaining sections list various
4406+constants and macros in an organization which roughly follows IEEE Std
4407+1003.1b-1993.
4408+
4409+=head1 NOTE
4410+
4411+The POSIX module is probably the most complex Perl module supplied with
4412+the standard distribution. It incorporates autoloading, namespace games,
4413+and dynamic loading of code that's in Perl, C, or both. It's a great
4414+source of wisdom.
4415+
4416+=head1 CAVEATS
4417+
4418+A few functions are not implemented because they are C specific. If you
4419+attempt to call these, they will print a message telling you that they
4420+aren't implemented, and suggest using the Perl equivalent should one
4421+exist. For example, trying to access the setjmp() call will elicit the
4422+message "setjmp() is C-specific: use eval {} instead".
4423+
4424+Furthermore, some evil vendors will claim 1003.1 compliance, but in fact
4425+are not so: they will not pass the PCTS (POSIX Compliance Test Suites).
4426+For example, one vendor may not define EDEADLK, or the semantics of the
4427+errno values set by open(2) might not be quite right. Perl does not
4428+attempt to verify POSIX compliance. That means you can currently
4429+successfully say "use POSIX", and then later in your program you find
4430+that your vendor has been lax and there's no usable ICANON macro after
4431+all. This could be construed to be a bug.
4432+
4433+=head1 FUNCTIONS
4434+
4435+=over 8
4436+
4437+=item _exit
4438+
4439+This is identical to the C function C<_exit()>. It exits the program
4440+immediately which means among other things buffered I/O is B<not> flushed.
4441+
4442+Note that when using threads and in Linux this is B<not> a good way to
4443+exit a thread because in Linux processes and threads are kind of the
4444+same thing (Note: while this is the situation in early 2003 there are
4445+projects under way to have threads with more POSIXly semantics in Linux).
4446+If you want not to return from a thread, detach the thread.
4447+
4448+=item abort
4449+
4450+This is identical to the C function C<abort()>. It terminates the
4451+process with a C<SIGABRT> signal unless caught by a signal handler or
4452+if the handler does not return normally (it e.g. does a C<longjmp>).
4453+
4454+=item abs
4455+
4456+This is identical to Perl's builtin C<abs()> function, returning
4457+the absolute value of its numerical argument.
4458+
4459+=item access
4460+
4461+Determines the accessibility of a file.
4462+
4463+ if( POSIX::access( "/", &POSIX::R_OK ) ){
4464+ print "have read permission\n";
4465+ }
4466+
4467+Returns C<undef> on failure. Note: do not use C<access()> for
4468+security purposes. Between the C<access()> call and the operation
4469+you are preparing for the permissions might change: a classic
4470+I<race condition>.
4471+
4472+=item acos
4473+
4474+This is identical to the C function C<acos()>, returning
4475+the arcus cosine of its numerical argument. See also L<Math::Trig>.
4476+
4477+=item alarm
4478+
4479+This is identical to Perl's builtin C<alarm()> function,
4480+either for arming or disarming the C<SIGARLM> timer.
4481+
4482+=item asctime
4483+
4484+This is identical to the C function C<asctime()>. It returns
4485+a string of the form
4486+
4487+ "Fri Jun 2 18:22:13 2000\n\0"
4488+
4489+and it is called thusly
4490+
4491+ $asctime = asctime($sec, $min, $hour, $mday, $mon, $year,
4492+ $wday, $yday, $isdst);
4493+
4494+The C<$mon> is zero-based: January equals C<0>. The C<$year> is
4495+1900-based: 2001 equals C<101>. C<$wday> and C<$yday> default to zero
4496+(and are usually ignored anyway), and C<$isdst> defaults to -1.
4497+
4498+=item asin
4499+
4500+This is identical to the C function C<asin()>, returning
4501+the arcus sine of its numerical argument. See also L<Math::Trig>.
4502+
4503+=item assert
4504+
4505+Unimplemented, but you can use L<perlfunc/die> and the L<Carp> module
4506+to achieve similar things.
4507+
4508+=item atan
4509+
4510+This is identical to the C function C<atan()>, returning the
4511+arcus tangent of its numerical argument. See also L<Math::Trig>.
4512+
4513+=item atan2
4514+
4515+This is identical to Perl's builtin C<atan2()> function, returning
4516+the arcus tangent defined by its two numerical arguments, the I<y>
4517+coordinate and the I<x> coordinate. See also L<Math::Trig>.
4518+
4519+=item atexit
4520+
4521+atexit() is C-specific: use C<END {}> instead, see L<perlsub>.
4522+
4523+=item atof
4524+
4525+atof() is C-specific. Perl converts strings to numbers transparently.
4526+If you need to force a scalar to a number, add a zero to it.
4527+
4528+=item atoi
4529+
4530+atoi() is C-specific. Perl converts strings to numbers transparently.
4531+If you need to force a scalar to a number, add a zero to it.
4532+If you need to have just the integer part, see L<perlfunc/int>.
4533+
4534+=item atol
4535+
4536+atol() is C-specific. Perl converts strings to numbers transparently.
4537+If you need to force a scalar to a number, add a zero to it.
4538+If you need to have just the integer part, see L<perlfunc/int>.
4539+
4540+=item bsearch
4541+
4542+bsearch() not supplied. For doing binary search on wordlists,
4543+see L<Search::Dict>.
4544+
4545+=item calloc
4546+
4547+calloc() is C-specific. Perl does memory management transparently.
4548+
4549+=item ceil
4550+
4551+This is identical to the C function C<ceil()>, returning the smallest
4552+integer value greater than or equal to the given numerical argument.
4553+
4554+=item chdir
4555+
4556+This is identical to Perl's builtin C<chdir()> function, allowing
4557+one to change the working (default) directory, see L<perlfunc/chdir>.
4558+
4559+=item chmod
4560+
4561+This is identical to Perl's builtin C<chmod()> function, allowing
4562+one to change file and directory permissions, see L<perlfunc/chmod>.
4563+
4564+=item chown
4565+
4566+This is identical to Perl's builtin C<chown()> function, allowing one
4567+to change file and directory owners and groups, see L<perlfunc/chown>.
4568+
4569+=item clearerr
4570+
4571+Use the method C<IO::Handle::clearerr()> instead, to reset the error
4572+state (if any) and EOF state (if any) of the given stream.
4573+
4574+=item clock
4575+
4576+This is identical to the C function C<clock()>, returning the
4577+amount of spent processor time in microseconds.
4578+
4579+=item close
4580+
4581+Close the file. This uses file descriptors such as those obtained by calling
4582+C<POSIX::open>.
4583+
4584+ $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
4585+ POSIX::close( $fd );
4586+
4587+Returns C<undef> on failure.
4588+
4589+See also L<perlfunc/close>.
4590+
4591+=item closedir
4592+
4593+This is identical to Perl's builtin C<closedir()> function for closing
4594+a directory handle, see L<perlfunc/closedir>.
4595+
4596+=item cos
4597+
4598+This is identical to Perl's builtin C<cos()> function, for returning
4599+the cosine of its numerical argument, see L<perlfunc/cos>.
4600+See also L<Math::Trig>.
4601+
4602+=item cosh
4603+
4604+This is identical to the C function C<cosh()>, for returning
4605+the hyperbolic cosine of its numeric argument. See also L<Math::Trig>.
4606+
4607+=item creat
4608+
4609+Create a new file. This returns a file descriptor like the ones returned by
4610+C<POSIX::open>. Use C<POSIX::close> to close the file.
4611+
4612+ $fd = POSIX::creat( "foo", 0611 );
4613+ POSIX::close( $fd );
4614+
4615+See also L<perlfunc/sysopen> and its C<O_CREAT> flag.
4616+
4617+=item ctermid
4618+
4619+Generates the path name for the controlling terminal.
4620+
4621+ $path = POSIX::ctermid();
4622+
4623+=item ctime
4624+
4625+This is identical to the C function C<ctime()> and equivalent
4626+to C<asctime(localtime(...))>, see L</asctime> and L</localtime>.
4627+
4628+=item cuserid
4629+
4630+Get the login name of the owner of the current process.
4631+
4632+ $name = POSIX::cuserid();
4633+
4634+=item difftime
4635+
4636+This is identical to the C function C<difftime()>, for returning
4637+the time difference (in seconds) between two times (as returned
4638+by C<time()>), see L</time>.
4639+
4640+=item div
4641+
4642+div() is C-specific, use L<perlfunc/int> on the usual C</> division and
4643+the modulus C<%>.
4644+
4645+=item dup
4646+
4647+This is similar to the C function C<dup()>, for duplicating a file
4648+descriptor.
4649+
4650+This uses file descriptors such as those obtained by calling
4651+C<POSIX::open>.
4652+
4653+Returns C<undef> on failure.
4654+
4655+=item dup2
4656+
4657+This is similar to the C function C<dup2()>, for duplicating a file
4658+descriptor to an another known file descriptor.
4659+
4660+This uses file descriptors such as those obtained by calling
4661+C<POSIX::open>.
4662+
4663+Returns C<undef> on failure.
4664+
4665+=item errno
4666+
4667+Returns the value of errno.
4668+
4669+ $errno = POSIX::errno();
4670+
4671+This identical to the numerical values of the C<$!>, see L<perlvar/$ERRNO>.
4672+
4673+=item execl
4674+
4675+execl() is C-specific, see L<perlfunc/exec>.
4676+
4677+=item execle
4678+
4679+execle() is C-specific, see L<perlfunc/exec>.
4680+
4681+=item execlp
4682+
4683+execlp() is C-specific, see L<perlfunc/exec>.
4684+
4685+=item execv
4686+
4687+execv() is C-specific, see L<perlfunc/exec>.
4688+
4689+=item execve
4690+
4691+execve() is C-specific, see L<perlfunc/exec>.
4692+
4693+=item execvp
4694+
4695+execvp() is C-specific, see L<perlfunc/exec>.
4696+
4697+=item exit
4698+
4699+This is identical to Perl's builtin C<exit()> function for exiting the
4700+program, see L<perlfunc/exit>.
4701+
4702+=item exp
4703+
4704+This is identical to Perl's builtin C<exp()> function for
4705+returning the exponent (I<e>-based) of the numerical argument,
4706+see L<perlfunc/exp>.
4707+
4708+=item fabs
4709+
4710+This is identical to Perl's builtin C<abs()> function for returning
4711+the absolute value of the numerical argument, see L<perlfunc/abs>.
4712+
4713+=item fclose
4714+
4715+Use method C<IO::Handle::close()> instead, or see L<perlfunc/close>.
4716+
4717+=item fcntl
4718+
4719+This is identical to Perl's builtin C<fcntl()> function,
4720+see L<perlfunc/fcntl>.
4721+
4722+=item fdopen
4723+
4724+Use method C<IO::Handle::new_from_fd()> instead, or see L<perlfunc/open>.
4725+
4726+=item feof
4727+
4728+Use method C<IO::Handle::eof()> instead, or see L<perlfunc/eof>.
4729+
4730+=item ferror
4731+
4732+Use method C<IO::Handle::error()> instead.
4733+
4734+=item fflush
4735+
4736+Use method C<IO::Handle::flush()> instead.
4737+See also L<perlvar/$OUTPUT_AUTOFLUSH>.
4738+
4739+=item fgetc
4740+
4741+Use method C<IO::Handle::getc()> instead, or see L<perlfunc/read>.
4742+
4743+=item fgetpos
4744+
4745+Use method C<IO::Seekable::getpos()> instead, or see L<L/seek>.
4746+
4747+=item fgets
4748+
4749+Use method C<IO::Handle::gets()> instead. Similar to E<lt>E<gt>, also known
4750+as L<perlfunc/readline>.
4751+
4752+=item fileno
4753+
4754+Use method C<IO::Handle::fileno()> instead, or see L<perlfunc/fileno>.
4755+
4756+=item floor
4757+
4758+This is identical to the C function C<floor()>, returning the largest
4759+integer value less than or equal to the numerical argument.
4760+
4761+=item fmod
4762+
4763+This is identical to the C function C<fmod()>.
4764+
4765+ $r = fmod($x, $y);
4766+
4767+It returns the remainder C<$r = $x - $n*$y>, where C<$n = trunc($x/$y)>.
4768+The C<$r> has the same sign as C<$x> and magnitude (absolute value)
4769+less than the magnitude of C<$y>.
4770+
4771+=item fopen
4772+
4773+Use method C<IO::File::open()> instead, or see L<perlfunc/open>.
4774+
4775+=item fork
4776+
4777+This is identical to Perl's builtin C<fork()> function
4778+for duplicating the current process, see L<perlfunc/fork>
4779+and L<perlfork> if you are in Windows.
4780+
4781+=item fpathconf
4782+
4783+Retrieves the value of a configurable limit on a file or directory. This
4784+uses file descriptors such as those obtained by calling C<POSIX::open>.
4785+
4786+The following will determine the maximum length of the longest allowable
4787+pathname on the filesystem which holds C</var/foo>.
4788+
4789+ $fd = POSIX::open( "/var/foo", &POSIX::O_RDONLY );
4790+ $path_max = POSIX::fpathconf( $fd, &POSIX::_PC_PATH_MAX );
4791+
4792+Returns C<undef> on failure.
4793+
4794+=item fprintf
4795+
4796+fprintf() is C-specific, see L<perlfunc/printf> instead.
4797+
4798+=item fputc
4799+
4800+fputc() is C-specific, see L<perlfunc/print> instead.
4801+
4802+=item fputs
4803+
4804+fputs() is C-specific, see L<perlfunc/print> instead.
4805+
4806+=item fread
4807+
4808+fread() is C-specific, see L<perlfunc/read> instead.
4809+
4810+=item free
4811+
4812+free() is C-specific. Perl does memory management transparently.
4813+
4814+=item freopen
4815+
4816+freopen() is C-specific, see L<perlfunc/open> instead.
4817+
4818+=item frexp
4819+
4820+Return the mantissa and exponent of a floating-point number.
4821+
4822+ ($mantissa, $exponent) = POSIX::frexp( 1.234e56 );
4823+
4824+=item fscanf
4825+
4826+fscanf() is C-specific, use E<lt>E<gt> and regular expressions instead.
4827+
4828+=item fseek
4829+
4830+Use method C<IO::Seekable::seek()> instead, or see L<perlfunc/seek>.
4831+
4832+=item fsetpos
4833+
4834+Use method C<IO::Seekable::setpos()> instead, or seek L<perlfunc/seek>.
4835+
4836+=item fstat
4837+
4838+Get file status. This uses file descriptors such as those obtained by
4839+calling C<POSIX::open>. The data returned is identical to the data from
4840+Perl's builtin C<stat> function.
4841+
4842+ $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
4843+ @stats = POSIX::fstat( $fd );
4844+
4845+=item fsync
4846+
4847+Use method C<IO::Handle::sync()> instead.
4848+
4849+=item ftell
4850+
4851+Use method C<IO::Seekable::tell()> instead, or see L<perlfunc/tell>.
4852+
4853+=item fwrite
4854+
4855+fwrite() is C-specific, see L<perlfunc/print> instead.
4856+
4857+=item getc
4858+
4859+This is identical to Perl's builtin C<getc()> function,
4860+see L<perlfunc/getc>.
4861+
4862+=item getchar
4863+
4864+Returns one character from STDIN. Identical to Perl's C<getc()>,
4865+see L<perlfunc/getc>.
4866+
4867+=item getcwd
4868+
4869+Returns the name of the current working directory.
4870+See also L<Cwd>.
4871+
4872+=item getegid
4873+
4874+Returns the effective group identifier. Similar to Perl' s builtin
4875+variable C<$(>, see L<perlvar/$EGID>.
4876+
4877+=item getenv
4878+
4879+Returns the value of the specified environment variable.
4880+The same information is available through the C<%ENV> array.
4881+
4882+=item geteuid
4883+
4884+Returns the effective user identifier. Identical to Perl's builtin C<$E<gt>>
4885+variable, see L<perlvar/$EUID>.
4886+
4887+=item getgid
4888+
4889+Returns the user's real group identifier. Similar to Perl's builtin
4890+variable C<$)>, see L<perlvar/$GID>.
4891+
4892+=item getgrgid
4893+
4894+This is identical to Perl's builtin C<getgrgid()> function for
4895+returning group entries by group identifiers, see
4896+L<perlfunc/getgrgid>.
4897+
4898+=item getgrnam
4899+
4900+This is identical to Perl's builtin C<getgrnam()> function for
4901+returning group entries by group names, see L<perlfunc/getgrnam>.
4902+
4903+=item getgroups
4904+
4905+Returns the ids of the user's supplementary groups. Similar to Perl's
4906+builtin variable C<$)>, see L<perlvar/$GID>.
4907+
4908+=item getlogin
4909+
4910+This is identical to Perl's builtin C<getlogin()> function for
4911+returning the user name associated with the current session, see
4912+L<perlfunc/getlogin>.
4913+
4914+=item getpgrp
4915+
4916+This is identical to Perl's builtin C<getpgrp()> function for
4917+returning the process group identifier of the current process, see
4918+L<perlfunc/getpgrp>.
4919+
4920+=item getpid
4921+
4922+Returns the process identifier. Identical to Perl's builtin
4923+variable C<$$>, see L<perlvar/$PID>.
4924+
4925+=item getppid
4926+
4927+This is identical to Perl's builtin C<getppid()> function for
4928+returning the process identifier of the parent process of the current
4929+process , see L<perlfunc/getppid>.
4930+
4931+=item getpwnam
4932+
4933+This is identical to Perl's builtin C<getpwnam()> function for
4934+returning user entries by user names, see L<perlfunc/getpwnam>.
4935+
4936+=item getpwuid
4937+
4938+This is identical to Perl's builtin C<getpwuid()> function for
4939+returning user entries by user identifiers, see L<perlfunc/getpwuid>.
4940+
4941+=item gets
4942+
4943+Returns one line from C<STDIN>, similar to E<lt>E<gt>, also known
4944+as the C<readline()> function, see L<perlfunc/readline>.
4945+
4946+B<NOTE>: if you have C programs that still use C<gets()>, be very
4947+afraid. The C<gets()> function is a source of endless grief because
4948+it has no buffer overrun checks. It should B<never> be used. The
4949+C<fgets()> function should be preferred instead.
4950+
4951+=item getuid
4952+
4953+Returns the user's identifier. Identical to Perl's builtin C<$E<lt>> variable,
4954+see L<perlvar/$UID>.
4955+
4956+=item gmtime
4957+
4958+This is identical to Perl's builtin C<gmtime()> function for
4959+converting seconds since the epoch to a date in Greenwich Mean Time,
4960+see L<perlfunc/gmtime>.
4961+
4962+=item isalnum
4963+
4964+This is identical to the C function, except that it can apply to a
4965+single character or to a whole string. Note that locale settings may
4966+affect what characters are considered C<isalnum>. Does not work on
4967+Unicode characters code point 256 or higher. Consider using regular
4968+expressions and the C</[[:alnum:]]/> construct instead, or possibly
4969+the C</\w/> construct.
4970+
4971+=item isalpha
4972+
4973+This is identical to the C function, except that it can apply to
4974+a single character or to a whole string. Note that locale settings
4975+may affect what characters are considered C<isalpha>. Does not work
4976+on Unicode characters code point 256 or higher. Consider using regular
4977+expressions and the C</[[:alpha:]]/> construct instead.
4978+
4979+=item isatty
4980+
4981+Returns a boolean indicating whether the specified filehandle is connected
4982+to a tty. Similar to the C<-t> operator, see L<perlfunc/-X>.
4983+
4984+=item iscntrl
4985+
4986+This is identical to the C function, except that it can apply to
4987+a single character or to a whole string. Note that locale settings
4988+may affect what characters are considered C<iscntrl>. Does not work
4989+on Unicode characters code point 256 or higher. Consider using regular
4990+expressions and the C</[[:cntrl:]]/> construct instead.
4991+
4992+=item isdigit
4993+
4994+This is identical to the C function, except that it can apply to
4995+a single character or to a whole string. Note that locale settings
4996+may affect what characters are considered C<isdigit> (unlikely, but
4997+still possible). Does not work on Unicode characters code point 256
4998+or higher. Consider using regular expressions and the C</[[:digit:]]/>
4999+construct instead, or the C</\d/> construct.
5000+
5001+=item isgraph
5002+
5003+This is identical to the C function, except that it can apply to
5004+a single character or to a whole string. Note that locale settings
5005+may affect what characters are considered C<isgraph>. Does not work
5006+on Unicode characters code point 256 or higher. Consider using regular
5007+expressions and the C</[[:graph:]]/> construct instead.
5008+
5009+=item islower
5010+
5011+This is identical to the C function, except that it can apply to
5012+a single character or to a whole string. Note that locale settings
5013+may affect what characters are considered C<islower>. Does not work
5014+on Unicode characters code point 256 or higher. Consider using regular
5015+expressions and the C</[[:lower:]]/> construct instead. Do B<not> use
5016+C</[a-z]/>.
5017+
5018+=item isprint
5019+
5020+This is identical to the C function, except that it can apply to
5021+a single character or to a whole string. Note that locale settings
5022+may affect what characters are considered C<isprint>. Does not work
5023+on Unicode characters code point 256 or higher. Consider using regular
5024+expressions and the C</[[:print:]]/> construct instead.
5025+
5026+=item ispunct
5027+
5028+This is identical to the C function, except that it can apply to
5029+a single character or to a whole string. Note that locale settings
5030+may affect what characters are considered C<ispunct>. Does not work
5031+on Unicode characters code point 256 or higher. Consider using regular
5032+expressions and the C</[[:punct:]]/> construct instead.
5033+
5034+=item isspace
5035+
5036+This is identical to the C function, except that it can apply to
5037+a single character or to a whole string. Note that locale settings
5038+may affect what characters are considered C<isspace>. Does not work
5039+on Unicode characters code point 256 or higher. Consider using regular
5040+expressions and the C</[[:space:]]/> construct instead, or the C</\s/>
5041+construct. (Note that C</\s/> and C</[[:space:]]/> are slightly
5042+different in that C</[[:space:]]/> can normally match a vertical tab,
5043+while C</\s/> does not.)
5044+
5045+=item isupper
5046+
5047+This is identical to the C function, except that it can apply to
5048+a single character or to a whole string. Note that locale settings
5049+may affect what characters are considered C<isupper>. Does not work
5050+on Unicode characters code point 256 or higher. Consider using regular
5051+expressions and the C</[[:upper:]]/> construct instead. Do B<not> use
5052+C</[A-Z]/>.
5053+
5054+=item isxdigit
5055+
5056+This is identical to the C function, except that it can apply to a single
5057+character or to a whole string. Note that locale settings may affect what
5058+characters are considered C<isxdigit> (unlikely, but still possible).
5059+Does not work on Unicode characters code point 256 or higher.
5060+Consider using regular expressions and the C</[[:xdigit:]]/>
5061+construct instead, or simply C</[0-9a-f]/i>.
5062+
5063+=item kill
5064+
5065+This is identical to Perl's builtin C<kill()> function for sending
5066+signals to processes (often to terminate them), see L<perlfunc/kill>.
5067+
5068+=item labs
5069+
5070+(For returning absolute values of long integers.)
5071+labs() is C-specific, see L<perlfunc/abs> instead.
5072+
5073+=item lchown
5074+
5075+This is identical to the C function, except the order of arguments is
5076+consistent with Perl's builtin C<chown()> with the added restriction
5077+of only one path, not an list of paths. Does the same thing as the
5078+C<chown()> function but changes the owner of a symbolic link instead
5079+of the file the symbolic link points to.
5080+
5081+=item ldexp
5082+
5083+This is identical to the C function C<ldexp()>
5084+for multiplying floating point numbers with powers of two.
5085+
5086+ $x_quadrupled = POSIX::ldexp($x, 2);
5087+
5088+=item ldiv
5089+
5090+(For computing dividends of long integers.)
5091+ldiv() is C-specific, use C</> and C<int()> instead.
5092+
5093+=item link
5094+
5095+This is identical to Perl's builtin C<link()> function
5096+for creating hard links into files, see L<perlfunc/link>.
5097+
5098+=item localeconv
5099+
5100+Get numeric formatting information. Returns a reference to a hash
5101+containing the current locale formatting values.
5102+
5103+Here is how to query the database for the B<de> (Deutsch or German) locale.
5104+
5105+ $loc = POSIX::setlocale( &POSIX::LC_ALL, "de" );
5106+ print "Locale = $loc\n";
5107+ $lconv = POSIX::localeconv();
5108+ print "decimal_point = ", $lconv->{decimal_point}, "\n";
5109+ print "thousands_sep = ", $lconv->{thousands_sep}, "\n";
5110+ print "grouping = ", $lconv->{grouping}, "\n";
5111+ print "int_curr_symbol = ", $lconv->{int_curr_symbol}, "\n";
5112+ print "currency_symbol = ", $lconv->{currency_symbol}, "\n";
5113+ print "mon_decimal_point = ", $lconv->{mon_decimal_point}, "\n";
5114+ print "mon_thousands_sep = ", $lconv->{mon_thousands_sep}, "\n";
5115+ print "mon_grouping = ", $lconv->{mon_grouping}, "\n";
5116+ print "positive_sign = ", $lconv->{positive_sign}, "\n";
5117+ print "negative_sign = ", $lconv->{negative_sign}, "\n";
5118+ print "int_frac_digits = ", $lconv->{int_frac_digits}, "\n";
5119+ print "frac_digits = ", $lconv->{frac_digits}, "\n";
5120+ print "p_cs_precedes = ", $lconv->{p_cs_precedes}, "\n";
5121+ print "p_sep_by_space = ", $lconv->{p_sep_by_space}, "\n";
5122+ print "n_cs_precedes = ", $lconv->{n_cs_precedes}, "\n";
5123+ print "n_sep_by_space = ", $lconv->{n_sep_by_space}, "\n";
5124+ print "p_sign_posn = ", $lconv->{p_sign_posn}, "\n";
5125+ print "n_sign_posn = ", $lconv->{n_sign_posn}, "\n";
5126+
5127+=item localtime
5128+
5129+This is identical to Perl's builtin C<localtime()> function for
5130+converting seconds since the epoch to a date see L<perlfunc/localtime>.
5131+
5132+=item log
5133+
5134+This is identical to Perl's builtin C<log()> function,
5135+returning the natural (I<e>-based) logarithm of the numerical argument,
5136+see L<perlfunc/log>.
5137+
5138+=item log10
5139+
5140+This is identical to the C function C<log10()>,
5141+returning the 10-base logarithm of the numerical argument.
5142+You can also use
5143+
5144+ sub log10 { log($_[0]) / log(10) }
5145+
5146+or
5147+
5148+ sub log10 { log($_[0]) / 2.30258509299405 }
5149+
5150+or
5151+
5152+ sub log10 { log($_[0]) * 0.434294481903252 }
5153+
5154+=item longjmp
5155+
5156+longjmp() is C-specific: use L<perlfunc/die> instead.
5157+
5158+=item lseek
5159+
5160+Move the file's read/write position. This uses file descriptors such as
5161+those obtained by calling C<POSIX::open>.
5162+
5163+ $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
5164+ $off_t = POSIX::lseek( $fd, 0, &POSIX::SEEK_SET );
5165+
5166+Returns C<undef> on failure.
5167+
5168+=item malloc
5169+
5170+malloc() is C-specific. Perl does memory management transparently.
5171+
5172+=item mblen
5173+
5174+This is identical to the C function C<mblen()>.
5175+Perl does not have any support for the wide and multibyte
5176+characters of the C standards, so this might be a rather
5177+useless function.
5178+
5179+=item mbstowcs
5180+
5181+This is identical to the C function C<mbstowcs()>.
5182+Perl does not have any support for the wide and multibyte
5183+characters of the C standards, so this might be a rather
5184+useless function.
5185+
5186+=item mbtowc
5187+
5188+This is identical to the C function C<mbtowc()>.
5189+Perl does not have any support for the wide and multibyte
5190+characters of the C standards, so this might be a rather
5191+useless function.
5192+
5193+=item memchr
5194+
5195+memchr() is C-specific, see L<perlfunc/index> instead.
5196+
5197+=item memcmp
5198+
5199+memcmp() is C-specific, use C<eq> instead, see L<perlop>.
5200+
5201+=item memcpy
5202+
5203+memcpy() is C-specific, use C<=>, see L<perlop>, or see L<perlfunc/substr>.
5204+
5205+=item memmove
5206+
5207+memmove() is C-specific, use C<=>, see L<perlop>, or see L<perlfunc/substr>.
5208+
5209+=item memset
5210+
5211+memset() is C-specific, use C<x> instead, see L<perlop>.
5212+
5213+=item mkdir
5214+
5215+This is identical to Perl's builtin C<mkdir()> function
5216+for creating directories, see L<perlfunc/mkdir>.
5217+
5218+=item mkfifo
5219+
5220+This is similar to the C function C<mkfifo()> for creating
5221+FIFO special files.
5222+
5223+ if (mkfifo($path, $mode)) { ....
5224+
5225+Returns C<undef> on failure. The C<$mode> is similar to the
5226+mode of C<mkdir()>, see L<perlfunc/mkdir>, though for C<mkfifo>
5227+you B<must> specify the C<$mode>.
5228+
5229+=item mktime
5230+
5231+Convert date/time info to a calendar time.
5232+
5233+Synopsis:
5234+
5235+ mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = -1)
5236+
5237+The month (C<mon>), weekday (C<wday>), and yearday (C<yday>) begin at zero.
5238+I.e. January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1. The
5239+year (C<year>) is given in years since 1900. I.e. The year 1995 is 95; the
5240+year 2001 is 101. Consult your system's C<mktime()> manpage for details
5241+about these and the other arguments.
5242+
5243+Calendar time for December 12, 1995, at 10:30 am.
5244+
5245+ $time_t = POSIX::mktime( 0, 30, 10, 12, 11, 95 );
5246+ print "Date = ", POSIX::ctime($time_t);
5247+
5248+Returns C<undef> on failure.
5249+
5250+=item modf
5251+
5252+Return the integral and fractional parts of a floating-point number.
5253+
5254+ ($fractional, $integral) = POSIX::modf( 3.14 );
5255+
5256+=item nice
5257+
5258+This is similar to the C function C<nice()>, for changing
5259+the scheduling preference of the current process. Positive
5260+arguments mean more polite process, negative values more
5261+needy process. Normal user processes can only be more polite.
5262+
5263+Returns C<undef> on failure.
5264+
5265+=item offsetof
5266+
5267+offsetof() is C-specific, you probably want to see L<perlfunc/pack> instead.
5268+
5269+=item open
5270+
5271+Open a file for reading for writing. This returns file descriptors, not
5272+Perl filehandles. Use C<POSIX::close> to close the file.
5273+
5274+Open a file read-only with mode 0666.
5275+
5276+ $fd = POSIX::open( "foo" );
5277+
5278+Open a file for read and write.
5279+
5280+ $fd = POSIX::open( "foo", &POSIX::O_RDWR );
5281+
5282+Open a file for write, with truncation.
5283+
5284+ $fd = POSIX::open( "foo", &POSIX::O_WRONLY | &POSIX::O_TRUNC );
5285+
5286+Create a new file with mode 0640. Set up the file for writing.
5287+
5288+ $fd = POSIX::open( "foo", &POSIX::O_CREAT | &POSIX::O_WRONLY, 0640 );
5289+
5290+Returns C<undef> on failure.
5291+
5292+See also L<perlfunc/sysopen>.
5293+
5294+=item opendir
5295+
5296+Open a directory for reading.
5297+
5298+ $dir = POSIX::opendir( "/var" );
5299+ @files = POSIX::readdir( $dir );
5300+ POSIX::closedir( $dir );
5301+
5302+Returns C<undef> on failure.
5303+
5304+=item pathconf
5305+
5306+Retrieves the value of a configurable limit on a file or directory.
5307+
5308+The following will determine the maximum length of the longest allowable
5309+pathname on the filesystem which holds C</var>.
5310+
5311+ $path_max = POSIX::pathconf( "/var", &POSIX::_PC_PATH_MAX );
5312+
5313+Returns C<undef> on failure.
5314+
5315+=item pause
5316+
5317+This is similar to the C function C<pause()>, which suspends
5318+the execution of the current process until a signal is received.
5319+
5320+Returns C<undef> on failure.
5321+
5322+=item perror
5323+
5324+This is identical to the C function C<perror()>, which outputs to the
5325+standard error stream the specified message followed by ": " and the
5326+current error string. Use the C<warn()> function and the C<$!>
5327+variable instead, see L<perlfunc/warn> and L<perlvar/$ERRNO>.
5328+
5329+=item pipe
5330+
5331+Create an interprocess channel. This returns file descriptors like those
5332+returned by C<POSIX::open>.
5333+
5334+ my ($read, $write) = POSIX::pipe();
5335+ POSIX::write( $write, "hello", 5 );
5336+ POSIX::read( $read, $buf, 5 );
5337+
5338+See also L<perlfunc/pipe>.
5339+
5340+=item pow
5341+
5342+Computes C<$x> raised to the power C<$exponent>.
5343+
5344+ $ret = POSIX::pow( $x, $exponent );
5345+
5346+You can also use the C<**> operator, see L<perlop>.
5347+
5348+=item printf
5349+
5350+Formats and prints the specified arguments to STDOUT.
5351+See also L<perlfunc/printf>.
5352+
5353+=item putc
5354+
5355+putc() is C-specific, see L<perlfunc/print> instead.
5356+
5357+=item putchar
5358+
5359+putchar() is C-specific, see L<perlfunc/print> instead.
5360+
5361+=item puts
5362+
5363+puts() is C-specific, see L<perlfunc/print> instead.
5364+
5365+=item qsort
5366+
5367+qsort() is C-specific, see L<perlfunc/sort> instead.
5368+
5369+=item raise
5370+
5371+Sends the specified signal to the current process.
5372+See also L<perlfunc/kill> and the C<$$> in L<perlvar/$PID>.
5373+
5374+=item rand
5375+
5376+C<rand()> is non-portable, see L<perlfunc/rand> instead.
5377+
5378+=item read
5379+
5380+Read from a file. This uses file descriptors such as those obtained by
5381+calling C<POSIX::open>. If the buffer C<$buf> is not large enough for the
5382+read then Perl will extend it to make room for the request.
5383+
5384+ $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
5385+ $bytes = POSIX::read( $fd, $buf, 3 );
5386+
5387+Returns C<undef> on failure.
5388+
5389+See also L<perlfunc/sysread>.
5390+
5391+=item readdir
5392+
5393+This is identical to Perl's builtin C<readdir()> function
5394+for reading directory entries, see L<perlfunc/readdir>.
5395+
5396+=item realloc
5397+
5398+realloc() is C-specific. Perl does memory management transparently.
5399+
5400+=item remove
5401+
5402+This is identical to Perl's builtin C<unlink()> function
5403+for removing files, see L<perlfunc/unlink>.
5404+
5405+=item rename
5406+
5407+This is identical to Perl's builtin C<rename()> function
5408+for renaming files, see L<perlfunc/rename>.
5409+
5410+=item rewind
5411+
5412+Seeks to the beginning of the file.
5413+
5414+=item rewinddir
5415+
5416+This is identical to Perl's builtin C<rewinddir()> function for
5417+rewinding directory entry streams, see L<perlfunc/rewinddir>.
5418+
5419+=item rmdir
5420+
5421+This is identical to Perl's builtin C<rmdir()> function
5422+for removing (empty) directories, see L<perlfunc/rmdir>.
5423+
5424+=item scanf
5425+
5426+scanf() is C-specific, use E<lt>E<gt> and regular expressions instead,
5427+see L<perlre>.
5428+
5429+=item setgid
5430+
5431+Sets the real group identifier and the effective group identifier for
5432+this process. Similar to assigning a value to the Perl's builtin
5433+C<$)> variable, see L<perlvar/$EGID>, except that the latter
5434+will change only the real user identifier, and that the setgid()
5435+uses only a single numeric argument, as opposed to a space-separated
5436+list of numbers.
5437+
5438+=item setjmp
5439+
5440+C<setjmp()> is C-specific: use C<eval {}> instead,
5441+see L<perlfunc/eval>.
5442+
5443+=item setlocale
5444+
5445+Modifies and queries program's locale. The following examples assume
5446+
5447+ use POSIX qw(setlocale LC_ALL LC_CTYPE);
5448+
5449+has been issued.
5450+
5451+The following will set the traditional UNIX system locale behavior
5452+(the second argument C<"C">).
5453+
5454+ $loc = setlocale( LC_ALL, "C" );
5455+
5456+The following will query the current LC_CTYPE category. (No second
5457+argument means 'query'.)
5458+
5459+ $loc = setlocale( LC_CTYPE );
5460+
5461+The following will set the LC_CTYPE behaviour according to the locale
5462+environment variables (the second argument C<"">).
5463+Please see your systems C<setlocale(3)> documentation for the locale
5464+environment variables' meaning or consult L<perllocale>.
5465+
5466+ $loc = setlocale( LC_CTYPE, "" );
5467+
5468+The following will set the LC_COLLATE behaviour to Argentinian
5469+Spanish. B<NOTE>: The naming and availability of locales depends on
5470+your operating system. Please consult L<perllocale> for how to find
5471+out which locales are available in your system.
5472+
5473+ $loc = setlocale( LC_COLLATE, "es_AR.ISO8859-1" );
5474+
5475+=item setpgid
5476+
5477+This is similar to the C function C<setpgid()> for
5478+setting the process group identifier of the current process.
5479+
5480+Returns C<undef> on failure.
5481+
5482+=item setsid
5483+
5484+This is identical to the C function C<setsid()> for
5485+setting the session identifier of the current process.
5486+
5487+=item setuid
5488+
5489+Sets the real user identifier and the effective user identifier for
5490+this process. Similar to assigning a value to the Perl's builtin
5491+C<$E<lt>> variable, see L<perlvar/$UID>, except that the latter
5492+will change only the real user identifier.
5493+
5494+=item sigaction
5495+
5496+Detailed signal management. This uses C<POSIX::SigAction> objects for
5497+the C<action> and C<oldaction> arguments (the oldaction can also be
5498+just a hash reference). Consult your system's C<sigaction> manpage
5499+for details, see also C<POSIX::SigRt>.
5500+
5501+Synopsis:
5502+
5503+ sigaction(signal, action, oldaction = 0)
5504+
5505+Returns C<undef> on failure. The C<signal> must be a number (like
5506+SIGHUP), not a string (like "SIGHUP"), though Perl does try hard
5507+to understand you.
5508+
5509+If you use the SA_SIGINFO flag, the signal handler will in addition to
5510+the first argument, the signal name, also receive a second argument, a
5511+hash reference, inside which are the following keys with the following
5512+semantics, as defined by POSIX/SUSv3:
5513+
5514+ signo the signal number
5515+ errno the error number
5516+ code if this is zero or less, the signal was sent by
5517+ a user process and the uid and pid make sense,
5518+ otherwise the signal was sent by the kernel
5519+
5520+The following are also defined by POSIX/SUSv3, but unfortunately
5521+not very widely implemented:
5522+
5523+ pid the process id generating the signal
5524+ uid the uid of the process id generating the signal
5525+ status exit value or signal for SIGCHLD
5526+ band band event for SIGPOLL
5527+
5528+A third argument is also passed to the handler, which contains a copy
5529+of the raw binary contents of the siginfo structure: if a system has
5530+some non-POSIX fields, this third argument is where to unpack() them
5531+from.
5532+
5533+Note that not all siginfo values make sense simultaneously (some are
5534+valid only for certain signals, for example), and not all values make
5535+sense from Perl perspective, you should to consult your system's
5536+C<sigaction> and possibly also C<siginfo> documentation.
5537+
5538+=item siglongjmp
5539+
5540+siglongjmp() is C-specific: use L<perlfunc/die> instead.
5541+
5542+=item sigpending
5543+
5544+Examine signals that are blocked and pending. This uses C<POSIX::SigSet>
5545+objects for the C<sigset> argument. Consult your system's C<sigpending>
5546+manpage for details.
5547+
5548+Synopsis:
5549+
5550+ sigpending(sigset)
5551+
5552+Returns C<undef> on failure.
5553+
5554+=item sigprocmask
5555+
5556+Change and/or examine calling process's signal mask. This uses
5557+C<POSIX::SigSet> objects for the C<sigset> and C<oldsigset> arguments.
5558+Consult your system's C<sigprocmask> manpage for details.
5559+
5560+Synopsis:
5561+
5562+ sigprocmask(how, sigset, oldsigset = 0)
5563+
5564+Returns C<undef> on failure.
5565+
5566+=item sigsetjmp
5567+
5568+C<sigsetjmp()> is C-specific: use C<eval {}> instead,
5569+see L<perlfunc/eval>.
5570+
5571+=item sigsuspend
5572+
5573+Install a signal mask and suspend process until signal arrives. This uses
5574+C<POSIX::SigSet> objects for the C<signal_mask> argument. Consult your
5575+system's C<sigsuspend> manpage for details.
5576+
5577+Synopsis:
5578+
5579+ sigsuspend(signal_mask)
5580+
5581+Returns C<undef> on failure.
5582+
5583+=item sin
5584+
5585+This is identical to Perl's builtin C<sin()> function
5586+for returning the sine of the numerical argument,
5587+see L<perlfunc/sin>. See also L<Math::Trig>.
5588+
5589+=item sinh
5590+
5591+This is identical to the C function C<sinh()>
5592+for returning the hyperbolic sine of the numerical argument.
5593+See also L<Math::Trig>.
5594+
5595+=item sleep
5596+
5597+This is functionally identical to Perl's builtin C<sleep()> function
5598+for suspending the execution of the current for process for certain
5599+number of seconds, see L<perlfunc/sleep>. There is one significant
5600+difference, however: C<POSIX::sleep()> returns the number of
5601+B<unslept> seconds, while the C<CORE::sleep()> returns the
5602+number of slept seconds.
5603+
5604+=item sprintf
5605+
5606+This is similar to Perl's builtin C<sprintf()> function
5607+for returning a string that has the arguments formatted as requested,
5608+see L<perlfunc/sprintf>.
5609+
5610+=item sqrt
5611+
5612+This is identical to Perl's builtin C<sqrt()> function.
5613+for returning the square root of the numerical argument,
5614+see L<perlfunc/sqrt>.
5615+
5616+=item srand
5617+
5618+Give a seed the pseudorandom number generator, see L<perlfunc/srand>.
5619+
5620+=item sscanf
5621+
5622+sscanf() is C-specific, use regular expressions instead,
5623+see L<perlre>.
5624+
5625+=item stat
5626+
5627+This is identical to Perl's builtin C<stat()> function
5628+for returning information about files and directories.
5629+
5630+=item strcat
5631+
5632+strcat() is C-specific, use C<.=> instead, see L<perlop>.
5633+
5634+=item strchr
5635+
5636+strchr() is C-specific, see L<perlfunc/index> instead.
5637+
5638+=item strcmp
5639+
5640+strcmp() is C-specific, use C<eq> or C<cmp> instead, see L<perlop>.
5641+
5642+=item strcoll
5643+
5644+This is identical to the C function C<strcoll()>
5645+for collating (comparing) strings transformed using
5646+the C<strxfrm()> function. Not really needed since
5647+Perl can do this transparently, see L<perllocale>.
5648+
5649+=item strcpy
5650+
5651+strcpy() is C-specific, use C<=> instead, see L<perlop>.
5652+
5653+=item strcspn
5654+
5655+strcspn() is C-specific, use regular expressions instead,
5656+see L<perlre>.
5657+
5658+=item strerror
5659+
5660+Returns the error string for the specified errno.
5661+Identical to the string form of the C<$!>, see L<perlvar/$ERRNO>.
5662+
5663+=item strftime
5664+
5665+Convert date and time information to string. Returns the string.
5666+
5667+Synopsis:
5668+
5669+ strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1)
5670+
5671+The month (C<mon>), weekday (C<wday>), and yearday (C<yday>) begin at zero.
5672+I.e. January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1. The
5673+year (C<year>) is given in years since 1900. I.e., the year 1995 is 95; the
5674+year 2001 is 101. Consult your system's C<strftime()> manpage for details
5675+about these and the other arguments.
5676+
5677+If you want your code to be portable, your format (C<fmt>) argument
5678+should use only the conversion specifiers defined by the ANSI C
5679+standard (C89, to play safe). These are C<aAbBcdHIjmMpSUwWxXyYZ%>.
5680+But even then, the B<results> of some of the conversion specifiers are
5681+non-portable. For example, the specifiers C<aAbBcpZ> change according
5682+to the locale settings of the user, and both how to set locales (the
5683+locale names) and what output to expect are non-standard.
5684+The specifier C<c> changes according to the timezone settings of the
5685+user and the timezone computation rules of the operating system.
5686+The C<Z> specifier is notoriously unportable since the names of
5687+timezones are non-standard. Sticking to the numeric specifiers is the
5688+safest route.
5689+
5690+The given arguments are made consistent as though by calling
5691+C<mktime()> before calling your system's C<strftime()> function,
5692+except that the C<isdst> value is not affected.
5693+
5694+The string for Tuesday, December 12, 1995.
5695+
5696+ $str = POSIX::strftime( "%A, %B %d, %Y", 0, 0, 0, 12, 11, 95, 2 );
5697+ print "$str\n";
5698+
5699+=item strlen
5700+
5701+strlen() is C-specific, use C<length()> instead, see L<perlfunc/length>.
5702+
5703+=item strncat
5704+
5705+strncat() is C-specific, use C<.=> instead, see L<perlop>.
5706+
5707+=item strncmp
5708+
5709+strncmp() is C-specific, use C<eq> instead, see L<perlop>.
5710+
5711+=item strncpy
5712+
5713+strncpy() is C-specific, use C<=> instead, see L<perlop>.
5714+
5715+=item strpbrk
5716+
5717+strpbrk() is C-specific, use regular expressions instead,
5718+see L<perlre>.
5719+
5720+=item strrchr
5721+
5722+strrchr() is C-specific, see L<perlfunc/rindex> instead.
5723+
5724+=item strspn
5725+
5726+strspn() is C-specific, use regular expressions instead,
5727+see L<perlre>.
5728+
5729+=item strstr
5730+
5731+This is identical to Perl's builtin C<index()> function,
5732+see L<perlfunc/index>.
5733+
5734+=item strtod
5735+
5736+String to double translation. Returns the parsed number and the number
5737+of characters in the unparsed portion of the string. Truly
5738+POSIX-compliant systems set $! ($ERRNO) to indicate a translation
5739+error, so clear $! before calling strtod. However, non-POSIX systems
5740+may not check for overflow, and therefore will never set $!.
5741+
5742+strtod should respect any POSIX I<setlocale()> settings.
5743+
5744+To parse a string $str as a floating point number use
5745+
5746+ $! = 0;
5747+ ($num, $n_unparsed) = POSIX::strtod($str);
5748+
5749+The second returned item and $! can be used to check for valid input:
5750+
5751+ if (($str eq '') || ($n_unparsed != 0) || $!) {
5752+ die "Non-numeric input $str" . ($! ? ": $!\n" : "\n");
5753+ }
5754+
5755+When called in a scalar context strtod returns the parsed number.
5756+
5757+=item strtok
5758+
5759+strtok() is C-specific, use regular expressions instead, see
5760+L<perlre>, or L<perlfunc/split>.
5761+
5762+=item strtol
5763+
5764+String to (long) integer translation. Returns the parsed number and
5765+the number of characters in the unparsed portion of the string. Truly
5766+POSIX-compliant systems set $! ($ERRNO) to indicate a translation
5767+error, so clear $! before calling strtol. However, non-POSIX systems
5768+may not check for overflow, and therefore will never set $!.
5769+
5770+strtol should respect any POSIX I<setlocale()> settings.
5771+
5772+To parse a string $str as a number in some base $base use
5773+
5774+ $! = 0;
5775+ ($num, $n_unparsed) = POSIX::strtol($str, $base);
5776+
5777+The base should be zero or between 2 and 36, inclusive. When the base
5778+is zero or omitted strtol will use the string itself to determine the
5779+base: a leading "0x" or "0X" means hexadecimal; a leading "0" means
5780+octal; any other leading characters mean decimal. Thus, "1234" is
5781+parsed as a decimal number, "01234" as an octal number, and "0x1234"
5782+as a hexadecimal number.
5783+
5784+The second returned item and $! can be used to check for valid input:
5785+
5786+ if (($str eq '') || ($n_unparsed != 0) || !$!) {
5787+ die "Non-numeric input $str" . $! ? ": $!\n" : "\n";
5788+ }
5789+
5790+When called in a scalar context strtol returns the parsed number.
5791+
5792+=item strtoul
5793+
5794+String to unsigned (long) integer translation. strtoul() is identical
5795+to strtol() except that strtoul() only parses unsigned integers. See
5796+L</strtol> for details.
5797+
5798+Note: Some vendors supply strtod() and strtol() but not strtoul().
5799+Other vendors that do supply strtoul() parse "-1" as a valid value.
5800+
5801+=item strxfrm
5802+
5803+String transformation. Returns the transformed string.
5804+
5805+ $dst = POSIX::strxfrm( $src );
5806+
5807+Used in conjunction with the C<strcoll()> function, see L</strcoll>.
5808+
5809+Not really needed since Perl can do this transparently, see
5810+L<perllocale>.
5811+
5812+=item sysconf
5813+
5814+Retrieves values of system configurable variables.
5815+
5816+The following will get the machine's clock speed.
5817+
5818+ $clock_ticks = POSIX::sysconf( &POSIX::_SC_CLK_TCK );
5819+
5820+Returns C<undef> on failure.
5821+
5822+=item system
5823+
5824+This is identical to Perl's builtin C<system()> function, see
5825+L<perlfunc/system>.
5826+
5827+=item tan
5828+
5829+This is identical to the C function C<tan()>, returning the
5830+tangent of the numerical argument. See also L<Math::Trig>.
5831+
5832+=item tanh
5833+
5834+This is identical to the C function C<tanh()>, returning the
5835+hyperbolic tangent of the numerical argument. See also L<Math::Trig>.
5836+
5837+=item tcdrain
5838+
5839+This is similar to the C function C<tcdrain()> for draining
5840+the output queue of its argument stream.
5841+
5842+Returns C<undef> on failure.
5843+
5844+=item tcflow
5845+
5846+This is similar to the C function C<tcflow()> for controlling
5847+the flow of its argument stream.
5848+
5849+Returns C<undef> on failure.
5850+
5851+=item tcflush
5852+
5853+This is similar to the C function C<tcflush()> for flushing
5854+the I/O buffers of its argument stream.
5855+
5856+Returns C<undef> on failure.
5857+
5858+=item tcgetpgrp
5859+
5860+This is identical to the C function C<tcgetpgrp()> for returning the
5861+process group identifier of the foreground process group of the controlling
5862+terminal.
5863+
5864+=item tcsendbreak
5865+
5866+This is similar to the C function C<tcsendbreak()> for sending
5867+a break on its argument stream.
5868+
5869+Returns C<undef> on failure.
5870+
5871+=item tcsetpgrp
5872+
5873+This is similar to the C function C<tcsetpgrp()> for setting the
5874+process group identifier of the foreground process group of the controlling
5875+terminal.
5876+
5877+Returns C<undef> on failure.
5878+
5879+=item time
5880+
5881+This is identical to Perl's builtin C<time()> function
5882+for returning the number of seconds since the epoch
5883+(whatever it is for the system), see L<perlfunc/time>.
5884+
5885+=item times
5886+
5887+The times() function returns elapsed realtime since some point in the past
5888+(such as system startup), user and system times for this process, and user
5889+and system times used by child processes. All times are returned in clock
5890+ticks.
5891+
5892+ ($realtime, $user, $system, $cuser, $csystem) = POSIX::times();
5893+
5894+Note: Perl's builtin C<times()> function returns four values, measured in
5895+seconds.
5896+
5897+=item tmpfile
5898+
5899+Use method C<IO::File::new_tmpfile()> instead, or see L<File::Temp>.
5900+
5901+=item tmpnam
5902+
5903+Returns a name for a temporary file.
5904+
5905+ $tmpfile = POSIX::tmpnam();
5906+
5907+For security reasons, which are probably detailed in your system's
5908+documentation for the C library tmpnam() function, this interface
5909+should not be used; instead see L<File::Temp>.
5910+
5911+=item tolower
5912+
5913+This is identical to the C function, except that it can apply to a single
5914+character or to a whole string. Consider using the C<lc()> function,
5915+see L<perlfunc/lc>, or the equivalent C<\L> operator inside doublequotish
5916+strings.
5917+
5918+=item toupper
5919+
5920+This is identical to the C function, except that it can apply to a single
5921+character or to a whole string. Consider using the C<uc()> function,
5922+see L<perlfunc/uc>, or the equivalent C<\U> operator inside doublequotish
5923+strings.
5924+
5925+=item ttyname
5926+
5927+This is identical to the C function C<ttyname()> for returning the
5928+name of the current terminal.
5929+
5930+=item tzname
5931+
5932+Retrieves the time conversion information from the C<tzname> variable.
5933+
5934+ POSIX::tzset();
5935+ ($std, $dst) = POSIX::tzname();
5936+
5937+=item tzset
5938+
5939+This is identical to the C function C<tzset()> for setting
5940+the current timezone based on the environment variable C<TZ>,
5941+to be used by C<ctime()>, C<localtime()>, C<mktime()>, and C<strftime()>
5942+functions.
5943+
5944+=item umask
5945+
5946+This is identical to Perl's builtin C<umask()> function
5947+for setting (and querying) the file creation permission mask,
5948+see L<perlfunc/umask>.
5949+
5950+=item uname
5951+
5952+Get name of current operating system.
5953+
5954+ ($sysname, $nodename, $release, $version, $machine) = POSIX::uname();
5955+
5956+Note that the actual meanings of the various fields are not
5957+that well standardized, do not expect any great portability.
5958+The C<$sysname> might be the name of the operating system,
5959+the C<$nodename> might be the name of the host, the C<$release>
5960+might be the (major) release number of the operating system,
5961+the C<$version> might be the (minor) release number of the
5962+operating system, and the C<$machine> might be a hardware identifier.
5963+Maybe.
5964+
5965+=item ungetc
5966+
5967+Use method C<IO::Handle::ungetc()> instead.
5968+
5969+=item unlink
5970+
5971+This is identical to Perl's builtin C<unlink()> function
5972+for removing files, see L<perlfunc/unlink>.
5973+
5974+=item utime
5975+
5976+This is identical to Perl's builtin C<utime()> function
5977+for changing the time stamps of files and directories,
5978+see L<perlfunc/utime>.
5979+
5980+=item vfprintf
5981+
5982+vfprintf() is C-specific, see L<perlfunc/printf> instead.
5983+
5984+=item vprintf
5985+
5986+vprintf() is C-specific, see L<perlfunc/printf> instead.
5987+
5988+=item vsprintf
5989+
5990+vsprintf() is C-specific, see L<perlfunc/sprintf> instead.
5991+
5992+=item wait
5993+
5994+This is identical to Perl's builtin C<wait()> function,
5995+see L<perlfunc/wait>.
5996+
5997+=item waitpid
5998+
5999+Wait for a child process to change state. This is identical to Perl's
6000+builtin C<waitpid()> function, see L<perlfunc/waitpid>.
6001+
6002+ $pid = POSIX::waitpid( -1, POSIX::WNOHANG );
6003+ print "status = ", ($? / 256), "\n";
6004+
6005+=item wcstombs
6006+
6007+This is identical to the C function C<wcstombs()>.
6008+Perl does not have any support for the wide and multibyte
6009+characters of the C standards, so this might be a rather
6010+useless function.
6011+
6012+=item wctomb
6013+
6014+This is identical to the C function C<wctomb()>.
6015+Perl does not have any support for the wide and multibyte
6016+characters of the C standards, so this might be a rather
6017+useless function.
6018+
6019+=item write
6020+
6021+Write to a file. This uses file descriptors such as those obtained by
6022+calling C<POSIX::open>.
6023+
6024+ $fd = POSIX::open( "foo", &POSIX::O_WRONLY );
6025+ $buf = "hello";
6026+ $bytes = POSIX::write( $fd, $buf, 5 );
6027+
6028+Returns C<undef> on failure.
6029+
6030+See also L<perlfunc/syswrite>.
6031+
6032+=back
6033+
6034+=head1 CLASSES
6035+
6036+=head2 POSIX::SigAction
6037+
6038+=over 8
6039+
6040+=item new
6041+
6042+Creates a new C<POSIX::SigAction> object which corresponds to the C
6043+C<struct sigaction>. This object will be destroyed automatically when
6044+it is no longer needed. The first parameter is the handler, a sub
6045+reference. The second parameter is a C<POSIX::SigSet> object, it
6046+defaults to the empty set. The third parameter contains the
6047+C<sa_flags>, it defaults to 0.
6048+
6049+ $sigset = POSIX::SigSet->new(SIGINT, SIGQUIT);
6050+ $sigaction = POSIX::SigAction->new( \&handler, $sigset, &POSIX::SA_NOCLDSTOP );
6051+
6052+This C<POSIX::SigAction> object is intended for use with the C<POSIX::sigaction()>
6053+function.
6054+
6055+=back
6056+
6057+=over 8
6058+
6059+=item handler
6060+
6061+=item mask
6062+
6063+=item flags
6064+
6065+accessor functions to get/set the values of a SigAction object.
6066+
6067+ $sigset = $sigaction->mask;
6068+ $sigaction->flags(&POSIX::SA_RESTART);
6069+
6070+=item safe
6071+
6072+accessor function for the "safe signals" flag of a SigAction object; see
6073+L<perlipc> for general information on safe (a.k.a. "deferred") signals. If
6074+you wish to handle a signal safely, use this accessor to set the "safe" flag
6075+in the C<POSIX::SigAction> object:
6076+
6077+ $sigaction->safe(1);
6078+
6079+You may also examine the "safe" flag on the output action object which is
6080+filled in when given as the third parameter to C<POSIX::sigaction()>:
6081+
6082+ sigaction(SIGINT, $new_action, $old_action);
6083+ if ($old_action->safe) {
6084+ # previous SIGINT handler used safe signals
6085+ }
6086+
6087+=back
6088+
6089+=head2 POSIX::SigRt
6090+
6091+=over 8
6092+
6093+=item %SIGRT
6094+
6095+A hash of the POSIX realtime signal handlers. It is an extension of
6096+the standard %SIG, the $POSIX::SIGRT{SIGRTMIN} is roughly equivalent
6097+to $SIG{SIGRTMIN}, but the right POSIX moves (see below) are made with
6098+the POSIX::SigSet and POSIX::sigaction instead of accessing the %SIG.
6099+
6100+You can set the %POSIX::SIGRT elements to set the POSIX realtime
6101+signal handlers, use C<delete> and C<exists> on the elements, and use
6102+C<scalar> on the C<%POSIX::SIGRT> to find out how many POSIX realtime
6103+signals there are available (SIGRTMAX - SIGRTMIN + 1, the SIGRTMAX is
6104+a valid POSIX realtime signal).
6105+
6106+Setting the %SIGRT elements is equivalent to calling this:
6107+
6108+ sub new {
6109+ my ($rtsig, $handler, $flags) = @_;
6110+ my $sigset = POSIX::SigSet($rtsig);
6111+ my $sigact = POSIX::SigAction->new($handler, $sigset, $flags);
6112+ sigaction($rtsig, $sigact);
6113+ }
6114+
6115+The flags default to zero, if you want something different you can
6116+either use C<local> on $POSIX::SigRt::SIGACTION_FLAGS, or you can
6117+derive from POSIX::SigRt and define your own C<new()> (the tied hash
6118+STORE method of the %SIGRT calls C<new($rtsig, $handler, $SIGACTION_FLAGS)>,
6119+where the $rtsig ranges from zero to SIGRTMAX - SIGRTMIN + 1).
6120+
6121+Just as with any signal, you can use sigaction($rtsig, undef, $oa) to
6122+retrieve the installed signal handler (or, rather, the signal action).
6123+
6124+B<NOTE:> whether POSIX realtime signals really work in your system, or
6125+whether Perl has been compiled so that it works with them, is outside
6126+of this discussion.
6127+
6128+=item SIGRTMIN
6129+
6130+Return the minimum POSIX realtime signal number available, or C<undef>
6131+if no POSIX realtime signals are available.
6132+
6133+=item SIGRTMAX
6134+
6135+Return the maximum POSIX realtime signal number available, or C<undef>
6136+if no POSIX realtime signals are available.
6137+
6138+=back
6139+
6140+=head2 POSIX::SigSet
6141+
6142+=over 8
6143+
6144+=item new
6145+
6146+Create a new SigSet object. This object will be destroyed automatically
6147+when it is no longer needed. Arguments may be supplied to initialize the
6148+set.
6149+
6150+Create an empty set.
6151+
6152+ $sigset = POSIX::SigSet->new;
6153+
6154+Create a set with SIGUSR1.
6155+
6156+ $sigset = POSIX::SigSet->new( &POSIX::SIGUSR1 );
6157+
6158+=item addset
6159+
6160+Add a signal to a SigSet object.
6161+
6162+ $sigset->addset( &POSIX::SIGUSR2 );
6163+
6164+Returns C<undef> on failure.
6165+
6166+=item delset
6167+
6168+Remove a signal from the SigSet object.
6169+
6170+ $sigset->delset( &POSIX::SIGUSR2 );
6171+
6172+Returns C<undef> on failure.
6173+
6174+=item emptyset
6175+
6176+Initialize the SigSet object to be empty.
6177+
6178+ $sigset->emptyset();
6179+
6180+Returns C<undef> on failure.
6181+
6182+=item fillset
6183+
6184+Initialize the SigSet object to include all signals.
6185+
6186+ $sigset->fillset();
6187+
6188+Returns C<undef> on failure.
6189+
6190+=item ismember
6191+
6192+Tests the SigSet object to see if it contains a specific signal.
6193+
6194+ if( $sigset->ismember( &POSIX::SIGUSR1 ) ){
6195+ print "contains SIGUSR1\n";
6196+ }
6197+
6198+=back
6199+
6200+=head2 POSIX::Termios
6201+
6202+=over 8
6203+
6204+=item new
6205+
6206+Create a new Termios object. This object will be destroyed automatically
6207+when it is no longer needed. A Termios object corresponds to the termios
6208+C struct. new() mallocs a new one, getattr() fills it from a file descriptor,
6209+and setattr() sets a file descriptor's parameters to match Termios' contents.
6210+
6211+ $termios = POSIX::Termios->new;
6212+
6213+=item getattr
6214+
6215+Get terminal control attributes.
6216+
6217+Obtain the attributes for stdin.
6218+
6219+ $termios->getattr( 0 ) # Recommended for clarity.
6220+ $termios->getattr()
6221+
6222+Obtain the attributes for stdout.
6223+
6224+ $termios->getattr( 1 )
6225+
6226+Returns C<undef> on failure.
6227+
6228+=item getcc
6229+
6230+Retrieve a value from the c_cc field of a termios object. The c_cc field is
6231+an array so an index must be specified.
6232+
6233+ $c_cc[1] = $termios->getcc(1);
6234+
6235+=item getcflag
6236+
6237+Retrieve the c_cflag field of a termios object.
6238+
6239+ $c_cflag = $termios->getcflag;
6240+
6241+=item getiflag
6242+
6243+Retrieve the c_iflag field of a termios object.
6244+
6245+ $c_iflag = $termios->getiflag;
6246+
6247+=item getispeed
6248+
6249+Retrieve the input baud rate.
6250+
6251+ $ispeed = $termios->getispeed;
6252+
6253+=item getlflag
6254+
6255+Retrieve the c_lflag field of a termios object.
6256+
6257+ $c_lflag = $termios->getlflag;
6258+
6259+=item getoflag
6260+
6261+Retrieve the c_oflag field of a termios object.
6262+
6263+ $c_oflag = $termios->getoflag;
6264+
6265+=item getospeed
6266+
6267+Retrieve the output baud rate.
6268+
6269+ $ospeed = $termios->getospeed;
6270+
6271+=item setattr
6272+
6273+Set terminal control attributes.
6274+
6275+Set attributes immediately for stdout.
6276+
6277+ $termios->setattr( 1, &POSIX::TCSANOW );
6278+
6279+Returns C<undef> on failure.
6280+
6281+=item setcc
6282+
6283+Set a value in the c_cc field of a termios object. The c_cc field is an
6284+array so an index must be specified.
6285+
6286+ $termios->setcc( &POSIX::VEOF, 1 );
6287+
6288+=item setcflag
6289+
6290+Set the c_cflag field of a termios object.
6291+
6292+ $termios->setcflag( $c_cflag | &POSIX::CLOCAL );
6293+
6294+=item setiflag
6295+
6296+Set the c_iflag field of a termios object.
6297+
6298+ $termios->setiflag( $c_iflag | &POSIX::BRKINT );
6299+
6300+=item setispeed
6301+
6302+Set the input baud rate.
6303+
6304+ $termios->setispeed( &POSIX::B9600 );
6305+
6306+Returns C<undef> on failure.
6307+
6308+=item setlflag
6309+
6310+Set the c_lflag field of a termios object.
6311+
6312+ $termios->setlflag( $c_lflag | &POSIX::ECHO );
6313+
6314+=item setoflag
6315+
6316+Set the c_oflag field of a termios object.
6317+
6318+ $termios->setoflag( $c_oflag | &POSIX::OPOST );
6319+
6320+=item setospeed
6321+
6322+Set the output baud rate.
6323+
6324+ $termios->setospeed( &POSIX::B9600 );
6325+
6326+Returns C<undef> on failure.
6327+
6328+=item Baud rate values
6329+
6330+B38400 B75 B200 B134 B300 B1800 B150 B0 B19200 B1200 B9600 B600 B4800 B50 B2400 B110
6331+
6332+=item Terminal interface values
6333+
6334+TCSADRAIN TCSANOW TCOON TCIOFLUSH TCOFLUSH TCION TCIFLUSH TCSAFLUSH TCIOFF TCOOFF
6335+
6336+=item c_cc field values
6337+
6338+VEOF VEOL VERASE VINTR VKILL VQUIT VSUSP VSTART VSTOP VMIN VTIME NCCS
6339+
6340+=item c_cflag field values
6341+
6342+CLOCAL CREAD CSIZE CS5 CS6 CS7 CS8 CSTOPB HUPCL PARENB PARODD
6343+
6344+=item c_iflag field values
6345+
6346+BRKINT ICRNL IGNBRK IGNCR IGNPAR INLCR INPCK ISTRIP IXOFF IXON PARMRK
6347+
6348+=item c_lflag field values
6349+
6350+ECHO ECHOE ECHOK ECHONL ICANON IEXTEN ISIG NOFLSH TOSTOP
6351+
6352+=item c_oflag field values
6353+
6354+OPOST
6355+
6356+=back
6357+
6358+=head1 PATHNAME CONSTANTS
6359+
6360+=over 8
6361+
6362+=item Constants
6363+
6364+_PC_CHOWN_RESTRICTED _PC_LINK_MAX _PC_MAX_CANON _PC_MAX_INPUT _PC_NAME_MAX _PC_NO_TRUNC _PC_PATH_MAX _PC_PIPE_BUF _PC_VDISABLE
6365+
6366+=back
6367+
6368+=head1 POSIX CONSTANTS
6369+
6370+=over 8
6371+
6372+=item Constants
6373+
6374+_POSIX_ARG_MAX _POSIX_CHILD_MAX _POSIX_CHOWN_RESTRICTED _POSIX_JOB_CONTROL _POSIX_LINK_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT _POSIX_NAME_MAX _POSIX_NGROUPS_MAX _POSIX_NO_TRUNC _POSIX_OPEN_MAX _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_SAVED_IDS _POSIX_SSIZE_MAX _POSIX_STREAM_MAX _POSIX_TZNAME_MAX _POSIX_VDISABLE _POSIX_VERSION
6375+
6376+=back
6377+
6378+=head1 SYSTEM CONFIGURATION
6379+
6380+=over 8
6381+
6382+=item Constants
6383+
6384+_SC_ARG_MAX _SC_CHILD_MAX _SC_CLK_TCK _SC_JOB_CONTROL _SC_NGROUPS_MAX _SC_OPEN_MAX _SC_PAGESIZE _SC_SAVED_IDS _SC_STREAM_MAX _SC_TZNAME_MAX _SC_VERSION
6385+
6386+=back
6387+
6388+=head1 ERRNO
6389+
6390+=over 8
6391+
6392+=item Constants
6393+
6394+E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY EBADF
6395+EBUSY ECHILD ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ
6396+EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EINPROGRESS EINTR
6397+EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE ENAMETOOLONG
6398+ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS ENODEV ENOENT ENOEXEC
6399+ENOLCK ENOMEM ENOPROTOOPT ENOSPC ENOSYS ENOTBLK ENOTCONN ENOTDIR
6400+ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM EPFNOSUPPORT EPIPE
6401+EPROCLIM EPROTONOSUPPORT EPROTOTYPE ERANGE EREMOTE ERESTART EROFS
6402+ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS
6403+ETXTBSY EUSERS EWOULDBLOCK EXDEV
6404+
6405+=back
6406+
6407+=head1 FCNTL
6408+
6409+=over 8
6410+
6411+=item Constants
6412+
6413+FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_OK F_RDLCK F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK O_ACCMODE O_APPEND O_CREAT O_EXCL O_NOCTTY O_NONBLOCK O_RDONLY O_RDWR O_TRUNC O_WRONLY
6414+
6415+=back
6416+
6417+=head1 FLOAT
6418+
6419+=over 8
6420+
6421+=item Constants
6422+
6423+DBL_DIG DBL_EPSILON DBL_MANT_DIG DBL_MAX DBL_MAX_10_EXP DBL_MAX_EXP DBL_MIN DBL_MIN_10_EXP DBL_MIN_EXP FLT_DIG FLT_EPSILON FLT_MANT_DIG FLT_MAX FLT_MAX_10_EXP FLT_MAX_EXP FLT_MIN FLT_MIN_10_EXP FLT_MIN_EXP FLT_RADIX FLT_ROUNDS LDBL_DIG LDBL_EPSILON LDBL_MANT_DIG LDBL_MAX LDBL_MAX_10_EXP LDBL_MAX_EXP LDBL_MIN LDBL_MIN_10_EXP LDBL_MIN_EXP
6424+
6425+=back
6426+
6427+=head1 LIMITS
6428+
6429+=over 8
6430+
6431+=item Constants
6432+
6433+ARG_MAX CHAR_BIT CHAR_MAX CHAR_MIN CHILD_MAX INT_MAX INT_MIN LINK_MAX LONG_MAX LONG_MIN MAX_CANON MAX_INPUT MB_LEN_MAX NAME_MAX NGROUPS_MAX OPEN_MAX PATH_MAX PIPE_BUF SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN SSIZE_MAX STREAM_MAX TZNAME_MAX UCHAR_MAX UINT_MAX ULONG_MAX USHRT_MAX
6434+
6435+=back
6436+
6437+=head1 LOCALE
6438+
6439+=over 8
6440+
6441+=item Constants
6442+
6443+LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME
6444+
6445+=back
6446+
6447+=head1 MATH
6448+
6449+=over 8
6450+
6451+=item Constants
6452+
6453+HUGE_VAL
6454+
6455+=back
6456+
6457+=head1 SIGNAL
6458+
6459+=over 8
6460+
6461+=item Constants
6462+
6463+SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK SA_RESETHAND SA_RESTART
6464+SA_SIGINFO SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT
6465+SIGKILL SIGPIPE SIGQUIT SIGSEGV SIGSTOP SIGTERM SIGTSTP SIGTTIN SIGTTOU
6466+SIGUSR1 SIGUSR2 SIG_BLOCK SIG_DFL SIG_ERR SIG_IGN SIG_SETMASK
6467+SIG_UNBLOCK
6468+
6469+=back
6470+
6471+=head1 STAT
6472+
6473+=over 8
6474+
6475+=item Constants
6476+
6477+S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR
6478+
6479+=item Macros
6480+
6481+S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISREG
6482+
6483+=back
6484+
6485+=head1 STDLIB
6486+
6487+=over 8
6488+
6489+=item Constants
6490+
6491+EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX RAND_MAX
6492+
6493+=back
6494+
6495+=head1 STDIO
6496+
6497+=over 8
6498+
6499+=item Constants
6500+
6501+BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid L_tmpname TMP_MAX
6502+
6503+=back
6504+
6505+=head1 TIME
6506+
6507+=over 8
6508+
6509+=item Constants
6510+
6511+CLK_TCK CLOCKS_PER_SEC
6512+
6513+=back
6514+
6515+=head1 UNISTD
6516+
6517+=over 8
6518+
6519+=item Constants
6520+
6521+R_OK SEEK_CUR SEEK_END SEEK_SET STDIN_FILENO STDOUT_FILENO STDERR_FILENO W_OK X_OK
6522+
6523+=back
6524+
6525+=head1 WAIT
6526+
6527+=over 8
6528+
6529+=item Constants
6530+
6531+WNOHANG WUNTRACED
6532+
6533+=over 16
6534+
6535+=item WNOHANG
6536+
6537+Do not suspend the calling process until a child process
6538+changes state but instead return immediately.
6539+
6540+=item WUNTRACED
6541+
6542+Catch stopped child processes.
6543+
6544+=back
6545+
6546+=item Macros
6547+
6548+WIFEXITED WEXITSTATUS WIFSIGNALED WTERMSIG WIFSTOPPED WSTOPSIG
6549+
6550+=over 16
6551+
6552+=item WIFEXITED
6553+
6554+WIFEXITED($?) returns true if the child process exited normally
6555+(C<exit()> or by falling off the end of C<main()>)
6556+
6557+=item WEXITSTATUS
6558+
6559+WEXITSTATUS($?) returns the normal exit status of the child process
6560+(only meaningful if WIFEXITED($?) is true)
6561+
6562+=item WIFSIGNALED
6563+
6564+WIFSIGNALED($?) returns true if the child process terminated because
6565+of a signal
6566+
6567+=item WTERMSIG
6568+
6569+WTERMSIG($?) returns the signal the child process terminated for
6570+(only meaningful if WIFSIGNALED($?) is true)
6571+
6572+=item WIFSTOPPED
6573+
6574+WIFSTOPPED($?) returns true if the child process is currently stopped
6575+(can happen only if you specified the WUNTRACED flag to waitpid())
6576+
6577+=item WSTOPSIG
6578+
6579+WSTOPSIG($?) returns the signal the child process was stopped for
6580+(only meaningful if WIFSTOPPED($?) is true)
6581+
6582+=back
6583+
6584+=back
6585+
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_4.patch b/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_4.patch
deleted file mode 100644
index 98bf0743fb..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_4.patch
+++ /dev/null
@@ -1,57 +0,0 @@
1Upstream-Status:Inappropriate [Backport]
2
3commit 43c0c913165d6abe1bc0cb45a784eb1c32c3700b
4Author: Nicholas Clark <nick@ccl4.org>
5Date: Mon Feb 14 09:06:42 2011 +0000
6
7 For miniperl, use the USE_SITECUSTOMIZE feature to load the build-time @INC
8
9 For miniperl (only), always enable USE_SITECUSTOMIZE, but change it to load
10 a buildcustomize.pl file from $INC[0], if present. The default @INC for
11 miniperl is '.', so by default this does nothing.
12
13diff --git a/perl.c b/perl.c
14index 8f8565d..6bb9f46 100644
15--- a/perl.c
16+++ b/perl.c
17@@ -24,6 +24,10 @@
18 * function of the interpreter; that can be found in perlmain.c
19 */
20
21+#ifdef PERL_IS_MINIPERL
22+# define USE_SITECUSTOMIZE
23+#endif
24+
25 #include "EXTERN.h"
26 #define PERL_IN_PERL_C
27 #include "perl.h"
28@@ -1973,15 +1977,26 @@ S_parse_body(pTHX_ char **env, XSINIT_t xsinit)
29 }
30 }
31
32-#if defined(USE_SITECUSTOMIZE) && !defined(PERL_IS_MINIPERL)
33+#if defined(USE_SITECUSTOMIZE)
34 if (!minus_f) {
35- /* SITELIB_EXP is a function call on Win32.
36- The games with local $! are to avoid setting errno if there is no
37+ /* The games with local $! are to avoid setting errno if there is no
38 sitecustomize script. */
39+# ifdef PERL_IS_MINIPERL
40+ AV *const inc = GvAV(PL_incgv);
41+ SV **const inc0 = inc ? av_fetch(inc, 0, FALSE) : NULL;
42+
43+ if (inc0) {
44+ (void)Perl_av_create_and_unshift_one(aTHX_ &PL_preambleav,
45+ Perl_newSVpvf(aTHX_
46+ "BEGIN { do {local $!; -f '%"SVf"/buildcustomize.pl'} && do '%"SVf"/buildcustomize.pl' }", *inc0, *inc0));
47+ }
48+# else
49+ /* SITELIB_EXP is a function call on Win32. */
50 const char *const sitelib = SITELIB_EXP;
51 (void)Perl_av_create_and_unshift_one(aTHX_ &PL_preambleav,
52 Perl_newSVpvf(aTHX_
53 "BEGIN { do {local $!; -f '%s/sitecustomize.pl'} && do '%s/sitecustomize.pl' }", sitelib, sitelib));
54+# endif
55 }
56 #endif
57
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_5.patch b/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_5.patch
deleted file mode 100644
index 5891ee6a93..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_5.patch
+++ /dev/null
@@ -1,430 +0,0 @@
1Upstream-Status:Inappropriate [Backport]
2
3Rebased by Nitin A Kamble <nitin.a.kamble@intel.com> on 3/11/2011
4
5commit 5e4c4c91bd52a48de59520d5e9b4e3478e49c613
6Author: Nicholas Clark <nick@ccl4.org>
7Date: Mon Feb 14 10:14:18 2011 +0000
8
9 Use a buildcustomize.pl to set @INC in miniperl when building extensions.
10
11 With the build tools now shipped in various subdirectories of cpan/ and dist/
12 we need to add several paths to @INC when invoking MakeMaker (etc) to build
13 extensions.
14
15 The previous approach of using $ENV{PERL5LIB} was fragile, because:
16 a: It was hitting the length limit for %ENV variables on VMS
17 b: It was running the risk of race conditions in a parallel build -
18 ExtUtils::Makemaker "knows" to add -I../..lib, which puts lib at the *front*
19 of @INC, but if one parallel process happens to copy a module into lib/
20 whilst another is searching for it, the second may get a partial read
21 c: Overwriting $ENV{PERL5LIB} breaks any system where any of the installed
22 build tools are actually implemented in Perl, if they are relying on
23 $ENV{PERL5LIB} for setup
24
25 This approach
26
27 a: Doesn't have %ENV length limits
28 b: Ensures that lib/ is last, so copy targets are always shadowing copy
29 sources
30 c: Only affects miniperl, and doesn't touch $ENV{PERL5LIB}
31
32 Approaches that turned out to have fatal flaws:
33
34 1: Using $ENV{PERL5OPT} with a module fails because ExtUtils::MakeMaker
35 searches for the build perl without setting lib, and treats the error
36 caused by a failed -M as "not a valid perl 5 binary"
37 2: Refactoring ExtUtils::MakeMaker to *not* use -I for lib, and instead rely
38 on $ENV{PERL5LIB} [which includes "../../lib"] fails because:
39 some extensions have subdirectories, and on these EU::MM correctly uses
40 -I../../../lib, where as $ENV{PERL5LIB} only has space for relative paths,
41 and only with two levels.
42
43 This approach actually takes advantage of ExtUtils::MakeMaker setting an -I
44 option correct for the depth of directory being built.
45
46Index: perl-5.12.3/Cross/Makefile-cross-SH
47===================================================================
48--- perl-5.12.3.orig/Cross/Makefile-cross-SH
49+++ perl-5.12.3/Cross/Makefile-cross-SH
50@@ -324,7 +324,7 @@ $spitshell >>$Makefile <<'!NO!SUBS!'
51
52 CONFIGPM = xlib/$(CROSS_NAME)/Config.pm
53
54-private = preplibrary $(CONFIGPM) $(CROSS_LIB)/Config.pod
55+private = preplibrary $(CONFIGPM) $(CROSS_LIB)/Config.pod lib/buildcustomize.pl
56
57 shextract = Makefile cflags config.h makeaperl makedepend \
58 makedir myconfig writemain pod/Makefile
59@@ -752,6 +752,9 @@ lib/lib.pm: miniperl $(CONFIGPM)
60 @-rm -f $@
61 $(LDLIBPTH) ./miniperl -Ilib -MCross lib/lib_pm.PL
62
63+lib/buildcustomize.pl: $(MINIPERL_EXE) write_buildcustomize.pl
64+ $(MINIPERL) write_buildcustomize.pl >lib/buildcustomize.pl
65+
66 unidatafiles $(unidatafiles): uni.data
67
68 uni.data: miniperl$(EXE_EXT) $(CONFIGPM) lib/unicore/mktables
69@@ -922,16 +925,16 @@ manicheck: FORCE
70
71
72
73-$(DYNALOADER): preplibrary FORCE
74+$(DYNALOADER): lib/buildcustomize.pl preplibrary FORCE
75 @$(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib make_ext.pl --cross $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=static $(STATIC_LDFLAGS)
76
77-d_dummy $(dynamic_ext): miniperl$(EXE_EXT) preplibrary makeppport $(DYNALOADER) FORCE
78+d_dummy $(dynamic_ext): miniperl$(EXE_EXT) lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE
79 @$(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib make_ext.pl --cross $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=dynamic
80
81-s_dummy $(static_ext): miniperl$(EXE_EXT) preplibrary makeppport $(DYNALOADER) FORCE
82+s_dummy $(static_ext): miniperl$(EXE_EXT) lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE
83 @$(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib make_ext.pl --cross $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=static $(STATIC_LDFLAGS)
84
85-n_dummy $(nonxs_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
86+n_dummy $(nonxs_ext): miniperl$(EXE_EXT) lib/buildcustomize.pl preplibrary $(DYNALOADER) FORCE
87 @$(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib make_ext.pl --cross $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
88 !NO!SUBS!
89
90Index: perl-5.12.3/MANIFEST
91===================================================================
92--- perl-5.12.3.orig/MANIFEST
93+++ perl-5.12.3/MANIFEST
94@@ -4747,6 +4747,7 @@ win32/wince.c WinCE port
95 win32/wince.h WinCE port
96 win32/wincesck.c WinCE port
97 writemain.SH Generate perlmain.c from miniperlmain.c+extensions
98+write_buildcustomize.pl Generate lib/buildcustomize.pl
99 x2p/a2p.c Output of a2p.y run through byacc
100 x2p/a2p.h Global declarations
101 x2p/a2p.pod Pod for awk to perl translator
102Index: perl-5.12.3/Makefile.SH
103===================================================================
104--- perl-5.12.3.orig/Makefile.SH
105+++ perl-5.12.3/Makefile.SH
106@@ -428,7 +428,7 @@ esac
107 ## In the following dollars and backticks do not need the extra backslash.
108 $spitshell >>$Makefile <<'!NO!SUBS!'
109
110-private = preplibrary $(CONFIGPM) $(CONFIGPOD) lib/ExtUtils/Miniperl.pm git_version.h
111+private = preplibrary $(CONFIGPM) $(CONFIGPOD) lib/ExtUtils/Miniperl.pm git_version.h lib/buildcustomize.pl
112
113 # Files to be built with variable substitution before miniperl
114 # is available.
115@@ -991,6 +991,9 @@ $(plextract): $(MINIPERL_EXE) $(CONFIGPM
116 x2p/s2p: $(MINIPERL_EXE) $(CONFIGPM) $(dynamic_ext) x2p/s2p.PL
117 cd x2p; $(LDLIBPTH) $(MAKE) s2p
118
119+lib/buildcustomize.pl: $(MINIPERL_EXE) write_buildcustomize.pl
120+ $(MINIPERL) write_buildcustomize.pl >lib/buildcustomize.pl
121+
122 unidatafiles $(unidatafiles) pod/perluniprops.pod: uni.data
123
124 uni.data: $(MINIPERL_EXE) $(CONFIGPM) lib/unicore/mktables $(nonxs_ext)
125@@ -1160,16 +1163,16 @@ manicheck: FORCE
126 #
127 # DynaLoader may be needed for extensions that use Makefile.PL.
128
129-$(DYNALOADER): $(MINIPERL_EXE) preplibrary FORCE $(nonxs_ext)
130+$(DYNALOADER): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary FORCE $(nonxs_ext)
131 $(MINIPERL) make_ext.pl $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=static $(STATIC_LDFLAGS)
132
133-d_dummy $(dynamic_ext): $(MINIPERL_EXE) preplibrary makeppport $(DYNALOADER) FORCE $(PERLEXPORT)
134+d_dummy $(dynamic_ext): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE $(PERLEXPORT)
135 $(MINIPERL) make_ext.pl $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=dynamic
136
137-s_dummy $(static_ext): $(MINIPERL_EXE) preplibrary makeppport $(DYNALOADER) FORCE
138+s_dummy $(static_ext): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE
139 $(MINIPERL) make_ext.pl $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=static $(STATIC_LDFLAGS)
140
141-n_dummy $(nonxs_ext): $(MINIPERL_EXE) preplibrary FORCE
142+n_dummy $(nonxs_ext): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary FORCE
143 $(MINIPERL) make_ext.pl $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
144 !NO!SUBS!
145
146Index: perl-5.12.3/installperl
147===================================================================
148--- perl-5.12.3.orig/installperl
149+++ perl-5.12.3/installperl
150@@ -714,6 +714,8 @@ sub installlib {
151 # ignore the test extensions
152 return if $dir =~ m{\bXS/(?:APItest|Typemap)\b};
153 return if $name =~ m{\b(?:APItest|Typemap)\.pm$};
154+ # ignore the build support code
155+ return if $name =~ /\bbuildcustomize\.pl$/;
156 # ignore the demo files
157 return if $dir =~ /\b(?:demos?|eg)\b/;
158
159Index: perl-5.12.3/make_ext.pl
160===================================================================
161--- perl-5.12.3.orig/make_ext.pl
162+++ perl-5.12.3/make_ext.pl
163@@ -4,11 +4,9 @@ use warnings;
164 use Config;
165 BEGIN {
166 if ($^O eq 'MSWin32') {
167- unshift @INC, ('../cpan/Cwd', '../cpan/Cwd/lib');
168- require File::Spec::Functions;
169+ unshift @INC, '../cpan/Cwd';
170 require FindExt;
171- }
172- else {
173+ } else {
174 unshift @INC, 'cpan/Cwd';
175 }
176 }
177@@ -18,27 +16,6 @@ my $is_Win32 = $^O eq 'MSWin32';
178 my $is_VMS = $^O eq 'VMS';
179 my $is_Unix = !$is_Win32 && !$is_VMS;
180
181-# To clarify, this isn't the entire suite of modules considered "toolchain"
182-# It's not even all modules needed to build ext/
183-# It's just the source paths of the (minimum complete set of) modules in ext/
184-# needed to build the nonxs modules
185-# After which, all nonxs modules are in lib, which was always sufficient to
186-# allow miniperl to build everything else.
187-
188-# This list cannot get any longer without overflowing the length limit for
189-# environment variables on VMS
190-my @toolchain = qw(cpan/AutoLoader/lib
191- cpan/Cwd cpan/Cwd/lib
192- cpan/ExtUtils-Command/lib
193- dist/ExtUtils-Install/lib
194- cpan/ExtUtils-MakeMaker/lib
195- cpan/ExtUtils-Manifest/lib
196- cpan/File-Path/lib
197- );
198-
199-# Used only in ExtUtils::Liblist::Kid::_win32_ext()
200-push @toolchain, 'cpan/Text-ParseWords/lib' if $is_Win32;
201-
202 my @ext_dirs = qw(cpan dist ext);
203 my $ext_dirs_re = '(?:' . join('|', @ext_dirs) . ')';
204
205@@ -295,16 +272,7 @@ sub build_extension {
206 $perl ||= "$up/miniperl";
207 my $return_dir = $up;
208 my $lib_dir = "$up/lib";
209- # $lib_dir must be last, as we're copying files into it, and in a parallel
210- # make there's a race condition if one process tries to open a module that
211- # another process has half-written.
212- my @new_inc = ((map {"$up/$_"} @toolchain), $lib_dir);
213- if ($is_Win32) {
214- @new_inc = map {File::Spec::Functions::rel2abs($_)} @new_inc;
215- }
216- $ENV{PERL5LIB} = join $Config{path_sep}, @new_inc;
217 $ENV{PERL_CORE} = 1;
218- # warn $ENV{PERL5LIB};
219
220 my $makefile;
221 if ($is_VMS) {
222@@ -375,7 +343,7 @@ EOM
223 @cross = '-MCross';
224 }
225
226- my @args = (@cross, 'Makefile.PL');
227+ my @args = ("-I$lib_dir", @cross, 'Makefile.PL');
228 if ($is_VMS) {
229 my $libd = VMS::Filespec::vmspath($lib_dir);
230 push @args, "INST_LIB=$libd", "INST_ARCHLIB=$libd";
231Index: perl-5.12.3/vms/descrip_mms.template
232===================================================================
233--- perl-5.12.3.orig/vms/descrip_mms.template
234+++ perl-5.12.3/vms/descrip_mms.template
235@@ -360,7 +360,7 @@ CRTLOPTS =,$(CRTL)/Options
236 unidatadirs = lib/unicore/To lib/unicore/lib
237
238 # Modules which must be installed before we can build extensions
239-LIBPREREQ = $(ARCHDIR)Config.pm $(ARCHDIR)Config_heavy.pl [.lib.VMS]Filespec.pm $(ARCHDIR)vmspipe.com [.lib]re.pm
240+LIBPREREQ = $(ARCHDIR)Config.pm $(ARCHDIR)Config_heavy.pl [.lib.VMS]Filespec.pm $(ARCHDIR)vmspipe.com [.lib]re.pm [.lib]buildcustomize.pl
241
242 utils1 = [.lib.pods]perldoc.com [.lib.ExtUtils]Miniperl.pm [.utils]c2ph.com [.utils]h2ph.com
243 utils2 = [.utils]h2xs.com [.utils]libnetcfg.com [.lib]perlbug.com [.utils]dprofpp.com
244@@ -458,6 +458,9 @@ archcorefiles : $(ac) $(ARCHAUTO)time.st
245 [.lib]re.pm : [.ext.re]re.pm
246 Copy/NoConfirm/Log $(MMS$SOURCE) [.lib]
247
248+[.lib]buildcustomize.pl : write_buildcustomize.pl $(MINIPERL_EXE)
249+ $(MINIPERL) write_buildcustomize.pl > [.lib]buildcustomize.pl
250+
251 vmspipe.com : [.vms]vmspipe.com
252 Copy/NoConfirm/Log $(MMS$SOURCE) []
253
254@@ -561,7 +564,7 @@ unidatafiles.ts : $(MINIPERL_EXE) [.lib]
255 @ If F$Search("$(MMS$TARGET)").nes."" Then Delete/NoLog/NoConfirm $(MMS$TARGET);*
256 @ Copy/NoConfirm _NLA0: $(MMS$TARGET)
257
258-DynaLoader$(O) : $(ARCHDIR)Config.pm $(MINIPERL_EXE) [.lib.VMS]Filespec.pm
259+DynaLoader$(O) : [.lib]buildcustomize.pl $(ARCHDIR)Config.pm $(MINIPERL_EXE) [.lib.VMS]Filespec.pm
260 $(MINIPERL) make_ext.pl "MAKE=$(MMS)" "DynaLoader"
261
262 dynext : $(LIBPREREQ) $(DBG)perlshr$(E) unidatafiles.ts DynaLoader$(O) preplibrary makeppport $(MINIPERL_EXE)
263@@ -1856,6 +1859,7 @@ tidy : cleanlis
264 - If F$Search("[.utils]*.com;-1").nes."" Then Purge/NoConfirm/Log [.utils]*.com
265 - If F$Search("[.x2p]*.com;-1").nes."" Then Purge/NoConfirm/Log [.x2p]*.com
266 - If F$Search("[.lib.pods]*.com;-1").nes."" Then Purge/NoConfirm/Log [.lib.pods]*.com
267+ - If F$Search("[.lib]buildcustomize.pl;-1").nes."" Then Purge/NoConfirm/Log [.lib]buildcustomize.pl
268
269 clean : tidy cleantest
270 - $(MINIPERL) make_ext.pl "MAKE=$(MMS)" "--all" "--target=clean"
271Index: perl-5.12.3/win32/Makefile
272===================================================================
273--- perl-5.12.3.orig/win32/Makefile
274+++ perl-5.12.3/win32/Makefile
275@@ -923,6 +923,9 @@ $(CONFIGPM) : $(MINIPERL) ..\config.sh c
276 -$(MINIPERL) -I..\lib $(ICWD) config_h.PL "INST_VER=$(INST_VER)"
277 if errorlevel 1 $(MAKE) /$(MAKEFLAGS) $(CONFIGPM)
278
279+..\lib\buildcustomize.pl: $(MINIPERL) ..\write_buildcustomize.pl
280+ $(MINIPERL) -I..\lib ..\write_buildcustomize.pl .. >..\lib\buildcustomize.pl
281+
282 $(MINIPERL) : $(MINIDIR) $(MINI_OBJ)
283 $(LINK32) -subsystem:console -out:$@ @<<
284 $(LINK_FLAGS) $(LIBFILES) $(MINI_OBJ)
285@@ -1045,24 +1048,24 @@ MakePPPort: $(MINIPERL) $(CONFIGPM) Exte
286 #-------------------------------------------------------------------------------
287 # There's no direct way to mark a dependency on
288 # DynaLoader.pm, so this will have to do
289-Extensions: ..\make_ext.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER)
290+Extensions: ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER)
291 $(XCOPY) ..\*.h $(COREDIR)\*.*
292 $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic
293
294-Extensions_reonly: ..\make_ext.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER)
295+Extensions_reonly: ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER)
296 $(XCOPY) ..\*.h $(COREDIR)\*.*
297 $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic +re
298
299-Extensions_static : ..\make_ext.pl list_static_libs.pl $(PERLDEP) $(CONFIGPM)
300+Extensions_static : ..\make_ext.pl ..\lib\buildcustomize.pl list_static_libs.pl $(PERLDEP) $(CONFIGPM)
301 $(XCOPY) ..\*.h $(COREDIR)\*.*
302 $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --static
303 $(MINIPERL) -I..\lib list_static_libs.pl > Extensions_static
304
305-Extensions_nonxs: ..\make_ext.pl $(PERLDEP) $(CONFIGPM)
306+Extensions_nonxs: ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM)
307 $(XCOPY) ..\*.h $(COREDIR)\*.*
308 $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --nonxs
309
310-$(DYNALOADER) : ..\make_ext.pl $(PERLDEP) $(CONFIGPM) Extensions_nonxs
311+$(DYNALOADER) : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) Extensions_nonxs
312 $(XCOPY) ..\*.h $(COREDIR)\*.*
313 $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --dynaloader
314
315@@ -1159,6 +1162,7 @@ distclean: realclean
316 -del /f $(LIBDIR)\Win32CORE.pm
317 -del /f $(LIBDIR)\Win32API\File.pm
318 -del /f $(LIBDIR)\Win32API\File\cFile.pc
319+ -del /f $(LIBDIR)\buildcustomize.pl
320 -del /f $(DISTDIR)\XSLoader\XSLoader.pm
321 -if exist $(LIBDIR)\App rmdir /s /q $(LIBDIR)\App
322 -if exist $(LIBDIR)\Archive rmdir /s /q $(LIBDIR)\Archive
323Index: perl-5.12.3/win32/makefile.mk
324===================================================================
325--- perl-5.12.3.orig/win32/makefile.mk
326+++ perl-5.12.3/win32/makefile.mk
327@@ -1215,6 +1215,10 @@ $(CONFIGPM) : $(MINIPERL) ..\config.sh c
328 $(MINIPERL) -I..\lib $(ICWD) config_h.PL "INST_VER=$(INST_VER)" \
329 || $(MAKE) $(MAKEMACROS) $(CONFIGPM) $(MAKEFILE)
330
331+..\lib\buildcustomize.pl: $(MINIPERL) ..\write_buildcustomize.pl
332+ $(MINIPERL) -I..\lib ..\write_buildcustomize.pl .. >..\lib\buildcustomize.pl
333+
334+
335 $(MINIPERL) : $(MINIDIR) $(MINI_OBJ) $(CRTIPMLIBS)
336 .IF "$(CCTYPE)" == "BORLAND"
337 if not exist $(CCLIBDIR)\PSDK\odbccp32.lib \
338@@ -1423,24 +1427,24 @@ MakePPPort: $(MINIPERL) $(CONFIGPM) Exte
339 #-------------------------------------------------------------------------------
340 # There's no direct way to mark a dependency on
341 # DynaLoader.pm, so this will have to do
342-Extensions : ..\make_ext.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER)
343+Extensions : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER)
344 $(XCOPY) ..\*.h $(COREDIR)\*.*
345 $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic
346
347-Extensions_reonly : ..\make_ext.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER)
348+Extensions_reonly : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER)
349 $(XCOPY) ..\*.h $(COREDIR)\*.*
350 $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic +re
351
352-Extensions_static : ..\make_ext.pl list_static_libs.pl $(PERLDEP) $(CONFIGPM)
353+Extensions_static : ..\make_ext.pl ..\lib\buildcustomize.pl list_static_libs.pl $(PERLDEP) $(CONFIGPM)
354 $(XCOPY) ..\*.h $(COREDIR)\*.*
355 $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --static
356 $(MINIPERL) -I..\lib list_static_libs.pl > Extensions_static
357
358-Extensions_nonxs : ..\make_ext.pl $(PERLDEP) $(CONFIGPM)
359+Extensions_nonxs : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM)
360 $(XCOPY) ..\*.h $(COREDIR)\*.*
361 $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --nonxs
362
363-$(DYNALOADER) : ..\make_ext.pl $(PERLDEP) $(CONFIGPM) Extensions_nonxs
364+$(DYNALOADER) : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) Extensions_nonxs
365 $(XCOPY) ..\*.h $(COREDIR)\*.*
366 $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --dynaloader
367
368@@ -1534,6 +1538,7 @@ distclean: realclean
369 -del /f $(LIBDIR)\Win32CORE.pm
370 -del /f $(LIBDIR)\Win32API\File.pm
371 -del /f $(LIBDIR)\Win32API\File\cFile.pc
372+ -del /f $(LIBDIR)\buildcustomize.pl
373 -del /f $(DISTDIR)\XSLoader\XSLoader.pm
374 -if exist $(LIBDIR)\App rmdir /s /q $(LIBDIR)\App
375 -if exist $(LIBDIR)\Archive rmdir /s /q $(LIBDIR)\Archive
376Index: perl-5.12.3/write_buildcustomize.pl
377===================================================================
378--- /dev/null
379+++ perl-5.12.3/write_buildcustomize.pl
380@@ -0,0 +1,50 @@
381+#!./miniperl -w
382+
383+use strict;
384+if (@ARGV) {
385+ my $dir = shift;
386+ chdir $dir or die "Can't chdir '$dir': $!";
387+ unshift @INC, 'lib';
388+}
389+
390+unshift @INC, ('cpan/Cwd', 'cpan/Cwd/lib');
391+require File::Spec::Functions;
392+
393+# To clarify, this isn't the entire suite of modules considered "toolchain"
394+# It's not even all modules needed to build ext/
395+# It's just the source paths of the (minimum complete set of) modules in ext/
396+# needed to build the nonxs modules
397+# After which, all nonxs modules are in lib, which was always sufficient to
398+# allow miniperl to build everything else.
399+
400+my @toolchain = qw(cpan/AutoLoader/lib
401+ cpan/Cwd cpan/Cwd/lib
402+ cpan/ExtUtils-Command/lib
403+ dist/ExtUtils-Install/lib
404+ cpan/ExtUtils-MakeMaker/lib
405+ cpan/ExtUtils-Manifest/lib
406+ cpan/File-Path/lib
407+ );
408+
409+# Used only in ExtUtils::Liblist::Kid::_win32_ext()
410+push @toolchain, 'cpan/Text-ParseWords/lib' if $^O eq 'MSWin32';
411+
412+# lib must be last, as the the toolchain modules write themselves into it
413+# as they build, and it's important that @INC order ensures that the partially
414+# written files are always masked by the complete versions.
415+
416+my $inc = join ",\n ",
417+ map { "q\0$_\0" }
418+ (map {File::Spec::Functions::rel2abs($_)} @toolchain, 'lib'), '.';
419+
420+# If any of the system's build tools are written in Perl, then this module
421+# may well be loaded by a much older version than we are building. So keep it
422+# as backwards compatible as is easy.
423+print <<"EOT";
424+#!perl
425+
426+# We are miniperl, building extensions
427+# Reset \@INC completely, adding the directories we need, and removing the
428+# installed directories (which we don't need to read, and may confuse us)
429+\@INC = ($inc);
430+EOT
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_6.patch b/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_6.patch
deleted file mode 100644
index 42677391de..0000000000
--- a/meta/recipes-devtools/perl/perl-5.12.3/parallel_build_fix_6.patch
+++ /dev/null
@@ -1,158 +0,0 @@
1Upstream-Status:Inappropriate [Backport]
2
3Rebased by Nitin A Kamble <nitin.a.kamble@intel.com> on 3/11/2011
4
5commit 7353f64c5bca6e7102582a1e0017c850930249c3
6Author: Nicholas Clark <nick@ccl4.org>
7Date: Mon Feb 14 20:36:36 2011 +0000
8
9 Add ext/re/re.pm to the @INC set for miniperl by lib/buildcustomize.pl
10
11 This avoids a build-time race condition where lib/re.pm might be read midway
12 through the *second* copy of it (when ext/re/Makefile is being run). It also
13 simplifies many [Mm]akefile* rules, which previously had a special case to
14 copy it early.
15
16Index: perl-5.12.3/Cross/Makefile-cross-SH
17===================================================================
18--- perl-5.12.3.orig/Cross/Makefile-cross-SH
19+++ perl-5.12.3/Cross/Makefile-cross-SH
20@@ -727,7 +727,7 @@ fi
21 $spitshell >>$Makefile <<'!NO!SUBS!'
22
23 .PHONY: preplibrary
24-preplibrary: miniperl $(CONFIGPM) lib/lib.pm lib/re.pm $(PREPLIBRARY_LIBPERL)
25+preplibrary: miniperl $(CONFIGPM) lib/lib.pm $(PREPLIBRARY_LIBPERL)
26
27 .PHONY: makeppport
28 makeppport: miniperl$(EXE_EXT) $(CONFIGPM)
29@@ -748,10 +748,6 @@ $(plextract): miniperl $(CONFIGPM) x2p/s
30 @-rm -f $@
31 $(LDLIBPTH) ./miniperl -I`pwd`/lib $@.PL
32
33-lib/lib.pm: miniperl $(CONFIGPM)
34- @-rm -f $@
35- $(LDLIBPTH) ./miniperl -Ilib -MCross lib/lib_pm.PL
36-
37 lib/buildcustomize.pl: $(MINIPERL_EXE) write_buildcustomize.pl
38 $(MINIPERL) write_buildcustomize.pl >lib/buildcustomize.pl
39
40@@ -1212,7 +1208,7 @@ minitest.prep:
41
42 # Can't depend on lib/Config.pm because that might be where miniperl
43 # is crashing.
44-minitest: miniperl$(EXE_EXT) lib/re.pm minitest.prep
45+minitest: miniperl$(EXE_EXT) minitest.prep
46 - cd t && (rm -f perl$(EXE_EXT); $(LNS) ../miniperl$(EXE_EXT) perl$(EXE_EXT)) \
47 && $(LDLIBPTH) ./perl TEST -minitest base/*.t comp/*.t cmd/*.t run/*.t io/*.t op/*.t uni/*.t </dev/tty
48
49Index: perl-5.12.3/Makefile.SH
50===================================================================
51--- perl-5.12.3.orig/Makefile.SH
52+++ perl-5.12.3/Makefile.SH
53@@ -970,7 +970,7 @@ esac
54 $spitshell >>$Makefile <<'!NO!SUBS!'
55
56 .PHONY: preplibrary
57-preplibrary: $(MINIPERL_EXE) $(CONFIGPM) lib/re.pm $(PREPLIBRARY_LIBPERL)
58+preplibrary: $(MINIPERL_EXE) $(CONFIGPM) $(PREPLIBRARY_LIBPERL)
59
60 $(CONFIGPM_FROM_CONFIG_SH): $(CONFIGPOD)
61
62@@ -980,10 +980,6 @@ $(CONFIGPOD): config.sh $(MINIPERL_EXE)
63 lib/ExtUtils/Miniperl.pm: miniperlmain.c $(MINIPERL_EXE) minimod.pl $(CONFIGPM)
64 $(MINIPERL) minimod.pl > lib/ExtUtils/Miniperl.pm
65
66-lib/re.pm: ext/re/re.pm
67- @-rm -f $@
68- cp ext/re/re.pm lib/re.pm
69-
70 $(plextract): $(MINIPERL_EXE) $(CONFIGPM) x2p/s2p $(dynamic_ext)
71 @-rm -f $@
72 $(MINIPERL) $@.PL
73@@ -1267,7 +1263,7 @@ _cleaner2:
74 rm -f lib/.exists lib/*/.exists lib/*/*/.exists
75 rm -f h2ph.man pstruct
76 rm -rf .config
77- rm -f preload lib/re.pm
78+ rm -f preload
79 rm -rf lib/Encode lib/Compress lib/Hash lib/re
80 rm -rf lib/TAP lib/Module/Pluggable lib/App
81 rm -rf lib/mro
82@@ -1464,7 +1460,7 @@ minitest.prep:
83
84 # Can't depend on lib/Config.pm because that might be where miniperl
85 # is crashing.
86-minitest: $(MINIPERL_EXE) lib/re.pm minitest.prep
87+minitest: $(MINIPERL_EXE) minitest.prep
88 - cd t && (rm -f $(PERL_EXE); $(LNS) ../$(MINIPERL_EXE) $(PERL_EXE)) \
89 && $(RUN_PERL) TEST -minitest base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t op/*.t uni/*.t </dev/tty
90
91Index: perl-5.12.3/vms/descrip_mms.template
92===================================================================
93--- perl-5.12.3.orig/vms/descrip_mms.template
94+++ perl-5.12.3/vms/descrip_mms.template
95@@ -360,7 +360,7 @@ CRTLOPTS =,$(CRTL)/Options
96 unidatadirs = lib/unicore/To lib/unicore/lib
97
98 # Modules which must be installed before we can build extensions
99-LIBPREREQ = $(ARCHDIR)Config.pm $(ARCHDIR)Config_heavy.pl [.lib.VMS]Filespec.pm $(ARCHDIR)vmspipe.com [.lib]re.pm [.lib]buildcustomize.pl
100+LIBPREREQ = $(ARCHDIR)Config.pm $(ARCHDIR)Config_heavy.pl [.lib.VMS]Filespec.pm $(ARCHDIR)vmspipe.com [.lib]buildcustomize.pl
101
102 utils1 = [.lib.pods]perldoc.com [.lib.ExtUtils]Miniperl.pm [.utils]c2ph.com [.utils]h2ph.com
103 utils2 = [.utils]h2xs.com [.utils]libnetcfg.com [.lib]perlbug.com [.utils]dprofpp.com
104@@ -455,9 +455,6 @@ pod = $(pod0) $(pod1) $(pod2) $(pod3) $(
105 archcorefiles : $(ac) $(ARCHAUTO)time.stamp
106 @ $(NOOP)
107
108-[.lib]re.pm : [.ext.re]re.pm
109- Copy/NoConfirm/Log $(MMS$SOURCE) [.lib]
110-
111 [.lib]buildcustomize.pl : write_buildcustomize.pl $(MINIPERL_EXE)
112 $(MINIPERL) write_buildcustomize.pl > [.lib]buildcustomize.pl
113
114@@ -1487,7 +1484,7 @@ test_harness : all [.t.lib]vmsfspec.t
115 - @[.vms]test.com "$(E)" "$(__DEBUG__)"
116 @ $(MINIPERL) -e "print ""Ran tests"";" > [.t]rantests.
117
118-minitest : $(MINITEST_EXE) [.lib]re.pm [.lib.VMS]Filespec.pm unidatafiles.ts
119+minitest : $(MINITEST_EXE) [.lib.VMS]Filespec.pm unidatafiles.ts
120 @ PERL_TEST_DRIVER == "minitest"
121 - @[.vms]test.com "$(E)" "$(__DEBUG__)"
122
123Index: perl-5.12.3/win32/Makefile
124===================================================================
125--- perl-5.12.3.orig/win32/Makefile
126+++ perl-5.12.3/win32/Makefile
127@@ -918,7 +918,6 @@ $(CONFIGPM) : $(MINIPERL) ..\config.sh c
128 if exist lib\* $(RCOPY) lib\*.* ..\lib\$(NULL)
129 $(XCOPY) ..\*.h $(COREDIR)\*.*
130 $(XCOPY) *.h $(COREDIR)\*.*
131- $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.*
132 $(RCOPY) include $(COREDIR)\*.*
133 -$(MINIPERL) -I..\lib $(ICWD) config_h.PL "INST_VER=$(INST_VER)"
134 if errorlevel 1 $(MAKE) /$(MAKEFLAGS) $(CONFIGPM)
135Index: perl-5.12.3/win32/makefile.mk
136===================================================================
137--- perl-5.12.3.orig/win32/makefile.mk
138+++ perl-5.12.3/win32/makefile.mk
139@@ -1210,7 +1210,6 @@ $(CONFIGPM) : $(MINIPERL) ..\config.sh c
140 if exist lib\* $(RCOPY) lib\*.* ..\lib\$(NULL)
141 $(XCOPY) ..\*.h $(COREDIR)\*.*
142 $(XCOPY) *.h $(COREDIR)\*.*
143- $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.*
144 $(RCOPY) include $(COREDIR)\*.*
145 $(MINIPERL) -I..\lib $(ICWD) config_h.PL "INST_VER=$(INST_VER)" \
146 || $(MAKE) $(MAKEMACROS) $(CONFIGPM) $(MAKEFILE)
147Index: perl-5.12.3/write_buildcustomize.pl
148===================================================================
149--- perl-5.12.3.orig/write_buildcustomize.pl
150+++ perl-5.12.3/write_buildcustomize.pl
151@@ -24,6 +24,7 @@ my @toolchain = qw(cpan/AutoLoader/lib
152 cpan/ExtUtils-MakeMaker/lib
153 dist/ExtUtils-Manifest/lib
154 cpan/File-Path/lib
155+ ext/re
156 );
157
158 # Used only in ExtUtils::Liblist::Kid::_win32_ext()
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/09_fix_installperl.patch b/meta/recipes-devtools/perl/perl-5.14.2/09_fix_installperl.patch
index a80d17c8b0..a80d17c8b0 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/09_fix_installperl.patch
+++ b/meta/recipes-devtools/perl/perl-5.14.2/09_fix_installperl.patch
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/Configure-multilib.patch b/meta/recipes-devtools/perl/perl-5.14.2/Configure-multilib.patch
index 9625b0b84e..9625b0b84e 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/Configure-multilib.patch
+++ b/meta/recipes-devtools/perl/perl-5.14.2/Configure-multilib.patch
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/MM_Unix.pm.patch b/meta/recipes-devtools/perl/perl-5.14.2/MM_Unix.pm.patch
index eb92ccb678..eb92ccb678 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/MM_Unix.pm.patch
+++ b/meta/recipes-devtools/perl/perl-5.14.2/MM_Unix.pm.patch
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/Makefile.SH.patch b/meta/recipes-devtools/perl/perl-5.14.2/Makefile.SH.patch
index 6371a3d5ab..c9fd5e27e7 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/Makefile.SH.patch
+++ b/meta/recipes-devtools/perl/perl-5.14.2/Makefile.SH.patch
@@ -1,29 +1,19 @@
1Upstream-Status:Inappropriate [embedded specific] 1Upstream-Status:Inappropriate [embedded specific]
2 2
3Index: perl-5.12.3/Makefile.SH 3Index: perl-5.14.2/Makefile.SH
4=================================================================== 4===================================================================
5--- perl-5.12.3.orig/Makefile.SH 5--- perl-5.14.2.orig/Makefile.SH
6+++ perl-5.12.3/Makefile.SH 6+++ perl-5.14.2/Makefile.SH
7@@ -50,12 +50,12 @@ case "$useshrplib" in 7@@ -36,7 +36,7 @@ case "$useshrplib" in
8 true) 8 true)
9 # Prefix all runs of 'miniperl' and 'perl' with 9 # Prefix all runs of 'miniperl' and 'perl' with
10 # $ldlibpth so that ./perl finds *this* shared libperl. 10 # $ldlibpth so that ./perl finds *this* shared libperl.
11- case "$LD_LIBRARY_PATH" in 11- ldlibpth=LD_LIBRARY_PATH=`pwd`'$${LD_LIBRARY_PATH:+:}$$LD_LIBRARY_PATH'
12- '') 12+ #ldlibpth=LD_LIBRARY_PATH=`pwd`'$${LD_LIBRARY_PATH:+:}$$LD_LIBRARY_PATH'
13- ldlibpth="LD_LIBRARY_PATH=`pwd`";;
14- *)
15- ldlibpth="LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}";;
16- esac
17+# case "$LD_LIBRARY_PATH" in
18+# '')
19+# ldlibpth="LD_LIBRARY_PATH=`pwd`";;
20+# *)
21+# ldlibpth="LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}";;
22+# esac
23 13
24 pldlflags="$cccdlflags" 14 pldlflags="$cccdlflags"
25 static_ldflags='' 15 static_ldflags=''
26@@ -133,7 +133,8 @@ true) 16@@ -114,7 +114,8 @@ true)
27 ldlibpth='' 17 ldlibpth=''
28 ;; 18 ;;
29 *) 19 *)
@@ -33,7 +23,7 @@ Index: perl-5.12.3/Makefile.SH
33 ;; 23 ;;
34 esac 24 esac
35 # Strip off any trailing :'s 25 # Strip off any trailing :'s
36@@ -154,18 +155,7 @@ true) 26@@ -135,18 +136,7 @@ true)
37 # INSTALL file, under "Building a shared perl library". 27 # INSTALL file, under "Building a shared perl library".
38 # If there is no pre-existing $libperl, we don't need 28 # If there is no pre-existing $libperl, we don't need
39 # to do anything further. 29 # to do anything further.
@@ -53,7 +43,7 @@ Index: perl-5.12.3/Makefile.SH
53 ;; 43 ;;
54 os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth" 44 os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth"
55 ;; 45 ;;
56@@ -557,9 +547,19 @@ splintfiles = $(c1) 46@@ -529,9 +519,19 @@ splintfiles = $(c1)
57 .c.s: 47 .c.s:
58 $(CCCMDSRC) -S $*.c 48 $(CCCMDSRC) -S $*.c
59 49
@@ -76,7 +66,7 @@ Index: perl-5.12.3/Makefile.SH
76 66
77 .PHONY: all translators utilities 67 .PHONY: all translators utilities
78 68
79@@ -567,16 +567,16 @@ all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) $( 69@@ -539,7 +539,7 @@ all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) $(
80 # by make_patchnum.pl. 70 # by make_patchnum.pl.
81 git_version.h: lib/Config_git.pl 71 git_version.h: lib/Config_git.pl
82 72
@@ -85,18 +75,45 @@ Index: perl-5.12.3/Makefile.SH
85 $(MINIPERL) make_patchnum.pl 75 $(MINIPERL) make_patchnum.pl
86 76
87 # make sure that we recompile perl.c if the git version changes 77 # make sure that we recompile perl.c if the git version changes
88 perl$(OBJ_EXT): git_version.h 78@@ -552,8 +552,8 @@ perl$(OBJ_EXT): git_version.h
89 79 # loading, we need to build perl first.
90-translators: $(MINIPERL_EXE) $(CONFIGPM) $(dynamic_ext) FORCE 80 case "$usedl" in
91+translators: $(CONFIGPM) $(dynamic_ext) FORCE 81 define)
92 @echo " "; echo " Making x2p stuff"; cd x2p; $(LDLIBPTH) $(MAKE) all 82- util_deps='$(MINIPERL_EXE) $(CONFIGPM) lib/auto/Cwd/Cwd$(DLSUFFIX) FORCE'
83- x2p_deps='$(MINIPERL_EXE) $(CONFIGPM) $(dynamic_ext) FORCE'
84+ util_deps='$(CONFIGPM) lib/auto/Cwd/Cwd$(DLSUFFIX) FORCE'
85+ x2p_deps='$(CONFIGPM) $(dynamic_ext) FORCE'
86 ;;
87 *) util_deps='$(PERL_EXE) $(CONFIGPM) FORCE'
88 x2p_deps='$(PERL_EXE) $(CONFIGPM) FORCE'
89@@ -627,7 +627,7 @@ generate_uudmap$(HOST_EXE_EXT): generate
90 miniperlmain$(OBJ_EXT): miniperlmain.c patchlevel.h
91 $(CCCMD) $(PLDLFLAGS) $*.c
92
93-perlmain.c: $(MINIPERL_EXE) lib/ExtUtils/Miniperl.pm
94+perlmain.c: lib/ExtUtils/Miniperl.pm
95 $(MINIPERL) -Ilib -MExtUtils::Miniperl -e 'writemain(@ARGV)' DynaLoader $(static_ext) > perlmain.c
96
97 perlmain$(OBJ_EXT): perlmain.c
98@@ -691,7 +691,7 @@ PERLEXPORT = perl.exp
99 ;;
100 esac
101 $spitshell >>$Makefile <<'!NO!SUBS!'
102-perl.exp: $(MINIPERLEXP) makedef.pl config.sh $(SYM) $(SYMH)
103+perl.exp: makedef.pl config.sh $(SYM) $(SYMH)
104 ./$(MINIPERLEXP) makedef.pl PLATFORM=aix CC_FLAGS="$(OPTIMIZE)" | sort -u | sort -f > perl.exp
93 105
94-utilities: $(MINIPERL_EXE) $(CONFIGPM) $(plextract) FORCE 106 !NO!SUBS!
95+utilities: $(CONFIGPM) $(plextract) FORCE 107@@ -700,7 +700,7 @@ os2)
96 @echo " "; echo " Making utilities"; cd utils; $(LDLIBPTH) $(MAKE) all 108 $spitshell >>$Makefile <<'!NO!SUBS!'
109 MINIPERLEXP = miniperl
97 110
111-perl5.def: $(MINIPERLEXP) makedef.pl config.sh $(SYM) $(SYMH) miniperl.map
112+perl5.def: makedef.pl config.sh $(SYM) $(SYMH) miniperl.map
113 ./$(MINIPERLEXP) makedef.pl PLATFORM=os2 -DPERL_DLL=$(PERL_DLL) CC_FLAGS="$(OPTIMIZE)" > perl5.def
98 114
99@@ -754,7 +754,7 @@ $(LIBPERL): $& $(obj) $(DYNALOADER) $(LI 115 !NO!SUBS!
116@@ -757,7 +757,7 @@ $(LIBPERL): $& $(obj) $(DYNALOADER) $(LI
100 true) 117 true)
101 $spitshell >>$Makefile <<'!NO!SUBS!' 118 $spitshell >>$Makefile <<'!NO!SUBS!'
102 rm -f $@ 119 rm -f $@
@@ -105,7 +122,7 @@ Index: perl-5.12.3/Makefile.SH
105 !NO!SUBS! 122 !NO!SUBS!
106 case "$osname" in 123 case "$osname" in
107 aix) 124 aix)
108@@ -795,7 +795,9 @@ $(MINIPERL_EXE): $& miniperlmain$(OBJ_EX 125@@ -798,7 +798,9 @@ $(MINIPERL_EXE): $& miniperlmain$(OBJ_EX
109 $(CC) -o $(MINIPERL_EXE) $(CLDFLAGS) \ 126 $(CC) -o $(MINIPERL_EXE) $(CLDFLAGS) \
110 $(mini_obj) \ 127 $(mini_obj) \
111 miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs) 128 miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs)
@@ -116,7 +133,7 @@ Index: perl-5.12.3/Makefile.SH
116 !NO!SUBS! 133 !NO!SUBS!
117 ;; 134 ;;
118 next4*) 135 next4*)
119@@ -803,7 +805,9 @@ $(MINIPERL_EXE): $& miniperlmain$(OBJ_EX 136@@ -806,7 +808,9 @@ $(MINIPERL_EXE): $& miniperlmain$(OBJ_EX
120 $(MINIPERL_EXE): $& miniperlmain$(OBJ_EXT) $(mini_obj) perlmini$(OBJ_EXT) opmini$(OBJ_EXT) 137 $(MINIPERL_EXE): $& miniperlmain$(OBJ_EXT) $(mini_obj) perlmini$(OBJ_EXT) opmini$(OBJ_EXT)
121 $(CC) -o $(MINIPERL_EXE) $(mini_obj) \ 138 $(CC) -o $(MINIPERL_EXE) $(mini_obj) \
122 miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs) 139 miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs)
@@ -127,7 +144,7 @@ Index: perl-5.12.3/Makefile.SH
127 !NO!SUBS! 144 !NO!SUBS!
128 ;; 145 ;;
129 darwin*) 146 darwin*)
130@@ -825,7 +829,9 @@ $(MINIPERL_EXE): $& miniperlmain$(OBJ_EX 147@@ -828,7 +832,9 @@ $(MINIPERL_EXE): $& miniperlmain$(OBJ_EX
131 $(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o $(MINIPERL_EXE) \ 148 $(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o $(MINIPERL_EXE) \
132 $(mini_obj) \ 149 $(mini_obj) \
133 miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs) 150 miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs)
@@ -138,7 +155,7 @@ Index: perl-5.12.3/Makefile.SH
138 !NO!SUBS! 155 !NO!SUBS!
139 ;; 156 ;;
140 *) 157 *)
141@@ -835,7 +841,10 @@ $(MINIPERL_EXE): $& miniperlmain$(OBJ_EX 158@@ -838,7 +844,10 @@ $(MINIPERL_EXE): $& miniperlmain$(OBJ_EX
142 $(LDLIBPTH) $(CC) $(CLDFLAGS) -o $(MINIPERL_EXE) \ 159 $(LDLIBPTH) $(CC) $(CLDFLAGS) -o $(MINIPERL_EXE) \
143 $(mini_obj) \ 160 $(mini_obj) \
144 miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs) 161 miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs)
@@ -150,7 +167,7 @@ Index: perl-5.12.3/Makefile.SH
150 !NO!SUBS! 167 !NO!SUBS!
151 ;; 168 ;;
152 esac 169 esac
153@@ -957,7 +966,7 @@ case "${osname}" in 170@@ -960,7 +969,7 @@ case "${osname}" in
154 catamount) 171 catamount)
155 $spitshell >>$Makefile <<!GROK!THIS! 172 $spitshell >>$Makefile <<!GROK!THIS!
156 .PHONY: makeppport 173 .PHONY: makeppport
@@ -159,7 +176,7 @@ Index: perl-5.12.3/Makefile.SH
159 -@for f in Makefile.PL PPPort_pm.PL PPPort_xs.PL ppport_h.PL; do \ 176 -@for f in Makefile.PL PPPort_pm.PL PPPort_xs.PL ppport_h.PL; do \
160 (cd ext/Devel-PPPort && `pwd`/run.sh ../../$(MINIPERL_EXE) -I../../lib \$\$f); \ 177 (cd ext/Devel-PPPort && `pwd`/run.sh ../../$(MINIPERL_EXE) -I../../lib \$\$f); \
161 done 178 done
162@@ -967,7 +976,7 @@ makeppport: \$(MINIPERL_EXE) \$(CONFIGPM 179@@ -970,7 +979,7 @@ makeppport: \$(MINIPERL_EXE) \$(CONFIGPM
163 *) 180 *)
164 $spitshell >>$Makefile <<'!NO!SUBS!' 181 $spitshell >>$Makefile <<'!NO!SUBS!'
165 .PHONY: makeppport 182 .PHONY: makeppport
@@ -168,7 +185,7 @@ Index: perl-5.12.3/Makefile.SH
168 $(MINIPERL) $(Icwd) mkppport 185 $(MINIPERL) $(Icwd) mkppport
169 186
170 !NO!SUBS! 187 !NO!SUBS!
171@@ -977,29 +986,29 @@ esac 188@@ -980,22 +989,22 @@ esac
172 $spitshell >>$Makefile <<'!NO!SUBS!' 189 $spitshell >>$Makefile <<'!NO!SUBS!'
173 190
174 .PHONY: preplibrary 191 .PHONY: preplibrary
@@ -185,15 +202,6 @@ Index: perl-5.12.3/Makefile.SH
185+lib/ExtUtils/Miniperl.pm: miniperlmain.c minimod.pl $(CONFIGPM) 202+lib/ExtUtils/Miniperl.pm: miniperlmain.c minimod.pl $(CONFIGPM)
186 $(MINIPERL) minimod.pl > lib/ExtUtils/Miniperl.pm 203 $(MINIPERL) minimod.pl > lib/ExtUtils/Miniperl.pm
187 204
188-$(plextract): $(MINIPERL_EXE) $(CONFIGPM) x2p/s2p $(dynamic_ext)
189+$(plextract): $(CONFIGPM) x2p/s2p $(dynamic_ext)
190 @-rm -f $@
191 $(MINIPERL) $@.PL
192
193-x2p/s2p: $(MINIPERL_EXE) $(CONFIGPM) $(dynamic_ext) x2p/s2p.PL
194+x2p/s2p: $(CONFIGPM) $(dynamic_ext) x2p/s2p.PL
195 cd x2p; $(LDLIBPTH) $(MAKE) s2p
196
197-lib/buildcustomize.pl: $(MINIPERL_EXE) write_buildcustomize.pl 205-lib/buildcustomize.pl: $(MINIPERL_EXE) write_buildcustomize.pl
198+lib/buildcustomize.pl: write_buildcustomize.pl 206+lib/buildcustomize.pl: write_buildcustomize.pl
199 $(MINIPERL) write_buildcustomize.pl >lib/buildcustomize.pl 207 $(MINIPERL) write_buildcustomize.pl >lib/buildcustomize.pl
@@ -205,13 +213,13 @@ Index: perl-5.12.3/Makefile.SH
205 $(MINIPERL) $(Icwd) lib/unicore/mktables -C lib/unicore -P pod -maketest -makelist -p 213 $(MINIPERL) $(Icwd) lib/unicore/mktables -C lib/unicore -P pod -maketest -makelist -p
206 # Commented out so always runs, mktables looks at far more files than we 214 # Commented out so always runs, mktables looks at far more files than we
207 # can in this makefile to decide if needs to run or not 215 # can in this makefile to decide if needs to run or not
208@@ -1008,21 +1017,21 @@ uni.data: $(MINIPERL_EXE) $(CONFIGPM) li 216@@ -1004,21 +1013,21 @@ uni.data: $(MINIPERL_EXE) $(CONFIGPM) li
209 # $(PERL_EXE) and ext because buildtoc uses Text::Wrap uses re 217 # $(PERL_EXE) and ext because buildtoc uses Text::Wrap uses re
210 # But also this ensures that all extensions are built before we try to scan 218 # But also this ensures that all extensions are built before we try to scan
211 # them, which picks up Devel::PPPort's documentation. 219 # them, which picks up Devel::PPPort's documentation.
212-pod/perltoc.pod: $(perltoc_pod_prereqs) $(PERL_EXE) $(ext) pod/buildtoc 220-pod/perltoc.pod: $(perltoc_pod_prereqs) $(PERL_EXE) $(ext) pod/buildtoc
213- $(RUN_PERL) -f -Ilib pod/buildtoc --build-toc -q 221- $(RUN_PERL) -f -Ilib pod/buildtoc --build-toc -q
214+pod/perltoc.pod: $(perltoc_pod_prereqs) $(ext) pod/buildtoc 222+pod/perltoc.pod: $(perltoc_pod_prereqs) $(ext) pod/buildtoc
215+ $(MINIPERL) -f -Ilib pod/buildtoc --build-toc -q 223+ $(MINIPERL) -f -Ilib pod/buildtoc --build-toc -q
216 224
217 pod/perlapi.pod: pod/perlintern.pod 225 pod/perlapi.pod: pod/perlintern.pod
@@ -224,15 +232,15 @@ Index: perl-5.12.3/Makefile.SH
224+pod/perlmodlib.pod: pod/perlmodlib.PL MANIFEST 232+pod/perlmodlib.pod: pod/perlmodlib.PL MANIFEST
225 $(MINIPERL) $(Icwd) pod/perlmodlib.PL -q 233 $(MINIPERL) $(Icwd) pod/perlmodlib.PL -q
226 234
227 pod/perldelta.pod: pod/perl5123delta.pod 235 pod/perl5142delta.pod: pod/perldelta.pod
228 $(LNS) perl5123delta.pod pod/perldelta.pod 236 $(LNS) perldelta.pod pod/perl5142delta.pod
229 237
230-extra.pods: $(MINIPERL_EXE) 238-extra.pods: $(MINIPERL_EXE)
231+extra.pods: 239+extra.pods:
232 -@test ! -f extra.pods || rm -f `cat extra.pods` 240 -@test ! -f extra.pods || rm -f `cat extra.pods`
233 -@rm -f extra.pods 241 -@rm -f extra.pods
234 -@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \ 242 -@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \
235@@ -1065,11 +1074,7 @@ no-install: 243@@ -1058,11 +1067,7 @@ no-install:
236 INSTALL_DEPENDENCE = all 244 INSTALL_DEPENDENCE = all
237 245
238 install.perl: $(INSTALL_DEPENDENCE) installperl 246 install.perl: $(INSTALL_DEPENDENCE) installperl
@@ -245,7 +253,7 @@ Index: perl-5.12.3/Makefile.SH
245 253
246 # XXX Experimental. Hardwired values, but useful for testing. 254 # XXX Experimental. Hardwired values, but useful for testing.
247 # Eventually Configure could ask for some of these values. 255 # Eventually Configure could ask for some of these values.
248@@ -1166,16 +1171,16 @@ manicheck: FORCE 256@@ -1161,16 +1166,16 @@ manicheck: FORCE
249 # 257 #
250 # DynaLoader may be needed for extensions that use Makefile.PL. 258 # DynaLoader may be needed for extensions that use Makefile.PL.
251 259
@@ -266,12 +274,12 @@ Index: perl-5.12.3/Makefile.SH
266 $(MINIPERL) make_ext.pl $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) 274 $(MINIPERL) make_ext.pl $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
267 !NO!SUBS! 275 !NO!SUBS!
268 276
269@@ -1373,10 +1378,10 @@ _test: 277@@ -1365,10 +1370,10 @@ _test:
270 278
271 test_prep_pre: preplibrary utilities $(nonxs_ext) 279 test_prep_pre: preplibrary utilities $(nonxs_ext)
272 280
273-test_prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) $(PERL_EXE) $(dynamic_ext) $(TEST_PERL_DLL) runtests 281-test_prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) $(PERL_EXE) $(dynamic_ext) $(TEST_PERL_DLL) runtests x2p/s2p $(generated_pods)
274+test_prep: test_prep_pre $(unidatafiles) $(PERL_EXE) $(dynamic_ext) $(TEST_PERL_DLL) runtests 282+test_prep: test_prep_pre $(unidatafiles) $(PERL_EXE) $(dynamic_ext) $(TEST_PERL_DLL) runtests x2p/s2p $(generated_pods)
275 cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE)) 283 cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE))
276 284
277-test_prep_reonly: $(MINIPERL_EXE) $(PERL_EXE) $(dynamic_ext_re) $(TEST_PERL_DLL) 285-test_prep_reonly: $(MINIPERL_EXE) $(PERL_EXE) $(dynamic_ext_re) $(TEST_PERL_DLL)
@@ -279,12 +287,12 @@ Index: perl-5.12.3/Makefile.SH
279 $(MINIPERL) make_ext.pl $(dynamic_ext_re) MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=dynamic 287 $(MINIPERL) make_ext.pl $(dynamic_ext_re) MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=dynamic
280 cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE)) 288 cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE))
281 289
282@@ -1467,7 +1472,7 @@ minitest.prep: 290@@ -1459,7 +1464,7 @@ minitest.prep:
283 291
284 # Can't depend on lib/Config.pm because that might be where miniperl 292 # Can't depend on lib/Config.pm because that might be where miniperl
285 # is crashing. 293 # is crashing.
286-minitest: $(MINIPERL_EXE) minitest.prep 294-minitest: $(MINIPERL_EXE) minitest.prep
287+minitest: minitest.prep 295+minitest: minitest.prep
288 - cd t && (rm -f $(PERL_EXE); $(LNS) ../$(MINIPERL_EXE) $(PERL_EXE)) \ 296 - cd t && (rm -f $(PERL_EXE); $(LNS) ../$(MINIPERL_EXE) $(PERL_EXE)) \
289 && $(RUN_PERL) TEST -minitest base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t op/*.t uni/*.t </dev/tty 297 && $(RUN_PERL) TEST base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t op/*.t uni/*.t </dev/tty
290 298
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/Makefile.patch b/meta/recipes-devtools/perl/perl-5.14.2/Makefile.patch
index 8a279a5262..858e2e10fb 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/Makefile.patch
+++ b/meta/recipes-devtools/perl/perl-5.14.2/Makefile.patch
@@ -1,12 +1,11 @@
1Upstream-Status:Inappropriate [embedded specific] 1Upstream-Status:Inappropriate [embedded specific]
2 2
3Index: perl-5.12.3/Cross/Makefile 3Index: perl-5.14.2/Cross/Makefile
4=================================================================== 4===================================================================
5--- perl-5.12.3.orig/Cross/Makefile 5--- perl-5.14.2.orig/Cross/Makefile
6+++ perl-5.12.3/Cross/Makefile 6+++ perl-5.14.2/Cross/Makefile
7@@ -2,7 +2,8 @@ 7@@ -1,6 +1,7 @@
8 # 8 ## Toplevel Makefile for cross-compilation of perl
9 ## $Id: Makefile,v 1.5 2003/12/12 00:48:19 red Exp red $
10 9
11-export TOPDIR=${shell pwd} 10-export TOPDIR=${shell pwd}
12+override TOPDIR=${shell pwd} 11+override TOPDIR=${shell pwd}
@@ -14,7 +13,7 @@ Index: perl-5.12.3/Cross/Makefile
14 include $(TOPDIR)/config 13 include $(TOPDIR)/config
15 export CFLAGS 14 export CFLAGS
16 export SYS=$(ARCH)-$(OS) 15 export SYS=$(ARCH)-$(OS)
17@@ -12,7 +13,7 @@ export OPTIMIZATION = -O2 16@@ -10,7 +11,7 @@ export OPTIMIZATION = -O2
18 17
19 export CC = $(CROSS)gcc 18 export CC = $(CROSS)gcc
20 export CXX = $(CROSS)g++ 19 export CXX = $(CROSS)g++
@@ -23,7 +22,7 @@ Index: perl-5.12.3/Cross/Makefile
23 export STRIP = $(CROSS)strip 22 export STRIP = $(CROSS)strip
24 export AR = $(CROSS)ar 23 export AR = $(CROSS)ar
25 export RANLIB = $(CROSS)ranlib 24 export RANLIB = $(CROSS)ranlib
26@@ -34,17 +35,6 @@ CFLAGS+=$(FULL_OPTIMIZATION) 25@@ -32,17 +33,6 @@ CFLAGS+=$(FULL_OPTIMIZATION)
27 all: 26 all:
28 @echo Please read the README file before doing anything else. 27 @echo Please read the README file before doing anything else.
29 28
@@ -41,7 +40,7 @@ Index: perl-5.12.3/Cross/Makefile
41 perl: 40 perl:
42 @echo Perl cross-build directory is $(TOPDIR) 41 @echo Perl cross-build directory is $(TOPDIR)
43 @echo Target arch is $(SYS) 42 @echo Target arch is $(SYS)
44@@ -54,11 +44,11 @@ perl: 43@@ -52,11 +42,11 @@ perl:
45 $(TOPDIR)/generate_config_sh config.sh-$(SYS) > $(TOPDIR)/../config.sh 44 $(TOPDIR)/generate_config_sh config.sh-$(SYS) > $(TOPDIR)/../config.sh
46 cd $(TOPDIR)/.. ; ./Configure -S ; make depend ; make ; make more 45 cd $(TOPDIR)/.. ; ./Configure -S ; make depend ; make ; make more
47 cd $(TOPDIR)/.. ; mkdir -p fake_config_library ; cp lib/Config.pm lib/Config_heavy.pl fake_config_library 46 cd $(TOPDIR)/.. ; mkdir -p fake_config_library ; cp lib/Config.pm lib/Config_heavy.pl fake_config_library
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/asm-pageh-fix.patch b/meta/recipes-devtools/perl/perl-5.14.2/asm-pageh-fix.patch
index c65b1a1fe3..c65b1a1fe3 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/asm-pageh-fix.patch
+++ b/meta/recipes-devtools/perl/perl-5.14.2/asm-pageh-fix.patch
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/config.sh b/meta/recipes-devtools/perl/perl-5.14.2/config.sh
index f1c5001bfb..b3e2d432c4 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/config.sh
+++ b/meta/recipes-devtools/perl/perl-5.14.2/config.sh
@@ -14,7 +14,7 @@
14 14
15: Configure command line arguments. 15: Configure command line arguments.
16config_arg0='Configure' 16config_arg0='Configure'
17config_args='-des -Doptimize=-O2 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Open Embedded -Dinstallprefix=@DESTDIR@ -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr -Dotherlibdirs=/usr/lib/perl5/5.12.3 -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Ud_dosuid -Dd_semctl_semun -Ui_db -Ui_ndbm -Ui_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr' 17config_args='-des -Doptimize=-O2 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Open Embedded -Dinstallprefix=@DESTDIR@ -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr -Dotherlibdirs=/usr/lib/perl5/5.14.2 -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Ud_dosuid -Dd_semctl_semun -Ui_db -Ui_ndbm -Ui_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr'
18config_argc=28 18config_argc=28
19config_arg1='-des' 19config_arg1='-des'
20config_arg2='-Doptimize=-O2' 20config_arg2='-Doptimize=-O2'
@@ -26,7 +26,7 @@ config_arg7='-Dinstallprefix=@DESTDIR@'
26config_arg8='-Dprefix=/usr' 26config_arg8='-Dprefix=/usr'
27config_arg9='-Dvendorprefix=/usr' 27config_arg9='-Dvendorprefix=/usr'
28config_arg10='-Dsiteprefix=/usr' 28config_arg10='-Dsiteprefix=/usr'
29config_arg11='-Dotherlibdirs=/usr/lib/perl5/5.12.3' 29config_arg11='-Dotherlibdirs=/usr/lib/perl5/5.14.2'
30config_arg12='-Duseshrplib' 30config_arg12='-Duseshrplib'
31config_arg13='-Dusethreads' 31config_arg13='-Dusethreads'
32config_arg14='-Duseithreads' 32config_arg14='-Duseithreads'
@@ -64,11 +64,11 @@ ansi2knr=''
64aphostname='' 64aphostname=''
65api_revision='5' 65api_revision='5'
66api_subversion='0' 66api_subversion='0'
67api_version='12' 67api_version='14'
68api_versionstring='5.12.0' 68api_versionstring='5.14.0'
69ar='ar' 69ar='ar'
70archlib='/usr/lib/perl5/5.12.3/@ARCH@-thread-multi' 70archlib='/usr/lib/perl5/5.14.2/@ARCH@-thread-multi'
71archlibexp='/usr/lib/perl5/5.12.3/@ARCH@-thread-multi' 71archlibexp='/usr/lib/perl5/5.14.2/@ARCH@-thread-multi'
72archname64='' 72archname64=''
73archname='@ARCH@-thread-multi' 73archname='@ARCH@-thread-multi'
74archobjs='' 74archobjs=''
@@ -86,7 +86,7 @@ castflags='0'
86cat='cat' 86cat='cat'
87cc='gcc' 87cc='gcc'
88cccdlflags='-fPIC' 88cccdlflags='-fPIC'
89ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib/perl5/5.12.3/@ARCH@-thread-multi/CORE' 89ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib/perl5/5.14.2/@ARCH@-thread-multi/CORE'
90ccflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' 90ccflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
91ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' 91ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
92ccname='gcc' 92ccname='gcc'
@@ -746,7 +746,7 @@ inc_version_list_init='0'
746incpath='' 746incpath=''
747inews='' 747inews=''
748initialinstalllocation='/usr/bin' 748initialinstalllocation='/usr/bin'
749installarchlib='@DESTDIR@/lib/perl5/5.12.3/@ARCH@-thread-multi' 749installarchlib='@DESTDIR@/lib/perl5/5.14.2/@ARCH@-thread-multi'
750installbin='@DESTDIR@/bin' 750installbin='@DESTDIR@/bin'
751installhtml1dir='' 751installhtml1dir=''
752installhtml3dir='' 752installhtml3dir=''
@@ -754,23 +754,23 @@ installman1dir=''
754installman3dir='' 754installman3dir=''
755installprefix='@DESTDIR@' 755installprefix='@DESTDIR@'
756installprefixexp='@DESTDIR@' 756installprefixexp='@DESTDIR@'
757installprivlib='@DESTDIR@/lib/perl5/5.12.3' 757installprivlib='@DESTDIR@/lib/perl5/5.14.2'
758installscript='@DESTDIR@/bin' 758installscript='@DESTDIR@/bin'
759installsitearch='@DESTDIR@/lib/perl5/site_perl/5.12.3/@ARCH@-thread-multi' 759installsitearch='@DESTDIR@/lib/perl5/site_perl/5.14.2/@ARCH@-thread-multi'
760installsitebin='@DESTDIR@/bin' 760installsitebin='@DESTDIR@/bin'
761installsitehtml1dir='' 761installsitehtml1dir=''
762installsitehtml3dir='' 762installsitehtml3dir=''
763installsitelib='@DESTDIR@/lib/perl5/site_perl/5.12.3' 763installsitelib='@DESTDIR@/lib/perl5/site_perl/5.14.2'
764installsiteman1dir='' 764installsiteman1dir=''
765installsiteman3dir='' 765installsiteman3dir=''
766installsitescript='@DESTDIR@/bin' 766installsitescript='@DESTDIR@/bin'
767installstyle='lib/perl5' 767installstyle='lib/perl5'
768installusrbinperl='define' 768installusrbinperl='define'
769installvendorarch='@DESTDIR@/lib/perl5/vendor_perl/5.12.3/@ARCH@-thread-multi' 769installvendorarch='@DESTDIR@/lib/perl5/vendor_perl/5.14.2/@ARCH@-thread-multi'
770installvendorbin='@DESTDIR@/bin' 770installvendorbin='@DESTDIR@/bin'
771installvendorhtml1dir='' 771installvendorhtml1dir=''
772installvendorhtml3dir='' 772installvendorhtml3dir=''
773installvendorlib='@DESTDIR@/lib/perl5/vendor_perl/5.12.3' 773installvendorlib='@DESTDIR@/lib/perl5/vendor_perl/5.14.2'
774installvendorman1dir='' 774installvendorman1dir=''
775installvendorman3dir='' 775installvendorman3dir=''
776installvendorscript='@DESTDIR@/bin' 776installvendorscript='@DESTDIR@/bin'
@@ -864,11 +864,11 @@ optimize='-O2'
864orderlib='false' 864orderlib='false'
865osname='linux' 865osname='linux'
866osvers='2.6.37-rc5-yocto-standard+' 866osvers='2.6.37-rc5-yocto-standard+'
867otherlibdirs='/usr/lib/perl5/5.12.3' 867otherlibdirs='/usr/lib/perl5/5.14.2'
868package='perl5' 868package='perl5'
869pager='/usr/bin/less -isr' 869pager='/usr/bin/less -isr'
870passcat='cat /etc/passwd' 870passcat='cat /etc/passwd'
871patchlevel='12' 871patchlevel='14'
872path_sep=':' 872path_sep=':'
873perl5='/usr/bin/perl' 873perl5='/usr/bin/perl'
874perl='' 874perl=''
@@ -884,8 +884,8 @@ pmake=''
884pr='' 884pr=''
885prefix='/usr' 885prefix='/usr'
886prefixexp='/usr' 886prefixexp='/usr'
887privlib='/usr/lib/perl5/5.12.3' 887privlib='/usr/lib/perl5/5.14.2'
888privlibexp='/usr/lib/perl5/5.12.3' 888privlibexp='/usr/lib/perl5/5.14.2'
889procselfexe='"/proc/self/exe"' 889procselfexe='"/proc/self/exe"'
890prototype='define' 890prototype='define'
891randbits='48' 891randbits='48'
@@ -937,17 +937,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
937sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 17, 29, 31, 0' 937sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 17, 29, 31, 0'
938sig_size='69' 938sig_size='69'
939signal_t='void' 939signal_t='void'
940sitearch='/usr/lib/perl5/site_perl/5.12.3/@ARCH@-thread-multi' 940sitearch='/usr/lib/perl5/site_perl/5.14.2/@ARCH@-thread-multi'
941sitearchexp='/usr/lib/perl5/site_perl/5.12.3/@ARCH@-thread-multi' 941sitearchexp='/usr/lib/perl5/site_perl/5.14.2/@ARCH@-thread-multi'
942sitebin='/usr/bin' 942sitebin='/usr/bin'
943sitebinexp='/usr/bin' 943sitebinexp='/usr/bin'
944sitehtml1dir='' 944sitehtml1dir=''
945sitehtml1direxp='' 945sitehtml1direxp=''
946sitehtml3dir='' 946sitehtml3dir=''
947sitehtml3direxp='' 947sitehtml3direxp=''
948sitelib='/usr/lib/perl5/site_perl/5.12.3' 948sitelib='/usr/lib/perl5/site_perl/5.14.2'
949sitelib_stem='/usr/lib/perl5/site_perl' 949sitelib_stem='/usr/lib/perl5/site_perl'
950sitelibexp='/usr/lib/perl5/site_perl/5.12.3' 950sitelibexp='/usr/lib/perl5/site_perl/5.14.2'
951siteman1dir='' 951siteman1dir=''
952siteman1direxp='' 952siteman1direxp=''
953siteman3dir='' 953siteman3dir=''
@@ -1045,17 +1045,17 @@ uvtype='unsigned long'
1045uvuformat='"lu"' 1045uvuformat='"lu"'
1046uvxformat='"lx"' 1046uvxformat='"lx"'
1047vaproto='define' 1047vaproto='define'
1048vendorarch='/usr/lib/perl5/vendor_perl/5.12.3/@ARCH@-thread-multi' 1048vendorarch='/usr/lib/perl5/vendor_perl/5.14.2/@ARCH@-thread-multi'
1049vendorarchexp='/usr/lib/perl5/vendor_perl/5.12.3/@ARCH@-thread-multi' 1049vendorarchexp='/usr/lib/perl5/vendor_perl/5.14.2/@ARCH@-thread-multi'
1050vendorbin='/usr/bin' 1050vendorbin='/usr/bin'
1051vendorbinexp='/usr/bin' 1051vendorbinexp='/usr/bin'
1052vendorhtml1dir=' ' 1052vendorhtml1dir=' '
1053vendorhtml1direxp='' 1053vendorhtml1direxp=''
1054vendorhtml3dir=' ' 1054vendorhtml3dir=' '
1055vendorhtml3direxp='' 1055vendorhtml3direxp=''
1056vendorlib='/usr/lib/perl5/vendor_perl/5.12.3' 1056vendorlib='/usr/lib/perl5/vendor_perl/5.14.2'
1057vendorlib_stem='/usr/lib/perl5/vendor_perl' 1057vendorlib_stem='/usr/lib/perl5/vendor_perl'
1058vendorlibexp='/usr/lib/perl5/vendor_perl/5.12.3' 1058vendorlibexp='/usr/lib/perl5/vendor_perl/5.14.2'
1059vendorman1dir=' ' 1059vendorman1dir=' '
1060vendorman1direxp='' 1060vendorman1direxp=''
1061vendorman3dir=' ' 1061vendorman3dir=' '
@@ -1064,8 +1064,8 @@ vendorprefix='/usr'
1064vendorprefixexp='/usr' 1064vendorprefixexp='/usr'
1065vendorscript='/usr/bin' 1065vendorscript='/usr/bin'
1066vendorscriptexp='/usr/bin' 1066vendorscriptexp='/usr/bin'
1067version='5.12.3' 1067version='5.14.2'
1068version_patchlevel_string='version 12 subversion 2' 1068version_patchlevel_string='version 14 subversion 2'
1069versiononly='undef' 1069versiononly='undef'
1070vi='' 1070vi=''
1071voidflags='15' 1071voidflags='15'
@@ -1075,12 +1075,19 @@ yaccflags=''
1075zcat='' 1075zcat=''
1076zip='zip' 1076zip='zip'
1077PERL_REVISION=5 1077PERL_REVISION=5
1078PERL_VERSION=12 1078PERL_VERSION=14
1079PERL_SUBVERSION=2 1079PERL_SUBVERSION=2
1080PERL_API_REVISION=5 1080PERL_API_REVISION=5
1081PERL_API_VERSION=12 1081PERL_API_VERSION=14
1082PERL_API_SUBVERSION=0 1082PERL_API_SUBVERSION=0
1083PERL_PATCHLEVEL='' 1083PERL_PATCHLEVEL=''
1084PERL_CONFIG_SH=true 1084PERL_CONFIG_SH=true
1085: Variables propagated from previous config.sh file. 1085: Variables propagated from previous config.sh file.
1086libdb_needs_pthread='N' 1086libdb_needs_pthread='N'
1087
1088d_static_inline='define'
1089d_sockaddr_sa_len='undef'
1090d_sin6_scope_id='define'
1091d_prctl='define'
1092d_prctl_set_name='define'
1093perl_static_inline='static __inline__'
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/config.sh-32 b/meta/recipes-devtools/perl/perl-5.14.2/config.sh-32
index 7259a0c6ae..7259a0c6ae 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/config.sh-32
+++ b/meta/recipes-devtools/perl/perl-5.14.2/config.sh-32
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/config.sh-32-be b/meta/recipes-devtools/perl/perl-5.14.2/config.sh-32-be
index a59a9abb5e..a59a9abb5e 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/config.sh-32-be
+++ b/meta/recipes-devtools/perl/perl-5.14.2/config.sh-32-be
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/config.sh-32-le b/meta/recipes-devtools/perl/perl-5.14.2/config.sh-32-le
index 10e4226567..10e4226567 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/config.sh-32-le
+++ b/meta/recipes-devtools/perl/perl-5.14.2/config.sh-32-le
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/config.sh-64 b/meta/recipes-devtools/perl/perl-5.14.2/config.sh-64
index 6929d3a09d..6929d3a09d 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/config.sh-64
+++ b/meta/recipes-devtools/perl/perl-5.14.2/config.sh-64
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/config.sh-64-be b/meta/recipes-devtools/perl/perl-5.14.2/config.sh-64-be
index c08ce3c431..c08ce3c431 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/config.sh-64-be
+++ b/meta/recipes-devtools/perl/perl-5.14.2/config.sh-64-be
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/config.sh-64-le b/meta/recipes-devtools/perl/perl-5.14.2/config.sh-64-le
index 277d2a9bee..277d2a9bee 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/config.sh-64-le
+++ b/meta/recipes-devtools/perl/perl-5.14.2/config.sh-64-le
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/cross-generate_uudmap.patch b/meta/recipes-devtools/perl/perl-5.14.2/cross-generate_uudmap.patch
new file mode 100644
index 0000000000..a00ad61d90
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/cross-generate_uudmap.patch
@@ -0,0 +1,15 @@
1Upstream-Status:Inappropriate [embedded specific]
2
3Index: perl-5.14.2/Makefile.SH
4===================================================================
5--- perl-5.14.2.orig/Makefile.SH
6+++ perl-5.14.2/Makefile.SH
7@@ -622,7 +622,7 @@ bitcount.h: generate_uudmap$(HOST_EXE_EX
8 $(RUN) ./generate_uudmap$(HOST_EXE_EXT) uudmap.h bitcount.h
9
10 generate_uudmap$(HOST_EXE_EXT): generate_uudmap$(OBJ_EXT)
11- $(CC) -o generate_uudmap$(EXE_EXT) $(LDFLAGS) generate_uudmap$(OBJ_EXT) $(libs)
12+ $(BUILD_CC) -o generate_uudmap$(EXE_EXT) generate_uudmap.c
13
14 miniperlmain$(OBJ_EXT): miniperlmain.c patchlevel.h
15 $(CCCMD) $(PLDLFLAGS) $*.c
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/arm_thread_stress_timeout.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/arm_thread_stress_timeout.diff
index 700b344ed3..1d80e954f6 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/arm_thread_stress_timeout.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/arm_thread_stress_timeout.diff
@@ -1,15 +1,18 @@
1Upstream-Status:Inappropriate [debian patch] 1From f624a9f1206cdd44fde99c40d82e2f326db485dd Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Sat, 1 Nov 2008 15:10:16 +0200
4Subject: Raise the timeout of ext/threads/shared/t/stress.t to accommodate
5 slower build hosts
2 6
3Subject: Raise the timeout of ext/threads/shared/t/stress.t to accommodate slower build hosts
4Bug-Debian: http://bugs.debian.org/501970 7Bug-Debian: http://bugs.debian.org/501970
5 8
6 9Patch-Name: debian/arm_thread_stress_timeout.diff
7--- 10---
8 dist/threads-shared/t/stress.t | 2 +- 11 dist/threads-shared/t/stress.t | 2 +-
9 1 files changed, 1 insertions(+), 1 deletions(-) 12 1 files changed, 1 insertions(+), 1 deletions(-)
10 13
11diff --git a/dist/threads-shared/t/stress.t b/dist/threads-shared/t/stress.t 14diff --git a/dist/threads-shared/t/stress.t b/dist/threads-shared/t/stress.t
12index adfd1ed..652a3e6 100755 15index adfd1ed..652a3e6 100644
13--- a/dist/threads-shared/t/stress.t 16--- a/dist/threads-shared/t/stress.t
14+++ b/dist/threads-shared/t/stress.t 17+++ b/dist/threads-shared/t/stress.t
15@@ -34,7 +34,7 @@ use threads::shared; 18@@ -34,7 +34,7 @@ use threads::shared;
@@ -21,5 +24,3 @@ index adfd1ed..652a3e6 100755
21 24
22 my $mutex = 1; 25 my $mutex = 1;
23 share($mutex); 26 share($mutex);
24--
25tg: (a508b62..) debian/arm_thread_stress_timeout (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/cpan_definstalldirs.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/cpan_definstalldirs.diff
index 3931c2d357..9fa937819e 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/cpan_definstalldirs.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/cpan_definstalldirs.diff
@@ -1,21 +1,23 @@
1Upstream-Status:Inappropriate [debian patch] 1From 4b63b9a433661cd13cfb1448dbfb90c5f53a53be Mon Sep 17 00:00:00 2001
2 2From: Brendan O'Dea <bod@debian.org>
3Subject: Provide a sensible INSTALLDIRS default for modules installed from CPAN. 3Date: Tue, 8 Mar 2005 19:30:38 +1100
4Subject: Provide a sensible INSTALLDIRS default for modules installed from
5 CPAN.
4 6
5Some modules which are included in core set INSTALLDIRS => 'perl' 7Some modules which are included in core set INSTALLDIRS => 'perl'
6explicitly in Makefile.PL or Build.PL. This makes sense for the normal @INC 8explicitly in Makefile.PL or Build.PL. This makes sense for the normal @INC
7ordering, but not ours. 9ordering, but not ours.
8 10
9 11Patch-Name: debian/cpan_definstalldirs.diff
10--- 12---
11 cpan/CPAN/lib/CPAN/FirstTime.pm | 4 ++-- 13 cpan/CPAN/lib/CPAN/FirstTime.pm | 4 ++--
12 1 files changed, 2 insertions(+), 2 deletions(-) 14 1 files changed, 2 insertions(+), 2 deletions(-)
13 15
14diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm 16diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm
15index 53ffbf1..53976ff 100644 17index 667bdca..c38c890 100644
16--- a/cpan/CPAN/lib/CPAN/FirstTime.pm 18--- a/cpan/CPAN/lib/CPAN/FirstTime.pm
17+++ b/cpan/CPAN/lib/CPAN/FirstTime.pm 19+++ b/cpan/CPAN/lib/CPAN/FirstTime.pm
18@@ -947,7 +947,7 @@ sub init { 20@@ -990,7 +990,7 @@ sub init {
19 my_prompt_loop(prefer_installer => 'MB', $matcher, 'MB|EUMM|RAND'); 21 my_prompt_loop(prefer_installer => 'MB', $matcher, 'MB|EUMM|RAND');
20 22
21 if (!$matcher or 'makepl_arg make_arg' =~ /$matcher/) { 23 if (!$matcher or 'makepl_arg make_arg' =~ /$matcher/) {
@@ -24,7 +26,7 @@ index 53ffbf1..53976ff 100644
24 my_dflt_prompt(make_arg => "", $matcher); 26 my_dflt_prompt(make_arg => "", $matcher);
25 if ( $CPAN::Config->{makepl_arg} =~ /LIBS=|INC=/ ) { 27 if ( $CPAN::Config->{makepl_arg} =~ /LIBS=|INC=/ ) {
26 $CPAN::Frontend->mywarn( 28 $CPAN::Frontend->mywarn(
27@@ -969,7 +969,7 @@ sub init { 29@@ -1022,7 +1022,7 @@ sub init {
28 my_dflt_prompt(make_install_arg => $CPAN::Config->{make_arg} || "", 30 my_dflt_prompt(make_install_arg => $CPAN::Config->{make_arg} || "",
29 $matcher); 31 $matcher);
30 32
@@ -33,5 +35,3 @@ index 53ffbf1..53976ff 100644
33 my_dflt_prompt(mbuild_arg => "", $matcher); 35 my_dflt_prompt(mbuild_arg => "", $matcher);
34 36
35 if (exists $CPAN::HandleConfig::keys{mbuild_install_build_command} 37 if (exists $CPAN::HandleConfig::keys{mbuild_install_build_command}
36--
37tg: (a508b62..) debian/cpan_definstalldirs (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/cpanplus_config_path.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/cpanplus_config_path.diff
index 8f2f5d2bd3..e3e5ec9d52 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/cpanplus_config_path.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/cpanplus_config_path.diff
@@ -1,25 +1,26 @@
1Upstream-Status:Inappropriate [debian patch] 1From 9825086b15f34f365a272cc8d6caf4e2044bede6 Mon Sep 17 00:00:00 2001
2
3From: Niko Tyni <ntyni@debian.org> 2From: Niko Tyni <ntyni@debian.org>
3Date: Mon, 6 Jul 2009 22:17:53 +0300
4Subject: Save local versions of CPANPLUS::Config::System into /etc/perl. 4Subject: Save local versions of CPANPLUS::Config::System into /etc/perl.
5 5
6This is a configuration file and needs to go in /etc by policy. 6This is a configuration file and needs to go in /etc by policy.
7Besides, /usr may not even be writable. 7Besides, /usr may not even be writable.
8 8
9This mirrors the Debian setup of CPAN.pm in debian/cpan_config_path. 9This mirrors the Debian setup of CPAN.pm in debian/cpan_config_path.
10 10
11See #533707. 11See #533707.
12 12
13Patch-Name: debian/cpanplus_config_path.diff
13--- 14---
14 cpan/CPANPLUS/lib/CPANPLUS/Configure.pm | 1 + 15 cpan/CPANPLUS/lib/CPANPLUS/Configure.pm | 1 +
15 cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm | 3 +++ 16 cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm | 3 +++
16 2 files changed, 4 insertions(+), 0 deletions(-) 17 2 files changed, 4 insertions(+), 0 deletions(-)
17 18
18diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm b/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm 19diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm b/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm
19index baac91d..a3794de 100644 20index ba1ca07..25cbe5f 100644
20--- a/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm 21--- a/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm
21+++ b/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm 22+++ b/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm
22@@ -276,6 +276,7 @@ Saves the configuration to the package name you provided. 23@@ -280,6 +280,7 @@ Saves the configuration to the package name you provided.
23 If this package is not C<CPANPLUS::Config::System>, it will 24 If this package is not C<CPANPLUS::Config::System>, it will
24 be saved in your C<.cpanplus> directory, otherwise it will 25 be saved in your C<.cpanplus> directory, otherwise it will
25 be attempted to be saved in the system wide directory. 26 be attempted to be saved in the system wide directory.
@@ -28,10 +29,10 @@ index baac91d..a3794de 100644
28 If no argument is provided, it will default to your personal 29 If no argument is provided, it will default to your personal
29 config. 30 config.
30diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm 31diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm
31index 1a38200..6ee0d82 100644 32index 443d5a4..f7085a8 100644
32--- a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm 33--- a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm
33+++ b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm 34+++ b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm
34@@ -199,6 +199,9 @@ use constant CONFIG_USER_FILE => sub { 35@@ -209,6 +209,9 @@ use constant CONFIG_USER_FILE => sub {
35 ) . '.pm'; 36 ) . '.pm';
36 }; 37 };
37 use constant CONFIG_SYSTEM_FILE => sub { 38 use constant CONFIG_SYSTEM_FILE => sub {
@@ -41,5 +42,3 @@ index 1a38200..6ee0d82 100644
41 require CPANPLUS::Internals; 42 require CPANPLUS::Internals;
42 require File::Basename; 43 require File::Basename;
43 my $dir = File::Basename::dirname( 44 my $dir = File::Basename::dirname(
44--
45tg: (a508b62..) debian/cpanplus_config_path (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/cpanplus_definstalldirs.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/cpanplus_definstalldirs.diff
index bd5fe80618..6d05c34fbb 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/cpanplus_definstalldirs.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/cpanplus_definstalldirs.diff
@@ -1,18 +1,21 @@
1Upstream-Status:Inappropriate [debian patch] 1From 66517b14790aa6410fd37e411dd62521e1e02b7f Mon Sep 17 00:00:00 2001
2
3From: Niko Tyni <ntyni@debian.org> 2From: Niko Tyni <ntyni@debian.org>
3Date: Mon, 6 Jul 2009 21:58:41 +0300
4Subject: Configure CPANPLUS to use the site directories by default. 4Subject: Configure CPANPLUS to use the site directories by default.
5Closes: 533707 5
6 6Bug-Debian: http://bugs.debian.org/533707
7
7The core modules usually default to INSTALLDIRS=perl (ExtUtils::MakeMaker) 8The core modules usually default to INSTALLDIRS=perl (ExtUtils::MakeMaker)
8or installdirs=core (Module::Build), so we need to explicitly ask for 9or installdirs=core (Module::Build), so we need to explicitly ask for
9the site destination to get upgraded versions into /usr/local. 10the site destination to get upgraded versions into /usr/local.
10 11
11See also the sister patch, debian/cpan_definstalldirs . 12See also the sister patch, debian/cpan_definstalldirs .
12 13
14Patch-Name: debian/cpanplus_definstalldirs.diff
13--- 15---
14 cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm | 30 +++++++++++++++++++++++++++ 16 cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm | 30 +++++++++++++++++++++++++++
15 1 files changed, 30 insertions(+), 0 deletions(-) 17 1 files changed, 30 insertions(+), 0 deletions(-)
18 create mode 100644 cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm
16 19
17diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm b/cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm 20diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm b/cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm
18new file mode 100644 21new file mode 100644
@@ -50,5 +53,3 @@ index 0000000..5e6e11e
50+} 53+}
51+ 54+
52+1; 55+1;
53--
54tg: (a508b62..) debian/cpanplus_definstalldirs (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/db_file_ver.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/db_file_ver.diff
index e9aa60a9b9..ff07ec567d 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/db_file_ver.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/db_file_ver.diff
@@ -1,17 +1,19 @@
1Upstream-Status:Inappropriate [debian patch] 1From 0d1acf7af6da3a3f933faba8459ad9ff03fe3e5b Mon Sep 17 00:00:00 2001
2 2From: Brendan O'Dea <bod@debian.org>
3Date: Fri, 16 Dec 2005 01:32:14 +1100
3Subject: Remove overly restrictive DB_File version check. 4Subject: Remove overly restrictive DB_File version check.
5
4Bug-Debian: http://bugs.debian.org/340047 6Bug-Debian: http://bugs.debian.org/340047
5 7
6Package dependencies ensure the correct library is linked at run-time. 8Package dependencies ensure the correct library is linked at run-time.
7 9
8 10Patch-Name: debian/db_file_ver.diff
9--- 11---
10 cpan/DB_File/version.c | 2 ++ 12 cpan/DB_File/version.c | 2 ++
11 1 files changed, 2 insertions(+), 0 deletions(-) 13 1 files changed, 2 insertions(+), 0 deletions(-)
12 14
13diff --git a/cpan/DB_File/version.c b/cpan/DB_File/version.c 15diff --git a/cpan/DB_File/version.c b/cpan/DB_File/version.c
14index 47158d3..67ccdff 100644 16index e01f6f6..544e6ee 100644
15--- a/cpan/DB_File/version.c 17--- a/cpan/DB_File/version.c
16+++ b/cpan/DB_File/version.c 18+++ b/cpan/DB_File/version.c
17@@ -48,6 +48,7 @@ __getBerkeleyDBInfo() 19@@ -48,6 +48,7 @@ __getBerkeleyDBInfo()
@@ -30,5 +32,3 @@ index 47158d3..67ccdff 100644
30 32
31 /* check that libdb is recent enough -- we need 2.3.4 or greater */ 33 /* check that libdb is recent enough -- we need 2.3.4 or greater */
32 if (Major == 2 && (Minor < 3 || (Minor == 3 && Patch < 4))) 34 if (Major == 2 && (Minor < 3 || (Minor == 3 && Patch < 4)))
33--
34tg: (a508b62..) debian/db_file_ver (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/deprecate-with-apt.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/deprecate-with-apt.diff
new file mode 100644
index 0000000000..65a132db36
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/deprecate-with-apt.diff
@@ -0,0 +1,406 @@
1From c2bd2059cfbba573643c748ace4ff4db4cbf015d Mon Sep 17 00:00:00 2001
2From: Dominic Hargreaves <dom@earth.li>
3Date: Mon, 17 May 2010 13:23:07 +0300
4Subject: Point users to Debian packages of deprecated core modules
5
6Bug-Debian: http://bugs.debian.org/580034
7
8Class::ISA, Switch, Pod::Plainer, and (partially) Shell were
9deprecated from the Perl core in 5.12.0.
10
11Class::ISA, Switch, Pod::Plainer were removed from the Perl core in
125.14.0.
13
14Shell and Devel::DProf, and Perl 4 libraries, were deprecated from the
15Perl core in 5.14.0.
16
17To get a clean transition, perl/perl-modules is going to recommend the
18separate Debian packages of these for one release cycle so that they will be
19pulled in by default on upgrades.
20
21However, on systems configured to ignore recommendations the deprecation
22warnings will still be useful, so modify them slightly to point to the
23separate packages instead.
24
25Patch-Name: debian/deprecate-with-apt.diff
26---
27 lib/abbrev.pl | 2 +-
28 lib/assert.pl | 2 +-
29 lib/bigfloat.pl | 2 +-
30 lib/bigint.pl | 2 +-
31 lib/bigrat.pl | 2 +-
32 lib/cacheout.pl | 2 +-
33 lib/complete.pl | 2 +-
34 lib/ctime.pl | 2 +-
35 lib/deprecate.pm | 16 +++++++++++++++-
36 lib/dotsh.pl | 2 +-
37 lib/exceptions.pl | 2 +-
38 lib/fastcwd.pl | 2 +-
39 lib/find.pl | 2 +-
40 lib/finddepth.pl | 2 +-
41 lib/flush.pl | 2 +-
42 lib/getcwd.pl | 2 +-
43 lib/getopt.pl | 2 +-
44 lib/getopts.pl | 2 +-
45 lib/hostname.pl | 2 +-
46 lib/importenv.pl | 2 +-
47 lib/look.pl | 2 +-
48 lib/newgetopt.pl | 2 +-
49 lib/open2.pl | 2 +-
50 lib/open3.pl | 2 +-
51 lib/pwd.pl | 2 +-
52 lib/shellwords.pl | 2 +-
53 lib/stat.pl | 2 +-
54 lib/syslog.pl | 2 +-
55 lib/tainted.pl | 2 +-
56 lib/termcap.pl | 2 +-
57 lib/timelocal.pl | 2 +-
58 lib/validate.pl | 2 +-
59 32 files changed, 46 insertions(+), 32 deletions(-)
60
61diff --git a/lib/abbrev.pl b/lib/abbrev.pl
62index d46321f..0168631 100644
63--- a/lib/abbrev.pl
64+++ b/lib/abbrev.pl
65@@ -1,4 +1,4 @@
66-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
67+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
68
69 ;# Usage:
70 ;# %foo = ();
71diff --git a/lib/assert.pl b/lib/assert.pl
72index d47e006..80593c5 100644
73--- a/lib/assert.pl
74+++ b/lib/assert.pl
75@@ -1,4 +1,4 @@
76-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
77+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
78
79 #
80 # This library is no longer being maintained, and is included for backward
81diff --git a/lib/bigfloat.pl b/lib/bigfloat.pl
82index 82d0f5c..c21bac6 100644
83--- a/lib/bigfloat.pl
84+++ b/lib/bigfloat.pl
85@@ -1,4 +1,4 @@
86-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
87+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
88
89 package bigfloat;
90 require "bigint.pl";
91diff --git a/lib/bigint.pl b/lib/bigint.pl
92index 6de1c53..031e8ad 100644
93--- a/lib/bigint.pl
94+++ b/lib/bigint.pl
95@@ -1,4 +1,4 @@
96-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
97+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
98
99 package bigint;
100 #
101diff --git a/lib/bigrat.pl b/lib/bigrat.pl
102index aaf1713..146a8f4 100644
103--- a/lib/bigrat.pl
104+++ b/lib/bigrat.pl
105@@ -1,4 +1,4 @@
106-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
107+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
108
109 package bigrat;
110 require "bigint.pl";
111diff --git a/lib/cacheout.pl b/lib/cacheout.pl
112index a5da453..937405d 100644
113--- a/lib/cacheout.pl
114+++ b/lib/cacheout.pl
115@@ -1,4 +1,4 @@
116-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
117+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
118
119 #
120 # This library is no longer being maintained, and is included for backward
121diff --git a/lib/complete.pl b/lib/complete.pl
122index 9ed041c..2ab0c6a 100644
123--- a/lib/complete.pl
124+++ b/lib/complete.pl
125@@ -1,4 +1,4 @@
126-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
127+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
128
129 ;#
130 #
131diff --git a/lib/ctime.pl b/lib/ctime.pl
132index aa00d00..ac24e71 100644
133--- a/lib/ctime.pl
134+++ b/lib/ctime.pl
135@@ -1,4 +1,4 @@
136-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
137+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
138
139 ;# ctime.pl is a simple Perl emulation for the well known ctime(3C) function.
140 #
141diff --git a/lib/deprecate.pm b/lib/deprecate.pm
142index 7562c69..fc548b0 100644
143--- a/lib/deprecate.pm
144+++ b/lib/deprecate.pm
145@@ -7,6 +7,14 @@ our $VERSION = 0.02;
146 our %Config;
147 unless (%Config) { require Config; *Config = \%Config::Config; }
148
149+# Debian-specific change: recommend the separate Debian packages of
150+# deprecated modules where available
151+
152+my %DEBIAN_PACKAGES = (
153+ "Shell" => "libshell-perl",
154+ "Devel::DProf" => "libdevel-dprof-perl"
155+);
156+
157 # This isn't a public API. It's internal to code maintained by the perl-porters
158 # If you would like it to be a public API, please send a patch with
159 # documentation and tests. Until then, it may change without warning.
160@@ -58,9 +66,15 @@ EOM
161 if (defined $callers_bitmask
162 && (vec($callers_bitmask, $warnings::Offsets{deprecated}, 1)
163 || vec($callers_bitmask, $warnings::Offsets{all}, 1))) {
164- warn <<"EOM";
165+ if (my $deb = $DEBIAN_PACKAGES{$package}) {
166+ warn <<"EOM";
167+$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.
168+EOM
169+ } else {
170+ warn <<"EOM";
171 $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.
172 EOM
173+ }
174 }
175 }
176 }
177diff --git a/lib/dotsh.pl b/lib/dotsh.pl
178index 92f1f4c..4085122 100644
179--- a/lib/dotsh.pl
180+++ b/lib/dotsh.pl
181@@ -1,4 +1,4 @@
182-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
183+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
184
185 #
186 # @(#)dotsh.pl 03/19/94
187diff --git a/lib/exceptions.pl b/lib/exceptions.pl
188index 8af64c8..b5b1427 100644
189--- a/lib/exceptions.pl
190+++ b/lib/exceptions.pl
191@@ -1,4 +1,4 @@
192-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
193+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
194
195 # exceptions.pl
196 # tchrist@convex.com
197diff --git a/lib/fastcwd.pl b/lib/fastcwd.pl
198index 70007a1..2c7c42e 100644
199--- a/lib/fastcwd.pl
200+++ b/lib/fastcwd.pl
201@@ -1,4 +1,4 @@
202-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
203+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
204
205 # By John Bazik
206 #
207diff --git a/lib/find.pl b/lib/find.pl
208index 8e1b42c..7fb2fbf 100644
209--- a/lib/find.pl
210+++ b/lib/find.pl
211@@ -1,4 +1,4 @@
212-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
213+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
214
215 # This library is deprecated and unmaintained. It is included for
216 # compatibility with Perl 4 scripts which may use it, but it will be
217diff --git a/lib/finddepth.pl b/lib/finddepth.pl
218index 479905f..c07cea5 100644
219--- a/lib/finddepth.pl
220+++ b/lib/finddepth.pl
221@@ -1,4 +1,4 @@
222-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
223+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
224
225 # This library is deprecated and unmaintained. It is included for
226 # compatibility with Perl 4 scripts which may use it, but it will be
227diff --git a/lib/flush.pl b/lib/flush.pl
228index c427976..e5ed0ae 100644
229--- a/lib/flush.pl
230+++ b/lib/flush.pl
231@@ -1,4 +1,4 @@
232-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
233+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
234
235 #
236 # This library is no longer being maintained, and is included for backward
237diff --git a/lib/getcwd.pl b/lib/getcwd.pl
238index 77b2442..3810a99 100644
239--- a/lib/getcwd.pl
240+++ b/lib/getcwd.pl
241@@ -1,4 +1,4 @@
242-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
243+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
244
245 # By Brandon S. Allbery
246 #
247diff --git a/lib/getopt.pl b/lib/getopt.pl
248index 1d4008a..019a165 100644
249--- a/lib/getopt.pl
250+++ b/lib/getopt.pl
251@@ -1,4 +1,4 @@
252-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
253+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
254
255 ;# $RCSfile: getopt.pl,v $$Revision: 4.1 $$Date: 92/08/07 18:23:58 $
256 #
257diff --git a/lib/getopts.pl b/lib/getopts.pl
258index 37ecb4a..3d27418 100644
259--- a/lib/getopts.pl
260+++ b/lib/getopts.pl
261@@ -1,4 +1,4 @@
262-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
263+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
264
265 ;# getopts.pl - a better getopt.pl
266 #
267diff --git a/lib/hostname.pl b/lib/hostname.pl
268index f57375e..b055d30 100644
269--- a/lib/hostname.pl
270+++ b/lib/hostname.pl
271@@ -1,4 +1,4 @@
272-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
273+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
274
275 # From: asherman@fmrco.com (Aaron Sherman)
276 #
277diff --git a/lib/importenv.pl b/lib/importenv.pl
278index 625edf6..52ee722 100644
279--- a/lib/importenv.pl
280+++ b/lib/importenv.pl
281@@ -1,4 +1,4 @@
282-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
283+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
284
285 # This library is no longer being maintained, and is included for backward
286 # compatibility with Perl 4 programs which may require it.
287diff --git a/lib/look.pl b/lib/look.pl
288index 7be55b2..12dcace 100644
289--- a/lib/look.pl
290+++ b/lib/look.pl
291@@ -1,4 +1,4 @@
292-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
293+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
294
295 ;# Usage: &look(*FILEHANDLE,$key,$dict,$fold)
296 #
297diff --git a/lib/newgetopt.pl b/lib/newgetopt.pl
298index 4ac9470..08df6cb 100644
299--- a/lib/newgetopt.pl
300+++ b/lib/newgetopt.pl
301@@ -1,4 +1,4 @@
302-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
303+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
304
305 # This library is no longer being maintained, and is included for backward
306 # compatibility with Perl 4 programs which may require it.
307diff --git a/lib/open2.pl b/lib/open2.pl
308index ceb5653..a05f2ab 100644
309--- a/lib/open2.pl
310+++ b/lib/open2.pl
311@@ -1,4 +1,4 @@
312-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
313+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
314
315 # This legacy library is deprecated and will be removed in a future
316 # release of perl.
317diff --git a/lib/open3.pl b/lib/open3.pl
318index 9f4d5a4..27f7ab4 100644
319--- a/lib/open3.pl
320+++ b/lib/open3.pl
321@@ -1,4 +1,4 @@
322-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
323+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
324
325 # This legacy library is deprecated and will be removed in a future
326 # release of perl.
327diff --git a/lib/pwd.pl b/lib/pwd.pl
328index bd8123b..bdace6e 100644
329--- a/lib/pwd.pl
330+++ b/lib/pwd.pl
331@@ -1,4 +1,4 @@
332-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
333+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
334
335 ;# pwd.pl - keeps track of current working directory in PWD environment var
336 ;#
337diff --git a/lib/shellwords.pl b/lib/shellwords.pl
338index b562f5f..7f16375 100644
339--- a/lib/shellwords.pl
340+++ b/lib/shellwords.pl
341@@ -1,4 +1,4 @@
342-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
343+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
344
345 ;# This legacy library is deprecated and will be removed in a future
346 ;# release of perl.
347diff --git a/lib/stat.pl b/lib/stat.pl
348index feda273..910ce1c 100644
349--- a/lib/stat.pl
350+++ b/lib/stat.pl
351@@ -1,4 +1,4 @@
352-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
353+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
354
355 ;# This legacy library is deprecated and will be removed in a future
356 ;# release of perl.
357diff --git a/lib/syslog.pl b/lib/syslog.pl
358index 7504a5d..4c2b95f 100644
359--- a/lib/syslog.pl
360+++ b/lib/syslog.pl
361@@ -1,4 +1,4 @@
362-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
363+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
364
365 #
366 # syslog.pl
367diff --git a/lib/tainted.pl b/lib/tainted.pl
368index e88bca1..d58c765 100644
369--- a/lib/tainted.pl
370+++ b/lib/tainted.pl
371@@ -1,4 +1,4 @@
372-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
373+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
374
375 # This legacy library is deprecated and will be removed in a future
376 # release of perl.
377diff --git a/lib/termcap.pl b/lib/termcap.pl
378index a84cba3..e641f4d 100644
379--- a/lib/termcap.pl
380+++ b/lib/termcap.pl
381@@ -1,4 +1,4 @@
382-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
383+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
384
385 ;# $RCSfile: termcap.pl,v $$Revision: 4.1 $$Date: 92/08/07 18:24:16 $
386 #
387diff --git a/lib/timelocal.pl b/lib/timelocal.pl
388index fefb9da..2297888 100644
389--- a/lib/timelocal.pl
390+++ b/lib/timelocal.pl
391@@ -1,4 +1,4 @@
392-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
393+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
394
395 ;# timelocal.pl
396 ;#
397diff --git a/lib/validate.pl b/lib/validate.pl
398index fc2d16a..1a8aef4 100644
399--- a/lib/validate.pl
400+++ b/lib/validate.pl
401@@ -1,4 +1,4 @@
402-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
403+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
404
405 ;# The validate routine takes a single multiline string consisting of
406 ;# lines containing a filename plus a file test to try on it. (The
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/disable-zlib-bundling.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/disable-zlib-bundling.diff
index 44349a534e..80c0acb39d 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/disable-zlib-bundling.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/disable-zlib-bundling.diff
@@ -1,11 +1,12 @@
1Upstream-Status:Inappropriate [debian patch] 1From 90c7967530102c66bbff25d89273d3f0bf189a83 Mon Sep 17 00:00:00 2001
2
3From: Niko Tyni <ntyni@debian.org> 2From: Niko Tyni <ntyni@debian.org>
3Date: Fri, 10 Apr 2009 01:17:43 +0300
4Subject: Disable zlib bundling in Compress::Raw::Zlib 4Subject: Disable zlib bundling in Compress::Raw::Zlib
5 5
6Compress::Raw::Zlib statically links its bundled version of zlib 6Compress::Raw::Zlib statically links its bundled version of zlib
7by default, but we use the system library instead. 7by default, but we use the system library instead.
8 8
9Patch-Name: debian/disable-zlib-bundling.diff
9--- 10---
10 cpan/Compress-Raw-Zlib/config.in | 6 +++--- 11 cpan/Compress-Raw-Zlib/config.in | 6 +++---
11 1 files changed, 3 insertions(+), 3 deletions(-) 12 1 files changed, 3 insertions(+), 3 deletions(-)
@@ -27,5 +28,3 @@ index c56cc03..2c6659b 100644
27 28
28 OLD_ZLIB = False 29 OLD_ZLIB = False
29 GZIP_OS_CODE = AUTO_DETECT 30 GZIP_OS_CODE = AUTO_DETECT
30--
31tg: (a508b62..) debian/disable-zlib-bundling (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/doc_info.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/doc_info.diff
index be75f30144..a118da341c 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/doc_info.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/doc_info.diff
@@ -1,19 +1,21 @@
1Upstream-Status:Inappropriate [debian patch] 1From 16ebe1f5232621d8894aa6c6210fdf2fc9b54a84 Mon Sep 17 00:00:00 2001
2 2From: Brendan O'Dea <bod@debian.org>
3Subject: Replace generic man(1) instructions with Debian-specific information. 3Date: Fri, 18 Mar 2005 22:22:25 +1100
4Subject: Replace generic man(1) instructions with Debian-specific
5 information.
4 6
5Indicate that the user needs to install the perl-doc package. 7Indicate that the user needs to install the perl-doc package.
6 8
7 9Patch-Name: debian/doc_info.diff
8--- 10---
9 pod/perl.pod | 12 ++++++++++-- 11 pod/perl.pod | 12 ++++++++++--
10 1 files changed, 10 insertions(+), 2 deletions(-) 12 1 files changed, 10 insertions(+), 2 deletions(-)
11 13
12diff --git a/pod/perl.pod b/pod/perl.pod 14diff --git a/pod/perl.pod b/pod/perl.pod
13index e67f062..3b8ae83 100644 15index 29cabf1..529ad6f 100644
14--- a/pod/perl.pod 16--- a/pod/perl.pod
15+++ b/pod/perl.pod 17+++ b/pod/perl.pod
16@@ -242,8 +242,16 @@ For ease of access, the Perl manual has been split up into several sections. 18@@ -261,8 +261,16 @@ For ease of access, the Perl manual has been split up into several sections.
17 perlwin32 Perl notes for Windows 19 perlwin32 Perl notes for Windows
18 20
19 21
@@ -32,5 +34,3 @@ index e67f062..3b8ae83 100644
32 34
33 In general, if something strange has gone wrong with your program and you're 35 In general, if something strange has gone wrong with your program and you're
34 not sure where you should look for help, try the B<-w> switch first. It will 36 not sure where you should look for help, try the B<-w> switch first. It will
35--
36tg: (a508b62..) debian/doc_info (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/enc2xs_inc.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/enc2xs_inc.diff
index 4cac4b75f4..7c33e90fda 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/enc2xs_inc.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/enc2xs_inc.diff
@@ -1,6 +1,8 @@
1Upstream-Status:Inappropriate [debian patch] 1From e9fd6e7729b9ebd9bc74b8cf295cd3a7f5aa5472 Mon Sep 17 00:00:00 2001
2 2From: Brendan O'Dea <bod@debian.org>
3Date: Tue, 8 Mar 2005 19:30:38 +1100
3Subject: Tweak enc2xs to follow symlinks and ignore missing @INC directories. 4Subject: Tweak enc2xs to follow symlinks and ignore missing @INC directories.
5
4Bug-Debian: http://bugs.debian.org/290336 6Bug-Debian: http://bugs.debian.org/290336
5 7
6- ignore missing directories, 8- ignore missing directories,
@@ -8,6 +10,7 @@ Bug-Debian: http://bugs.debian.org/290336
8- filter "." out when running "enc2xs -C", it's unnecessary and causes 10- filter "." out when running "enc2xs -C", it's unnecessary and causes
9 issues with follow => 1 (see #603686 and [rt.cpan.org #64585]) 11 issues with follow => 1 (see #603686 and [rt.cpan.org #64585])
10 12
13Patch-Name: debian/enc2xs_inc.diff
11--- 14---
12 cpan/Encode/bin/enc2xs | 8 ++++---- 15 cpan/Encode/bin/enc2xs | 8 ++++----
13 1 files changed, 4 insertions(+), 4 deletions(-) 16 1 files changed, 4 insertions(+), 4 deletions(-)
@@ -48,5 +51,3 @@ index 773c0a0..bc1ae1b 100644
48 $_ModLines = ""; 51 $_ModLines = "";
49 for my $enc ( sort keys %LocalMod ) { 52 for my $enc ( sort keys %LocalMod ) {
50 $_ModLines .= 53 $_ModLines .=
51--
52tg: (a508b62..) debian/enc2xs_inc (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/errno_ver.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/errno_ver.diff
index de73ed549a..0f3bfa6667 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/errno_ver.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/errno_ver.diff
@@ -1,25 +1,28 @@
1Upstream-Status:Inappropriate [debian patch] 1From 973bed42db538804179f39d66dab37c82c6ade24 Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Fri, 16 Dec 2005 01:32:14 +1100
4Subject: Remove Errno version check due to upgrade problems with long-running
5 processes.
2 6
3Subject: Remove Errno version check due to upgrade problems with long-running processes.
4Bug-Debian: http://bugs.debian.org/343351 7Bug-Debian: http://bugs.debian.org/343351
5 8
6Remove version check which can cause problems for long running 9Remove version check which can cause problems for long running
7processes embedding perl when upgrading to a newer version, 10processes embedding perl when upgrading to a newer version,
8compatible, but built on a different machine. 11compatible, but built on a different machine.
9 12
10 13Patch-Name: debian/errno_ver.diff
11--- 14---
12 ext/Errno/Errno_pm.PL | 5 ----- 15 ext/Errno/Errno_pm.PL | 5 -----
13 1 files changed, 0 insertions(+), 5 deletions(-) 16 1 files changed, 0 insertions(+), 5 deletions(-)
14 17
15diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL 18diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
16index 124b8fc..b554cd4 100644 19index 56bc815..01f510a 100644
17--- a/ext/Errno/Errno_pm.PL 20--- a/ext/Errno/Errno_pm.PL
18+++ b/ext/Errno/Errno_pm.PL 21+++ b/ext/Errno/Errno_pm.PL
19@@ -341,13 +341,8 @@ EOF 22@@ -332,13 +332,8 @@ EOF
23
20 package Errno; 24 package Errno;
21 our (\@EXPORT_OK,\%EXPORT_TAGS,\@ISA,\$VERSION,\%errno,\$AUTOLOAD); 25 require Exporter;
22 use Exporter ();
23-use Config; 26-use Config;
24 use strict; 27 use strict;
25 28
@@ -27,8 +30,6 @@ index 124b8fc..b554cd4 100644
27-"$Config{'archname'}-$Config{'osvers'}" or 30-"$Config{'archname'}-$Config{'osvers'}" or
28- die "Errno architecture ($Config{'archname'}-$Config{'osvers'}) does not match executable architecture (\$Config{'archname'}-\$Config{'osvers'})"; 31- die "Errno architecture ($Config{'archname'}-$Config{'osvers'}) does not match executable architecture (\$Config{'archname'}-\$Config{'osvers'})";
29- 32-
30 \$VERSION = "$VERSION"; 33 our \$VERSION = "$VERSION";
31 \$VERSION = eval \$VERSION; 34 \$VERSION = eval \$VERSION;
32 \@ISA = qw(Exporter); 35 our \@ISA = 'Exporter';
33--
34tg: (a508b62..) debian/errno_ver (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/extutils_set_libperl_path.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/extutils_set_libperl_path.diff
new file mode 100644
index 0000000000..4c2da327d5
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/extutils_set_libperl_path.diff
@@ -0,0 +1,23 @@
1From 334ac01a8306485ed901f4fb45d79f39a944fe77 Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Tue, 8 Mar 2005 19:30:38 +1100
4Subject: EU:MM: Set location of libperl.a to /usr/lib
5
6Patch-Name: debian/extutils_set_libperl_path.diff
7---
8 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +-
9 1 files changed, 1 insertions(+), 1 deletions(-)
10
11diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
12index 4ee6b3f..42bbb83 100644
13--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
14+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
15@@ -2409,7 +2409,7 @@ MAP_PRELIBS = $Config{perllibs} $Config{cryptlib}
16 ($lperl = $libperl) =~ s/\$\(A\)/$self->{LIB_EXT}/;
17 }
18 unless ($libperl && -f $lperl) { # Ilya's code...
19- my $dir = $self->{PERL_SRC} || "$self->{PERL_ARCHLIB}/CORE";
20+ my $dir = $self->{PERL_SRC} || "/usr/lib";
21 $dir = "$self->{PERL_ARCHLIB}/.." if $self->{UNINSTALLED_PERL};
22 $libperl ||= "libperl$self->{LIB_EXT}";
23 $libperl = "$dir/$libperl";
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fakeroot.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/fakeroot.diff
index 2c8def5a81..bd90af9b39 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/fakeroot.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/fakeroot.diff
@@ -1,5 +1,6 @@
1Upstream-Status:Inappropriate [debian patch] 1From a46a7107fb045ffa6047488b8002fec97b621a11 Mon Sep 17 00:00:00 2001
2 2From: Brendan O'Dea <bod@debian.org>
3Date: Fri, 18 Mar 2005 22:22:25 +1100
3Subject: Postpone LD_LIBRARY_PATH evaluation to the binary targets. 4Subject: Postpone LD_LIBRARY_PATH evaluation to the binary targets.
4 5
5Modify the setting of LD_LIBRARY_PATH to append pre-existing values at the 6Modify the setting of LD_LIBRARY_PATH to append pre-existing values at the
@@ -9,16 +10,16 @@ This is required when building packages with dpkg-buildpackage and fakeroot,
9since fakeroot (which now sets LD_LIBRARY_PATH) is not used for the "build" 10since fakeroot (which now sets LD_LIBRARY_PATH) is not used for the "build"
10rule where the Makefile is created, but is for the clean/binary* targets. 11rule where the Makefile is created, but is for the clean/binary* targets.
11 12
12 13Patch-Name: debian/fakeroot.diff
13--- 14---
14 Makefile.SH | 9 ++------- 15 Makefile.SH | 9 ++-------
15 1 files changed, 2 insertions(+), 7 deletions(-) 16 1 files changed, 2 insertions(+), 7 deletions(-)
16 17
17diff --git a/Makefile.SH b/Makefile.SH 18diff --git a/Makefile.SH b/Makefile.SH
18index fc13b2b..d420229 100755 19index eb6326a..1dac585 100755
19--- a/Makefile.SH 20--- a/Makefile.SH
20+++ b/Makefile.SH 21+++ b/Makefile.SH
21@@ -50,12 +50,7 @@ case "$useshrplib" in 22@@ -36,12 +36,7 @@ case "$useshrplib" in
22 true) 23 true)
23 # Prefix all runs of 'miniperl' and 'perl' with 24 # Prefix all runs of 'miniperl' and 'perl' with
24 # $ldlibpth so that ./perl finds *this* shared libperl. 25 # $ldlibpth so that ./perl finds *this* shared libperl.
@@ -32,7 +33,7 @@ index fc13b2b..d420229 100755
32 33
33 pldlflags="$cccdlflags" 34 pldlflags="$cccdlflags"
34 static_ldflags='' 35 static_ldflags=''
35@@ -126,7 +121,7 @@ true) 36@@ -112,7 +107,7 @@ true)
36 ;; 37 ;;
37 esac 38 esac
38 case "$ldlibpthname" in 39 case "$ldlibpthname" in
@@ -41,5 +42,3 @@ index fc13b2b..d420229 100755
41 *) 42 *)
42 case "$osname" in 43 case "$osname" in
43 os2) 44 os2)
44--
45tg: (a508b62..) debian/fakeroot (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/find_html2text.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/find_html2text.diff
new file mode 100644
index 0000000000..16de7ad022
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/find_html2text.diff
@@ -0,0 +1,35 @@
1From ca66b95be369b47a6d372c3653be57cd737f7f21 Mon Sep 17 00:00:00 2001
2From: Andreas Marschke <andreas.marschke@googlemail.com>
3Date: Sat, 17 Sep 2011 11:38:42 +0100
4Subject: Configure CPAN::Distribution with correct name of html2text
5
6Bug-Debian: http://bugs.debian.org/640479
7Patch-Name: debian/find_html2text.diff
8
9If you use cpan from Debian you usually wind up trying to read online
10documentation through it. Unfortunately cpan can't find the
11html2text.pl script even though it is installed using the Debian
12package 'html2text'.
13
14Please see the attached patch for a quick fix of this issue.
15
16[Maintainer's note: html2text in Debian is not the same implementation
17as the html2text.pl which is expected, but should provide similar
18functionality].
19---
20 cpan/CPAN/lib/CPAN/Distribution.pm | 2 +-
21 1 files changed, 1 insertions(+), 1 deletions(-)
22
23diff --git a/cpan/CPAN/lib/CPAN/Distribution.pm b/cpan/CPAN/lib/CPAN/Distribution.pm
24index 637ab27..a8193d9 100644
25--- a/cpan/CPAN/lib/CPAN/Distribution.pm
26+++ b/cpan/CPAN/lib/CPAN/Distribution.pm
27@@ -3715,7 +3715,7 @@ sub _display_url {
28 if $CPAN::DEBUG;
29
30 # should we define it in the config instead?
31- my $html_converter = "html2text.pl";
32+ my $html_converter = "html2text";
33
34 my $web_browser = $CPAN::Config->{'lynx'} || undef;
35 my $web_browser_out = $web_browser
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/document_makemaker_ccflags.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/document_makemaker_ccflags.diff
new file mode 100644
index 0000000000..3bda8f7099
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/document_makemaker_ccflags.diff
@@ -0,0 +1,31 @@
1From f0e3a51bd7286788e410510af86a6c07edac4445 Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Mon, 30 May 2011 22:54:24 +0300
4Subject: Document that CCFLAGS should include $Config{ccflags}
5
6Bug: https://rt.cpan.org/Public/Bug/Display.html?id=68613
7Bug-Debian: http://bugs.debian.org/628522
8
9Compiling XS extensions without $Config{ccflags} can break the
10binary interface on some platforms.
11
12Patch-Name: fixes/document_makemaker_ccflags.diff
13---
14 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm | 4 ++++
15 1 files changed, 4 insertions(+), 0 deletions(-)
16
17diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
18index be9624e..c56ca8f 100644
19--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
20+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
21@@ -1524,6 +1524,10 @@ currently used by MakeMaker but may be handy in Makefile.PLs.
22 String that will be included in the compiler call command line between
23 the arguments INC and OPTIMIZE.
24
25+The default value is taken from $Config{ccflags}. When overriding
26+CCFLAGS, make sure to include the $Config{ccflags} settings to avoid
27+binary incompatibilities.
28+
29 =item CONFIG
30
31 Arrayref. E.g. [qw(archname manext)] defines ARCHNAME & MANEXT from
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/extutils-cbuilder-cflags.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/extutils-cbuilder-cflags.diff
new file mode 100644
index 0000000000..cd86a76dea
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/extutils-cbuilder-cflags.diff
@@ -0,0 +1,86 @@
1From 0c91624f1f9ec46a6f13cad3031b706213233479 Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Thu, 28 Apr 2011 09:18:54 +0300
4Subject: Append CFLAGS and LDFLAGS to their Config.pm counterparts in
5 EU::CBuilder
6
7Bug: http://rt.perl.org/rt3//Public/Bug/Display.html?id=89478
8Bug-Debian: http://bugs.debian.org/624460
9Origin: upstream, http://perl5.git.perl.org/perl.git/commitdiff/011e8fb476b5fb27c9aa613360d918aa0b798b3d
10
11Since ExtUtils::CBuilder 0.27_04 (bleadperl commit 06e8058f27e4),
12CFLAGS and LDFLAGS from the environment have overridden the Config.pm
13ccflags and ldflags settings. This can cause binary incompatibilities
14between the core Perl and extensions built with EU::CBuilder.
15
16Append to the Config.pm values rather than overriding them.
17
18Patch-Name: fixes/extutils-cbuilder-cflags.diff
19---
20 .../lib/ExtUtils/CBuilder/Base.pm | 6 +++-
21 dist/ExtUtils-CBuilder/t/04-base.t | 25 +++++++++++++++++++-
22 2 files changed, 28 insertions(+), 3 deletions(-)
23
24diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
25index b572312..2255c51 100644
26--- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
27+++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
28@@ -40,11 +40,13 @@ sub new {
29 $self->{config}{$k} = $v unless exists $self->{config}{$k};
30 }
31 $self->{config}{cc} = $ENV{CC} if defined $ENV{CC};
32- $self->{config}{ccflags} = $ENV{CFLAGS} if defined $ENV{CFLAGS};
33+ $self->{config}{ccflags} = join(" ", $self->{config}{ccflags}, $ENV{CFLAGS})
34+ if defined $ENV{CFLAGS};
35 $self->{config}{cxx} = $ENV{CXX} if defined $ENV{CXX};
36 $self->{config}{cxxflags} = $ENV{CXXFLAGS} if defined $ENV{CXXFLAGS};
37 $self->{config}{ld} = $ENV{LD} if defined $ENV{LD};
38- $self->{config}{ldflags} = $ENV{LDFLAGS} if defined $ENV{LDFLAGS};
39+ $self->{config}{ldflags} = join(" ", $self->{config}{ldflags}, $ENV{LDFLAGS})
40+ if defined $ENV{LDFLAGS};
41
42 unless ( exists $self->{config}{cxx} ) {
43 my ($ccpath, $ccbase, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/);
44diff --git a/dist/ExtUtils-CBuilder/t/04-base.t b/dist/ExtUtils-CBuilder/t/04-base.t
45index db0ef98..49819a1 100644
46--- a/dist/ExtUtils-CBuilder/t/04-base.t
47+++ b/dist/ExtUtils-CBuilder/t/04-base.t
48@@ -1,7 +1,7 @@
49 #! perl -w
50
51 use strict;
52-use Test::More tests => 50;
53+use Test::More tests => 64;
54 use Config;
55 use Cwd;
56 use File::Path qw( mkpath );
57@@ -328,6 +328,29 @@ is_deeply( $mksymlists_args,
58 "_prepare_mksymlists_args(): got expected arguments for Mksymlists",
59 );
60
61+my %testvars = (
62+ CFLAGS => 'ccflags',
63+ LDFLAGS => 'ldflags',
64+);
65+
66+while (my ($VAR, $var) = each %testvars) {
67+ local $ENV{$VAR};
68+ $base = ExtUtils::CBuilder::Base->new( quiet => 1 );
69+ ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" );
70+ isa_ok( $base, 'ExtUtils::CBuilder::Base' );
71+ like($base->{config}{$var}, qr/\Q$Config{$var}/,
72+ "honours $var from Config.pm");
73+
74+ $ENV{$VAR} = "-foo -bar";
75+ $base = ExtUtils::CBuilder::Base->new( quiet => 1 );
76+ ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" );
77+ isa_ok( $base, 'ExtUtils::CBuilder::Base' );
78+ like($base->{config}{$var}, qr/\Q$ENV{$VAR}/,
79+ "honours $VAR from the environment");
80+ like($base->{config}{$var}, qr/\Q$Config{$var}/,
81+ "doesn't override $var from Config.pm with $VAR from the environment");
82+}
83+
84 #####
85
86 for ($source_file, $object_file, $lib_file) {
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/h2ph-multiarch.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/h2ph-multiarch.diff
new file mode 100644
index 0000000000..b18b464b07
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/h2ph-multiarch.diff
@@ -0,0 +1,69 @@
1From 37969e249dfc593ebabfcb682893b6c69dc6b313 Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Wed, 18 May 2011 21:44:06 -0700
4Subject: Make h2ph correctly search gcc include directories
5
6Bug: http://rt.perl.org/rt3/Public/Bug/Display.html?id=90122
7Bug-Debian: http://bugs.debian.org/625808
8Origin: upstream, http://perl5.git.perl.org/perl.git/commit/e7ec705d9b91d35fa99dc50d0a232b6372160a77
9
10System header conversion with "h2ph -a" is currently broken on Ubuntu
11Natty and Oneiric (unless the gcc-multilib package is installed for
12backward compatibility), resulting in things like
13
14 # perl -e 'require "syscall.ph"'
15 Can't locate asm/unistd.ph in @INC [...]
16
17This happens because Ubuntu has switched to a 'multiarch' setup, see
18<https://wiki.ubuntu.com/MultiarchSpec> for details.
19
20The asm subdirectory isn't in $Config{usrinc} anymore: /usr/include/asm
21is now /usr/include/x86_64-linux-gnu/asm. (The third component of the
22new path varies with the actual architecture.)
23
24gcc --print-search-dirs doesn't really tell anything about where gcc
25looks for the include directories, it was just used to find the gcc
26internal directory prefix.
27
28Parse the output of "gcc -v -E" instead, and append $Config{usrinc}
29for safety. Duplicates shouldn't matter.
30
31The h2ph "-a" switch isn't currently tested automatically, and that
32seems nontrivial to do portably. Manual testing was done with
33
34 # mkdir ttt
35 # ./perl -Ilib ./utils/h2ph -a -d $(pwd)/ttt syscall.h
36
37The gcc invocation has been tested to work with gcc 4.6, 4.1, and 3.3.
38
39http://bugs.debian.org/625808
40https://bugs.launchpad.net/bugs/777903
41
42Patch-Name: fixes/h2ph-multiarch.diff
43---
44 utils/h2ph.PL | 12 ++----------
45 1 files changed, 2 insertions(+), 10 deletions(-)
46
47diff --git a/utils/h2ph.PL b/utils/h2ph.PL
48index 87f3c7d..4545d6d 100644
49--- a/utils/h2ph.PL
50+++ b/utils/h2ph.PL
51@@ -761,16 +761,8 @@ sub queue_includes_from
52 # non-GCC?) C compilers, but gcc uses additional include directories.
53 sub inc_dirs
54 {
55- my $from_gcc = `LC_ALL=C $Config{cc} -v 2>&1`;
56- if( !( $from_gcc =~ s:^Reading specs from (.*?)/specs\b.*:$1/include:s ) )
57- { # gcc-4+ :
58- $from_gcc = `LC_ALL=C $Config{cc} -print-search-dirs 2>&1`;
59- if ( !($from_gcc =~ s/^install:\s*([^\s]+[^\s\/])([\s\/]*).*$/$1\/include/s) )
60- {
61- $from_gcc = '';
62- };
63- };
64- length($from_gcc) ? ($from_gcc, $from_gcc . "-fixed", $Config{usrinc}) : ($Config{usrinc});
65+ my $from_gcc = `LC_ALL=C $Config{cc} -v -E - < /dev/null 2>&1 | awk '/^#include/, /^End of search list/' | grep '^ '`;
66+ length($from_gcc) ? (split(' ', $from_gcc), $Config{usrinc}) : ($Config{usrinc});
67 }
68
69
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/hurd-ccflags.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/hurd-ccflags.diff
index 8868c643f1..901f98d344 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/hurd-ccflags.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/hurd-ccflags.diff
@@ -1,12 +1,16 @@
1Upstream-Status:Inappropriate [debian patch] 1From f66e8575cb0ca11171f43efe0f9e3c6e790b75bc Mon Sep 17 00:00:00 2001
2 2From: Samuel Thibault <sthibault@debian.org>
3Author: Samuel Thibault <sthibault@debian.org> 3Date: Wed, 4 Aug 2010 13:34:05 +0300
4Subject: Make hints/gnu.sh append to $ccflags rather than overriding them 4Subject: Make hints/gnu.sh append to $ccflags rather than overriding them
5
6Bug: http://rt.perl.org/rt3/Public/Bug/Display.html?id=92244
5Bug-Debian: http://bugs.debian.org/587901 7Bug-Debian: http://bugs.debian.org/587901
8Origin: upstream, http://perl5.git.perl.org/perl.git/commit/a190e648879
6 9
7Don't override possible extra $ccflags values given to Configure 10Don't override possible extra $ccflags values given to Configure
8on GNU/Hurd. 11on GNU/Hurd.
9 12
13Patch-Name: fixes/hurd-ccflags.diff
10--- 14---
11 hints/gnu.sh | 2 +- 15 hints/gnu.sh | 2 +-
12 1 files changed, 1 insertions(+), 1 deletions(-) 16 1 files changed, 1 insertions(+), 1 deletions(-)
@@ -24,5 +28,3 @@ index 2cfce54..c1ba2db 100644
24 28
25 # The following routines are only available as stubs in GNU libc. 29 # The following routines are only available as stubs in GNU libc.
26 # XXX remove this once metaconf detects the GNU libc stubs. 30 # XXX remove this once metaconf detects the GNU libc stubs.
27--
28tg: (a508b62..) fixes/hurd-ccflags (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/hurd-hints.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/hurd-hints.diff
new file mode 100644
index 0000000000..1ba9cbd7a4
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/hurd-hints.diff
@@ -0,0 +1,48 @@
1From d6fd7595fcd04b332e7449f59ea298639f10a183 Mon Sep 17 00:00:00 2001
2From: Pino Toscano <pino@debian.org>
3Date: Wed, 10 Aug 2011 08:11:33 +0300
4Subject: Improve general GNU hints, needed for GNU/Hurd.
5
6Bug-Debian: http://bugs.debian.org/636609
7
8Patch-Name: fixes/hurd-hints.diff
9---
10 ext/ODBM_File/hints/gnu.pl | 1 +
11 hints/gnu.sh | 12 ++++++++++++
12 2 files changed, 13 insertions(+), 0 deletions(-)
13 create mode 100644 ext/ODBM_File/hints/gnu.pl
14
15diff --git a/ext/ODBM_File/hints/gnu.pl b/ext/ODBM_File/hints/gnu.pl
16new file mode 100644
17index 0000000..db63567
18--- /dev/null
19+++ b/ext/ODBM_File/hints/gnu.pl
20@@ -0,0 +1 @@
21+do './hints/linux.pl' or die $@;
22diff --git a/hints/gnu.sh b/hints/gnu.sh
23index c1ba2db..f075642 100644
24--- a/hints/gnu.sh
25+++ b/hints/gnu.sh
26@@ -8,10 +8,22 @@ set `echo X "$libswanted "| sed -e 's/ nsl / /' -e 's/ c / pthread /'`
27 shift
28 libswanted="$*"
29
30+# Debian 4.0 puts ndbm in the -lgdbm_compat library.
31+libswanted="$libswanted gdbm_compat"
32+
33 case "$optimize" in
34 '') optimize='-O2' ;;
35 esac
36
37+case "$plibpth" in
38+'') plibpth=`gcc -print-search-dirs | grep libraries |
39+ cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
40+ set X $plibpth # Collapse all entries on one line
41+ shift
42+ plibpth="$*"
43+ ;;
44+esac
45+
46 # Flags needed to produce shared libraries.
47 lddlflags='-shared'
48
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/index-tainting.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/index-tainting.diff
new file mode 100644
index 0000000000..204e9992a9
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/index-tainting.diff
@@ -0,0 +1,73 @@
1From e25298a339dd6679f1b080f0125ac1b237b87950 Mon Sep 17 00:00:00 2001
2From: David Mitchell <davem@iabyn.com>
3Date: Tue, 28 Jun 2011 17:04:40 +0100
4Subject: RT 64804: tainting with index() of a constant
5
6Bug: http://rt.perl.org/rt3/Public/Bug/Display.html?id=64804
7Bug-Debian: http://bugs.debian.org/291450
8Origin: upstream, http://perl5.git.perl.org/perl.git/commit/3b36395d31cf0a2f3a017505cd0ea857a7acb5d1
9
10At compile time, ck_index with a tainted constant set PL_tainted,
11which remained on during the rest of compilation, tainting all other
12constants.
13
14Fix this by saving and restoring PL_tainted across the call to
15fbm_compile, which is what sets PL_tainted.
16
17Patch-Name: fixes/index-tainting.diff
18---
19 op.c | 5 ++++-
20 t/op/taint.t | 16 +++++++++++++++-
21 2 files changed, 19 insertions(+), 2 deletions(-)
22
23diff --git a/op.c b/op.c
24index e21b9a4..973df13 100644
25--- a/op.c
26+++ b/op.c
27@@ -7780,8 +7780,11 @@ Perl_ck_index(pTHX_ OP *o)
28 OP *kid = cLISTOPo->op_first->op_sibling; /* get past pushmark */
29 if (kid)
30 kid = kid->op_sibling; /* get past "big" */
31- if (kid && kid->op_type == OP_CONST)
32+ if (kid && kid->op_type == OP_CONST) {
33+ const bool save_taint = PL_tainted;
34 fbm_compile(((SVOP*)kid)->op_sv, 0);
35+ PL_tainted = save_taint;
36+ }
37 }
38 return ck_fun(o);
39 }
40diff --git a/t/op/taint.t b/t/op/taint.t
41index 9df6fee..a300b9b 100644
42--- a/t/op/taint.t
43+++ b/t/op/taint.t
44@@ -17,7 +17,7 @@ BEGIN {
45 use strict;
46 use Config;
47
48-plan tests => 774;
49+plan tests => 778;
50
51 $| = 1;
52
53@@ -2144,6 +2144,20 @@ end
54 is_tainted $dest, "ucfirst(tainted) taints its return value";
55 }
56
57+
58+# tainted constants and index()
59+# RT 64804; http://bugs.debian.org/291450
60+{
61+ ok(tainted $old_env_path, "initial taintedness");
62+ BEGIN { no strict 'refs'; my $v = $old_env_path; *{"::C"} = sub () { $v }; }
63+ ok(tainted C, "constant is tainted properly");
64+ ok(!tainted "", "tainting not broken yet");
65+ index(undef, C);
66+ ok(!tainted "", "tainting still works after index() of the constant");
67+}
68+
69+
70+
71 # This may bomb out with the alarm signal so keep it last
72 SKIP: {
73 skip "No alarm()" unless $Config{d_alarm};
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/module-build-home-directory.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/module-build-home-directory.diff
new file mode 100644
index 0000000000..1c9009b32a
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/module-build-home-directory.diff
@@ -0,0 +1,37 @@
1From 9266292f705f2a3b6e5b97fa50e5f2be31371d5c Mon Sep 17 00:00:00 2001
2From: Dominic Hargreaves <dom@earth.li>
3Date: Mon, 2 May 2011 10:35:04 +0100
4Subject: Fix failing tilde test when run under a UID without a passwd entry
5
6Bug: https://rt.cpan.org/Public/Bug/Display.html?id=67893
7Bug-Debian: http://bugs.debian.org/624850
8
9Patch-Name: fixes/module-build-home-directory.diff
10---
11 cpan/Module-Build/t/tilde.t | 6 ++++--
12 1 files changed, 4 insertions(+), 2 deletions(-)
13
14diff --git a/cpan/Module-Build/t/tilde.t b/cpan/Module-Build/t/tilde.t
15index fac821b..04f0210 100644
16--- a/cpan/Module-Build/t/tilde.t
17+++ b/cpan/Module-Build/t/tilde.t
18@@ -46,7 +46,8 @@ SKIP: {
19
20 unless (defined $home) {
21 my @info = eval { getpwuid $> };
22- skip "No home directory for tilde-expansion tests", 15 if $@;
23+ skip "No home directory for tilde-expansion tests", 15 if $@
24+ or !defined $info[7];
25 $home = $info[7];
26 }
27
28@@ -95,7 +96,8 @@ SKIP: {
29 # Again, with named users
30 SKIP: {
31 my @info = eval { getpwuid $> };
32- skip "No home directory for tilde-expansion tests", 1 if $@;
33+ skip "No home directory for tilde-expansion tests", 1 if $@
34+ or !defined $info[7] or !defined $info[0];
35 my ($me, $home) = @info[0,7];
36
37 my $expected = "$home/fooxzy";
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/net_smtp_docs.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/net_smtp_docs.diff
index 2307a09ea3..549fc1007d 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/fixes/net_smtp_docs.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/net_smtp_docs.diff
@@ -1,10 +1,12 @@
1Upstream-Status:Inappropriate [debian patch] 1From ab32eba7fcc45d864c22e8f4ee02e0a6712070e0 Mon Sep 17 00:00:00 2001
2 2From: Brendan O'Dea <bod@debian.org>
3Date: Thu, 20 Sep 2007 19:47:14 +1000
3Subject: Document the Net::SMTP 'Port' option 4Subject: Document the Net::SMTP 'Port' option
5
4Bug-Debian: http://bugs.debian.org/100195 6Bug-Debian: http://bugs.debian.org/100195
5Bug: http://rt.cpan.org/Public/Bug/Display.html?id=36038 7Bug: http://rt.cpan.org/Public/Bug/Display.html?id=36038
6 8
7 9Patch-Name: fixes/net_smtp_docs.diff
8--- 10---
9 cpan/libnet/Net/SMTP.pm | 1 + 11 cpan/libnet/Net/SMTP.pm | 1 +
10 1 files changed, 1 insertions(+), 0 deletions(-) 12 1 files changed, 1 insertions(+), 0 deletions(-)
@@ -21,5 +23,3 @@ index a28496d..07b2498 100644
21 23
22 Example: 24 Example:
23 25
24--
25tg: (a508b62..) fixes/net_smtp_docs (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/pod_fixes.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/pod_fixes.diff
new file mode 100644
index 0000000000..eb0eb0bf44
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/pod_fixes.diff
@@ -0,0 +1,145 @@
1From c6b1fdd18dab0236458502564e54c180bb0ce341 Mon Sep 17 00:00:00 2001
2From: Keith Thompson <kst@mib.org>
3Date: Fri, 29 Jul 2011 17:17:00 -0700
4Subject: Fix typos in several pod/perl*.pod files
5
6Bug-Debian: http://bugs.debian.org/637816
7Origin: http://perl5.git.perl.org/perl.git/commit/7698aede74509727f7bca31c58fc7a53b182315d
8Patch-Name: fixes/pod_fixes.diff
9---
10 pod/perlfunc.pod | 8 ++++----
11 pod/perlglossary.pod | 10 +++++-----
12 pod/perlmod.pod | 4 ++--
13 pod/perlretut.pod | 6 +++---
14 4 files changed, 14 insertions(+), 14 deletions(-)
15
16diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod
17index 2ee3637..719a740 100644
18--- a/pod/perlfunc.pod
19+++ b/pod/perlfunc.pod
20@@ -3918,7 +3918,7 @@ count. A numeric repeat count may optionally be enclosed in brackets, as
21 in C<pack("C[80]", @arr)>. The repeat count gobbles that many values from
22 the LIST when used with all format types other than C<a>, C<A>, C<Z>, C<b>,
23 C<B>, C<h>, C<H>, C<@>, C<.>, C<x>, C<X>, and C<P>, where it means
24-something else, dscribed below. Supplying a C<*> for the repeat count
25+something else, described below. Supplying a C<*> for the repeat count
26 instead of a number means to use however many items are left, except for:
27
28 =over
29@@ -5870,7 +5870,7 @@ sometimes saying the opposite, for example) the results are not
30 well-defined.
31
32 Because C<< <=> >> returns C<undef> when either operand is C<NaN>
33-(not-a-number), and laso because C<sort> raises an exception unless the
34+(not-a-number), and also because C<sort> raises an exception unless the
35 result of a comparison is defined, be careful when sorting with a
36 comparison function like C<< $a <=> $b >> any lists that might contain a
37 C<NaN>. The following example takes advantage that C<NaN != NaN> to
38@@ -5958,7 +5958,7 @@ specified.
39
40 A pattern matching the empty string (not to be confused with
41 an empty pattern C<//>, which is just one member of the set of patterns
42-matching the epmty string), splits EXPR into individual
43+matching the empty string), splits EXPR into individual
44 characters. For example:
45
46 print join(':', split(/ */, 'hi there')), "\n";
47@@ -6222,7 +6222,7 @@ For example:
48 printf '<%.1e>', 10; # prints "<1.0e+01>"
49
50 For "g" and "G", this specifies the maximum number of digits to show,
51-including thoe prior to the decimal point and those after it; for
52+including those prior to the decimal point and those after it; for
53 example:
54
55 # These examples are subject to system-specific variation.
56diff --git a/pod/perlglossary.pod b/pod/perlglossary.pod
57index 639ce33..191371c 100644
58--- a/pod/perlglossary.pod
59+++ b/pod/perlglossary.pod
60@@ -507,7 +507,7 @@ the class (its L<objects|/object>). See also L</inheritance>.
61
62 =item class method
63
64-A L</method> whose L</invocand> is a L</package> name, not an
65+A L</method> whose L</invocant> is a L</package> name, not an
66 L</object> reference. A method associated with the class as a whole.
67
68 =item client
69@@ -1470,7 +1470,7 @@ Perl, C<print STDOUT "$foo\n";> can be understood as "verb
70 indirect-object object" where L</STDOUT> is the recipient of the
71 L<print|perlfunc/print> action, and C<"$foo"> is the object being
72 printed. Similarly, when invoking a L</method>, you might place the
73-invocand between the method and its arguments:
74+invocant between the method and its arguments:
75
76 $gollum = new Pathetic::Creature "Smeagol";
77 give $gollum "Fisssssh!";
78@@ -1548,11 +1548,11 @@ of compiler that takes a program and turns it into a more executable
79 form (L<syntax trees|/syntax tree>) within the I<perl> process itself,
80 which the Perl L</run time> system then interprets.
81
82-=item invocand
83+=item invocant
84
85 The agent on whose behalf a L</method> is invoked. In a L</class>
86-method, the invocand is a package name. In an L</instance> method,
87-the invocand is an object reference.
88+method, the invocant is a package name. In an L</instance> method,
89+the invocant is an object reference.
90
91 =item invocation
92
93diff --git a/pod/perlmod.pod b/pod/perlmod.pod
94index 5266f19..17de73e 100644
95--- a/pod/perlmod.pod
96+++ b/pod/perlmod.pod
97@@ -571,7 +571,7 @@ like for example handle the cloning of non-Perl data, if necessary.
98 C<CLONE> will be called once as a class method for every package that has it
99 defined (or inherits it). It will be called in the context of the new thread,
100 so all modifications are made in the new area. Currently CLONE is called with
101-no parameters other than the invocand package name, but code should not assume
102+no parameters other than the invocant package name, but code should not assume
103 that this will remain unchanged, as it is likely that in future extra parameters
104 will be passed in to give more information about the state of cloning.
105
106@@ -593,7 +593,7 @@ to make use of the objects, then a more sophisticated approach is
107 needed.
108
109 Like C<CLONE>, C<CLONE_SKIP> is currently called with no parameters other
110-than the invocand package name, although that may change. Similarly, to
111+than the invocant package name, although that may change. Similarly, to
112 allow for future expansion, the return value should be a single C<0> or
113 C<1> value.
114
115diff --git a/pod/perlretut.pod b/pod/perlretut.pod
116index ea80594..1c65f5b 100644
117--- a/pod/perlretut.pod
118+++ b/pod/perlretut.pod
119@@ -781,7 +781,7 @@ so may lead to surprising and unsatisfactory results.
120 =head2 Relative backreferences
121
122 Counting the opening parentheses to get the correct number for a
123-backreference is errorprone as soon as there is more than one
124+backreference is error-prone as soon as there is more than one
125 capturing group. A more convenient technique became available
126 with Perl 5.10: relative backreferences. To refer to the immediately
127 preceding capture group one now may write C<\g{-1}>, the next but
128@@ -1537,7 +1537,7 @@ the regexp in the I<last successful match> is used instead. So we have
129
130 =head3 Global matching
131
132-The final two modifiers we will disccuss here,
133+The final two modifiers we will discuss here,
134 C<//g> and C<//c>, concern multiple matches.
135 The modifier C<//g> stands for global matching and allows the
136 matching operator to match within a string as many times as possible.
137@@ -1870,7 +1870,7 @@ substituted.
138
139 C<\Q>, C<\L>, C<\l>, C<\U>, C<\u> and C<\E> are actually part of
140 double-quotish syntax, and not part of regexp syntax proper. They will
141-work if they appear in a regular expression embeddded directly in a
142+work if they appear in a regular expression embedded directly in a
143 program, but not when contained in a string that is interpolated in a
144 pattern.
145
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/respect_umask.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/respect_umask.diff
new file mode 100644
index 0000000000..a84c9f9e3e
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/respect_umask.diff
@@ -0,0 +1,153 @@
1From 0d1ab4f799eb14d5488fcc959f4a6bdec548b370 Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Tue, 8 Mar 2005 19:30:38 +1100
4Subject: Respect umask during installation
5
6This is needed to satisfy Debian policy regarding group-writable
7site directories.
8
9Patch-Name: fixes/respect_umask.diff
10---
11 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 18 +++++++++---------
12 dist/ExtUtils-Install/lib/ExtUtils/Install.pm | 18 +++++++++---------
13 2 files changed, 18 insertions(+), 18 deletions(-)
14
15diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
16index 6964eea..865d36d 100644
17--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
18+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
19@@ -2053,7 +2053,7 @@ doc__install : doc_site_install
20 $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
21
22 pure_perl_install :: all
23- $(NOECHO) $(MOD_INSTALL) \
24+ $(NOECHO) umask 022; $(MOD_INSTALL) \
25 read }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
26 write }.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
27 $(INST_LIB) $(DESTINSTALLPRIVLIB) \
28@@ -2067,7 +2067,7 @@ pure_perl_install :: all
29
30
31 pure_site_install :: all
32- $(NOECHO) $(MOD_INSTALL) \
33+ $(NOECHO) umask 022; $(MOD_INSTALL) \
34 read }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
35 write }.$self->catfile('$(DESTINSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').q{ \
36 $(INST_LIB) $(DESTINSTALLSITELIB) \
37@@ -2080,7 +2080,7 @@ pure_site_install :: all
38 }.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{
39
40 pure_vendor_install :: all
41- $(NOECHO) $(MOD_INSTALL) \
42+ $(NOECHO) umask 022; $(MOD_INSTALL) \
43 read }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
44 write }.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{ \
45 $(INST_LIB) $(DESTINSTALLVENDORLIB) \
46@@ -2092,8 +2092,8 @@ pure_vendor_install :: all
47
48 doc_perl_install :: all
49 $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
50- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
51- -$(NOECHO) $(DOC_INSTALL) \
52+ -$(NOECHO) umask 022; $(MKPATH) $(DESTINSTALLARCHLIB)
53+ -$(NOECHO) umask 022; $(DOC_INSTALL) \
54 "Module" "$(NAME)" \
55 "installed into" "$(INSTALLPRIVLIB)" \
56 LINKTYPE "$(LINKTYPE)" \
57@@ -2103,8 +2103,8 @@ doc_perl_install :: all
58
59 doc_site_install :: all
60 $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
61- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
62- -$(NOECHO) $(DOC_INSTALL) \
63+ -$(NOECHO) umask 022; $(MKPATH) $(DESTINSTALLARCHLIB)
64+ -$(NOECHO) umask 022; $(DOC_INSTALL) \
65 "Module" "$(NAME)" \
66 "installed into" "$(INSTALLSITELIB)" \
67 LINKTYPE "$(LINKTYPE)" \
68@@ -2114,8 +2114,8 @@ doc_site_install :: all
69
70 doc_vendor_install :: all
71 $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
72- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
73- -$(NOECHO) $(DOC_INSTALL) \
74+ -$(NOECHO) umask 022; $(MKPATH) $(DESTINSTALLARCHLIB)
75+ -$(NOECHO) umask 022; $(DOC_INSTALL) \
76 "Module" "$(NAME)" \
77 "installed into" "$(INSTALLVENDORLIB)" \
78 LINKTYPE "$(LINKTYPE)" \
79diff --git a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
80index 3b030a5..cb0e9e0 100644
81--- a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
82+++ b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
83@@ -468,7 +468,7 @@ sub _can_write_dir {
84
85 =pod
86
87-=item _mkpath($dir,$show,$mode,$verbose,$dry_run)
88+=item _mkpath($dir,$show,$verbose,$dry_run)
89
90 Wrapper around File::Path::mkpath() to handle errors.
91
92@@ -485,13 +485,13 @@ writable.
93 =cut
94
95 sub _mkpath {
96- my ($dir,$show,$mode,$verbose,$dry_run)=@_;
97+ my ($dir,$show,$verbose,$dry_run)=@_;
98 if ( $verbose && $verbose > 1 && ! -d $dir) {
99 $show= 1;
100- printf "mkpath(%s,%d,%#o)\n", $dir, $show, $mode;
101+ printf "mkpath(%s,%d)\n", $dir, $show;
102 }
103 if (!$dry_run) {
104- if ( ! eval { File::Path::mkpath($dir,$show,$mode); 1 } ) {
105+ if ( ! eval { File::Path::mkpath($dir,$show); 1 } ) {
106 _choke("Can't create '$dir'","$@");
107 }
108
109@@ -796,7 +796,7 @@ sub install { #XXX OS-SPECIFIC
110 _chdir($cwd);
111 }
112 foreach my $targetdir (sort keys %check_dirs) {
113- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
114+ _mkpath( $targetdir, 0, $verbose, $dry_run );
115 }
116 foreach my $found (@found_files) {
117 my ($diff, $ffd, $origfile, $mode, $size, $atime, $mtime,
118@@ -810,7 +810,7 @@ sub install { #XXX OS-SPECIFIC
119 $targetfile= _unlink_or_rename( $targetfile, 'tryhard', 'install' )
120 unless $dry_run;
121 } elsif ( ! -d $targetdir ) {
122- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
123+ _mkpath( $targetdir, 0, $verbose, $dry_run );
124 }
125 print "Installing $targetfile\n";
126
127@@ -850,7 +850,7 @@ sub install { #XXX OS-SPECIFIC
128
129 if ($pack{'write'}) {
130 $dir = install_rooted_dir(dirname($pack{'write'}));
131- _mkpath( $dir, 0, 0755, $verbose, $dry_run );
132+ _mkpath( $dir, 0, $verbose, $dry_run );
133 print "Writing $pack{'write'}\n" if $verbose;
134 $packlist->write(install_rooted_file($pack{'write'})) unless $dry_run;
135 }
136@@ -1190,7 +1190,7 @@ be prepended as a directory to each installed file (and directory).
137 sub pm_to_blib {
138 my($fromto,$autodir,$pm_filter) = @_;
139
140- _mkpath($autodir,0,0755);
141+ _mkpath($autodir,0);
142 while(my($from, $to) = each %$fromto) {
143 if( -f $to && -s $from == -s $to && -M $to < -M $from ) {
144 print "Skip $to (unchanged)\n";
145@@ -1213,7 +1213,7 @@ sub pm_to_blib {
146 # we wont try hard here. its too likely to mess things up.
147 forceunlink($to);
148 } else {
149- _mkpath(dirname($to),0,0755);
150+ _mkpath(dirname($to),0);
151 }
152 if ($need_filtering) {
153 run_filter($pm_filter, $from, $to);
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/sys-syslog-socket-timeout-kfreebsd.patch b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/sys-syslog-socket-timeout-kfreebsd.patch
new file mode 100644
index 0000000000..e29e9b0c04
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/fixes/sys-syslog-socket-timeout-kfreebsd.patch
@@ -0,0 +1,36 @@
1From 9ba88d73444c22788b7c2a212e15dbfe3da2a1af Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Wed, 3 Aug 2011 22:36:24 +0300
4Subject: Use a socket timeout on GNU/kFreeBSD to catch ICMP port unreachable
5 messages
6
7Bug: http://rt.cpan.org/Ticket/Display.html?id=69997
8Bug-Debian: http://bugs.debian.org/627821
9
10Without this, openlog() on a UDP socket may succeed on the FreeBSD kernel
11even when there's no listener, causing test failures.
12
13It seems probable that all FreeBSD-based systems suffer from the
14same issue, but that's for upstream to decide.
15
16Patch-Name: fixes/sys-syslog-socket-timeout-kfreebsd.patch
17---
18 cpan/Sys-Syslog/Syslog.pm | 5 ++++-
19 1 files changed, 4 insertions(+), 1 deletions(-)
20
21diff --git a/cpan/Sys-Syslog/Syslog.pm b/cpan/Sys-Syslog/Syslog.pm
22index 002e6e4..b445c66 100644
23--- a/cpan/Sys-Syslog/Syslog.pm
24+++ b/cpan/Sys-Syslog/Syslog.pm
25@@ -138,7 +138,10 @@ my @fallbackMethods = ();
26 # happy, the timeout is now zero by default on all systems
27 # except on OSX where it is set to 250 msec, and can be set
28 # with the infamous setlogsock() function.
29-$sock_timeout = 0.25 if $^O =~ /darwin/;
30+#
31+# Debian change: include Debian GNU/kFreeBSD, lower to 1ms
32+# see [rt.cpan.org #69997]
33+$sock_timeout = 0.001 if $^O =~ /darwin|gnukfreebsd/;
34
35 # coderef for a nicer handling of errors
36 my $err_sub = $options{nofatal} ? \&warnings::warnif : \&croak;
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/instmodsh_doc.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/instmodsh_doc.diff
index 5555dfc43e..ab0133d92f 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/instmodsh_doc.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/instmodsh_doc.diff
@@ -1,8 +1,9 @@
1Upstream-Status:Inappropriate [debian patch] 1From ab89a31d1f46388a61953349c3546e4082cd38de Mon Sep 17 00:00:00 2001
2 2From: Brendan O'Dea <bod@debian.org>
3Date: Tue, 8 Mar 2005 19:30:38 +1100
3Subject: Debian policy doesn't install .packlist files for core or vendor. 4Subject: Debian policy doesn't install .packlist files for core or vendor.
4 5
5 6Patch-Name: debian/instmodsh_doc.diff
6--- 7---
7 cpan/ExtUtils-MakeMaker/bin/instmodsh | 4 +++- 8 cpan/ExtUtils-MakeMaker/bin/instmodsh | 4 +++-
8 1 files changed, 3 insertions(+), 1 deletions(-) 9 1 files changed, 3 insertions(+), 1 deletions(-)
@@ -24,5 +25,3 @@ index 5874aa6..6a2f03e 100644
24 =head1 SEE ALSO 25 =head1 SEE ALSO
25 26
26 ExtUtils::Installed 27 ExtUtils::Installed
27--
28tg: (a508b62..) debian/instmodsh_doc (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/ld_run_path.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/ld_run_path.diff
index 02610d34a9..d38b04b613 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/ld_run_path.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/ld_run_path.diff
@@ -1,25 +1,24 @@
1Upstream-Status:Inappropriate [debian patch] 1From 704f6017119ce0301a9105944512120a38a43a02 Mon Sep 17 00:00:00 2001
2 2From: Brendan O'Dea <bod@debian.org>
3Date: Fri, 18 Mar 2005 22:22:25 +1100
3Subject: Remove standard libs from LD_RUN_PATH as per Debian policy. 4Subject: Remove standard libs from LD_RUN_PATH as per Debian policy.
4 5
5 6Patch-Name: debian/ld_run_path.diff
6--- 7---
7 .../ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm | 3 +++ 8 .../ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm | 3 +++
8 1 files changed, 3 insertions(+), 0 deletions(-) 9 1 files changed, 3 insertions(+), 0 deletions(-)
9 10
10diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 11diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
11index b807e97..6c955d7 100644 12index cf4826f..eb212b5 100644
12--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 13--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
13+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 14+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
14@@ -53,6 +53,9 @@ sub _unix_os2_ext { 15@@ -54,6 +54,9 @@ sub _unix_os2_ext {
15 my($pwd) = cwd(); # from Cwd.pm 16 my($pwd) = cwd(); # from Cwd.pm
16 my($found) = 0; 17 my($found) = 0;
17 18
18+ # Debian-specific: don't use LD_RUN_PATH for standard dirs 19+ # Debian-specific: don't use LD_RUN_PATH for standard dirs
19+ $ld_run_path_seen{$_}++ for qw(/lib /usr/lib /usr/X11R6/lib); 20+ $ld_run_path_seen{$_}++ for @libpath;
20+ 21+
21 foreach my $thislib (split ' ', $potential_libs) { 22 foreach my $thislib (split ' ', $potential_libs) {
22 23
23 # Handle possible linker path arguments. 24 # Handle possible linker path arguments.
24--
25tg: (a508b62..) debian/ld_run_path (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/libnet_config_path.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/libnet_config_path.diff
index a38e78ac34..6604d35c5b 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/libnet_config_path.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/libnet_config_path.diff
@@ -1,8 +1,10 @@
1Upstream-Status:Inappropriate [debian patch] 1From 7465b6d008187580eabe655b9c8e75351d3d24b4 Mon Sep 17 00:00:00 2001
2 2From: Brendan O'Dea <bod@debian.org>
3Subject: Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable. 3Date: Tue, 8 Mar 2005 19:30:38 +1100
4 4Subject: Set location of libnet.cfg to /etc/perl/Net as /usr may not be
5 writable.
5 6
7Patch-Name: debian/libnet_config_path.diff
6--- 8---
7 cpan/libnet/Net/Config.pm | 7 +++---- 9 cpan/libnet/Net/Config.pm | 7 +++----
8 1 files changed, 3 insertions(+), 4 deletions(-) 10 1 files changed, 3 insertions(+), 4 deletions(-)
@@ -33,5 +35,3 @@ index db51c1f..8404593 100644
33 can be done by having a C<.libnetrc> file in their home directory. This file 35 can be done by having a C<.libnetrc> file in their home directory. This file
34 should return a reference to a HASH containing the keys described below. 36 should return a reference to a HASH containing the keys described below.
35 For example 37 For example
36--
37tg: (a508b62..) debian/libnet_config_path (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/libperl_embed_doc.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/libperl_embed_doc.diff
new file mode 100644
index 0000000000..cc3e0507f8
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/libperl_embed_doc.diff
@@ -0,0 +1,26 @@
1From d70e88badfcc6edd05e884597f19fbbdcf2cf6a7 Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Tue, 8 Mar 2005 19:30:38 +1100
4Subject: Note that libperl-dev package is required for embedded linking
5
6Bug-Debian: http://bugs.debian.org/186778
7
8Patch-Name: debian/libperl_embed_doc.diff
9---
10 lib/ExtUtils/Embed.pm | 3 +++
11 1 files changed, 3 insertions(+), 0 deletions(-)
12
13diff --git a/lib/ExtUtils/Embed.pm b/lib/ExtUtils/Embed.pm
14index 9710630..86f13b5 100644
15--- a/lib/ExtUtils/Embed.pm
16+++ b/lib/ExtUtils/Embed.pm
17@@ -305,6 +305,9 @@ and extensions in your C/C++ applications.
18 Typically, an application B<Makefile> will invoke ExtUtils::Embed
19 functions while building your application.
20
21+Note that on Debian systems the B<libperl-dev> package is required for
22+compiling applications which embed an interpreter.
23+
24 =head1 @EXPORT
25
26 ExtUtils::Embed exports the following functions:
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/m68k_thread_stress.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/m68k_thread_stress.diff
index 675c9aa03d..f1dfe36043 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/m68k_thread_stress.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/m68k_thread_stress.diff
@@ -1,16 +1,19 @@
1Upstream-Status:Inappropriate [debian patch] 1From 55a718425dc4612ac01850ef786f75f072b20b9e Mon Sep 17 00:00:00 2001
2 2From: Niko Tyni <ntyni@debian.org>
3Date: Mon, 8 Sep 2008 20:48:14 +0300
3Subject: Disable some threads tests on m68k for now due to missing TLS. 4Subject: Disable some threads tests on m68k for now due to missing TLS.
4Closes: #495826, #517938
5 5
6Bug-Debian: http://bugs.debian.org/495826
7Bug-Debian: http://bugs.debian.org/517938
6 8
9Patch-Name: debian/m68k_thread_stress.diff
7--- 10---
8 dist/threads-shared/t/stress.t | 4 ++++ 11 dist/threads-shared/t/stress.t | 4 ++++
9 dist/threads-shared/t/waithires.t | 6 ++++++ 12 dist/threads-shared/t/waithires.t | 6 ++++++
10 2 files changed, 10 insertions(+), 0 deletions(-) 13 2 files changed, 10 insertions(+), 0 deletions(-)
11 14
12diff --git a/dist/threads-shared/t/stress.t b/dist/threads-shared/t/stress.t 15diff --git a/dist/threads-shared/t/stress.t b/dist/threads-shared/t/stress.t
13index adfd1ed..8573f1a 100755 16index 652a3e6..2f1b576 100644
14--- a/dist/threads-shared/t/stress.t 17--- a/dist/threads-shared/t/stress.t
15+++ b/dist/threads-shared/t/stress.t 18+++ b/dist/threads-shared/t/stress.t
16@@ -11,6 +11,10 @@ BEGIN { 19@@ -11,6 +11,10 @@ BEGIN {
@@ -25,7 +28,7 @@ index adfd1ed..8573f1a 100755
25 28
26 use ExtUtils::testlib; 29 use ExtUtils::testlib;
27diff --git a/dist/threads-shared/t/waithires.t b/dist/threads-shared/t/waithires.t 30diff --git a/dist/threads-shared/t/waithires.t b/dist/threads-shared/t/waithires.t
28index e3a1086..633374e 100755 31index 3c3e852..349c5b4 100644
29--- a/dist/threads-shared/t/waithires.t 32--- a/dist/threads-shared/t/waithires.t
30+++ b/dist/threads-shared/t/waithires.t 33+++ b/dist/threads-shared/t/waithires.t
31@@ -16,6 +16,12 @@ BEGIN { 34@@ -16,6 +16,12 @@ BEGIN {
@@ -41,5 +44,3 @@ index e3a1086..633374e 100755
41 } 44 }
42 45
43 use ExtUtils::testlib; 46 use ExtUtils::testlib;
44--
45tg: (a508b62..) debian/m68k_thread_stress (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/mod_paths.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/mod_paths.diff
index 26d8ed03a2..2cc0946f51 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/mod_paths.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/mod_paths.diff
@@ -1,5 +1,6 @@
1Upstream-Status:Inappropriate [debian patch] 1From 11633e598640b02e19329f323623af254fbac451 Mon Sep 17 00:00:00 2001
2 2From: Brendan O'Dea <bod@debian.org>
3Date: Fri, 18 Mar 2005 22:22:25 +1100
3Subject: Tweak @INC ordering for Debian 4Subject: Tweak @INC ordering for Debian
4 5
5Our order is: 6Our order is:
@@ -15,16 +16,16 @@ The rationale being that an admin (via site), or module packager
15(vendor) can chose to shadow core modules when there is a newer 16(vendor) can chose to shadow core modules when there is a newer
16version than is included in core. 17version than is included in core.
17 18
18 19Patch-Name: debian/mod_paths.diff
19--- 20---
20 perl.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 21 perl.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
21 1 files changed, 58 insertions(+), 0 deletions(-) 22 1 files changed, 58 insertions(+), 0 deletions(-)
22 23
23diff --git a/perl.c b/perl.c 24diff --git a/perl.c b/perl.c
24index 05cea40..023d6a0 100644 25index f756e02..d26dcb0 100644
25--- a/perl.c 26--- a/perl.c
26+++ b/perl.c 27+++ b/perl.c
27@@ -4125,6 +4125,11 @@ S_init_perllib(pTHX) 28@@ -4219,6 +4219,11 @@ S_init_perllib(pTHX)
28 INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE); 29 INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
29 #endif 30 #endif
30 31
@@ -36,7 +37,7 @@ index 05cea40..023d6a0 100644
36 #ifdef SITEARCH_EXP 37 #ifdef SITEARCH_EXP
37 /* sitearch is always relative to sitelib on Windows for 38 /* sitearch is always relative to sitelib on Windows for
38 * DLL-based path intuition to work correctly */ 39 * DLL-based path intuition to work correctly */
39@@ -4242,6 +4247,59 @@ S_init_perllib(pTHX) 40@@ -4336,6 +4341,59 @@ S_init_perllib(pTHX)
40 INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE); 41 INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE);
41 #endif 42 #endif
42 43
@@ -96,5 +97,3 @@ index 05cea40..023d6a0 100644
96 #ifdef PERL_OTHERLIBDIRS 97 #ifdef PERL_OTHERLIBDIRS
97 S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS), 98 S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS),
98 INCPUSH_ADD_OLD_VERS|INCPUSH_ADD_ARCHONLY_SUB_DIRS 99 INCPUSH_ADD_OLD_VERS|INCPUSH_ADD_ARCHONLY_SUB_DIRS
99--
100tg: (a508b62..) debian/mod_paths (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/module_build_man_extensions.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/module_build_man_extensions.diff
index 63c8441bd2..b11433fb5e 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/module_build_man_extensions.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/module_build_man_extensions.diff
@@ -1,17 +1,21 @@
1Upstream-Status:Inappropriate [debian patch] 1From fbb5f07872d45bac76b5c3c83b50a19aa5da10b0 Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Thu, 8 May 2008 14:32:33 +0300
4Subject: Adjust Module::Build manual page extensions for the Debian Perl
5 policy
2 6
3Subject: Adjust Module::Build manual page extensions for the Debian Perl policy
4Bug-Debian: http://bugs.debian.org/479460 7Bug-Debian: http://bugs.debian.org/479460
5 8
9Patch-Name: debian/module_build_man_extensions.diff
6--- 10---
7 cpan/Module-Build/lib/Module/Build/Base.pm | 4 ++-- 11 cpan/Module-Build/lib/Module/Build/Base.pm | 4 ++--
8 1 files changed, 2 insertions(+), 2 deletions(-) 12 1 files changed, 2 insertions(+), 2 deletions(-)
9 13
10diff --git a/cpan/Module-Build/lib/Module/Build/Base.pm b/cpan/Module-Build/lib/Module/Build/Base.pm 14diff --git a/cpan/Module-Build/lib/Module/Build/Base.pm b/cpan/Module-Build/lib/Module/Build/Base.pm
11index 5bd8ec7..b4e606a 100644 15index fba916a..82df4cc 100644
12--- a/cpan/Module-Build/lib/Module/Build/Base.pm 16--- a/cpan/Module-Build/lib/Module/Build/Base.pm
13+++ b/cpan/Module-Build/lib/Module/Build/Base.pm 17+++ b/cpan/Module-Build/lib/Module/Build/Base.pm
14@@ -3071,7 +3071,7 @@ sub manify_bin_pods { 18@@ -3246,7 +3246,7 @@ sub manify_bin_pods {
15 foreach my $file (keys %$files) { 19 foreach my $file (keys %$files) {
16 # Pod::Simple based parsers only support one document per instance. 20 # Pod::Simple based parsers only support one document per instance.
17 # This is expected to change in a future version (Pod::Simple > 3.03). 21 # This is expected to change in a future version (Pod::Simple > 3.03).
@@ -20,7 +24,7 @@ index 5bd8ec7..b4e606a 100644
20 my $manpage = $self->man1page_name( $file ) . '.' . 24 my $manpage = $self->man1page_name( $file ) . '.' .
21 $self->config( 'man1ext' ); 25 $self->config( 'man1ext' );
22 my $outfile = File::Spec->catfile($mandir, $manpage); 26 my $outfile = File::Spec->catfile($mandir, $manpage);
23@@ -3096,7 +3096,7 @@ sub manify_lib_pods { 27@@ -3271,7 +3271,7 @@ sub manify_lib_pods {
24 while (my ($file, $relfile) = each %$files) { 28 while (my ($file, $relfile) = each %$files) {
25 # Pod::Simple based parsers only support one document per instance. 29 # Pod::Simple based parsers only support one document per instance.
26 # This is expected to change in a future version (Pod::Simple > 3.03). 30 # This is expected to change in a future version (Pod::Simple > 3.03).
@@ -29,5 +33,3 @@ index 5bd8ec7..b4e606a 100644
29 my $manpage = $self->man3page_name( $relfile ) . '.' . 33 my $manpage = $self->man3page_name( $relfile ) . '.' .
30 $self->config( 'man3ext' ); 34 $self->config( 'man3ext' );
31 my $outfile = File::Spec->catfile( $mandir, $manpage); 35 my $outfile = File::Spec->catfile( $mandir, $manpage);
32--
33tg: (a508b62..) debian/module_build_man_extensions (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/no_packlist_perllocal.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/no_packlist_perllocal.diff
new file mode 100644
index 0000000000..3324c1e36f
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/no_packlist_perllocal.diff
@@ -0,0 +1,88 @@
1From 44c7521619dd0e637920393184affcb26a27d5b7 Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Tue, 8 Mar 2005 19:30:38 +1100
4Subject: Don't install .packlist or perllocal.pod for perl or vendor
5
6Patch-Name: debian/no_packlist_perllocal.diff
7---
8 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 31 +++--------------------
9 1 files changed, 4 insertions(+), 27 deletions(-)
10
11diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
12index 42bbb83..a16e2d0 100644
13--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
14+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
15@@ -2054,8 +2054,6 @@ doc__install : doc_site_install
16
17 pure_perl_install :: all
18 $(NOECHO) umask 022; $(MOD_INSTALL) \
19- read }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
20- write }.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
21 $(INST_LIB) $(DESTINSTALLPRIVLIB) \
22 $(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
23 $(INST_BIN) $(DESTINSTALLBIN) \
24@@ -2081,8 +2079,6 @@ pure_site_install :: all
25
26 pure_vendor_install :: all
27 $(NOECHO) umask 022; $(MOD_INSTALL) \
28- read }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
29- write }.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{ \
30 $(INST_LIB) $(DESTINSTALLVENDORLIB) \
31 $(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
32 $(INST_BIN) $(DESTINSTALLVENDORBIN) \
33@@ -2091,37 +2087,19 @@ pure_vendor_install :: all
34 $(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
35
36 doc_perl_install :: all
37- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
38- -$(NOECHO) umask 022; $(MKPATH) $(DESTINSTALLARCHLIB)
39- -$(NOECHO) umask 022; $(DOC_INSTALL) \
40- "Module" "$(NAME)" \
41- "installed into" "$(INSTALLPRIVLIB)" \
42- LINKTYPE "$(LINKTYPE)" \
43- VERSION "$(VERSION)" \
44- EXE_FILES "$(EXE_FILES)" \
45- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
46
47 doc_site_install :: all
48- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
49- -$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLARCHLIB)
50+ $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLSITEARCH)/perllocal.pod
51+ -$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLSITEARCH)
52 -$(NOECHO) umask 02; $(DOC_INSTALL) \
53 "Module" "$(NAME)" \
54 "installed into" "$(INSTALLSITELIB)" \
55 LINKTYPE "$(LINKTYPE)" \
56 VERSION "$(VERSION)" \
57 EXE_FILES "$(EXE_FILES)" \
58- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
59+ >> }.$self->catfile('$(DESTINSTALLSITEARCH)','perllocal.pod').q{
60
61 doc_vendor_install :: all
62- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
63- -$(NOECHO) umask 022; $(MKPATH) $(DESTINSTALLARCHLIB)
64- -$(NOECHO) umask 022; $(DOC_INSTALL) \
65- "Module" "$(NAME)" \
66- "installed into" "$(INSTALLVENDORLIB)" \
67- LINKTYPE "$(LINKTYPE)" \
68- VERSION "$(VERSION)" \
69- EXE_FILES "$(EXE_FILES)" \
70- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
71
72 };
73
74@@ -2130,13 +2108,12 @@ uninstall :: uninstall_from_$(INSTALLDIRS)dirs
75 $(NOECHO) $(NOOP)
76
77 uninstall_from_perldirs ::
78- $(NOECHO) $(UNINSTALL) }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{
79
80 uninstall_from_sitedirs ::
81 $(NOECHO) $(UNINSTALL) }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{
82
83 uninstall_from_vendordirs ::
84- $(NOECHO) $(UNINSTALL) }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{
85+
86 };
87
88 join("",@m);
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/patchlevel.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/patchlevel.diff
new file mode 100644
index 0000000000..0a8a467f78
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/patchlevel.diff
@@ -0,0 +1,30 @@
1From cf928101697efa4a46ada500c2f449caeb854fd4 Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Sun, 15 May 2011 19:35:58 +0300
4Subject: List packaged patches in patchlevel.h
5
6Origin: vendor
7Bug-Debian: http://bugs.debian.org/567489
8
9The list of packaged patches is in patchlevel-debian.h, which is generated
10from the debian/patches/ directory when building the package.
11
12Patch-Name: debian/patchlevel.diff
13---
14 patchlevel.h | 3 +++
15 1 files changed, 3 insertions(+), 0 deletions(-)
16
17diff --git a/patchlevel.h b/patchlevel.h
18index 5dc2a53..1356595 100644
19--- a/patchlevel.h
20+++ b/patchlevel.h
21@@ -137,6 +137,9 @@ static const char * const local_patches[] = {
22 ,"uncommitted-changes"
23 #endif
24 PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
25+#ifdef DEBIAN
26+#include "patchlevel-debian.h"
27+#endif
28 ,NULL
29 };
30
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/perlivp.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/perlivp.diff
index 304e4c1af8..98b1b501f5 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/perlivp.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/perlivp.diff
@@ -1,8 +1,9 @@
1Upstream-Status:Inappropriate [debian patch] 1From 4c7e04f75c9513451d1622e5a6dd58c2c8377d81 Mon Sep 17 00:00:00 2001
2
3From: Niko Tyni <ntyni@debian.org> 2From: Niko Tyni <ntyni@debian.org>
3Date: Fri, 9 Jan 2009 18:54:47 +0200
4Subject: Make perlivp skip include directories in /usr/local 4Subject: Make perlivp skip include directories in /usr/local
5Closes: 510895 5
6Bug-Debian: http://bugs.debian.org/510895
6 7
7On Sat, Jan 10, 2009 at 12:37:18AM +1100, Brendan O'Dea wrote: 8On Sat, Jan 10, 2009 at 12:37:18AM +1100, Brendan O'Dea wrote:
8> On Wed, Jan 7, 2009 at 12:21 AM, Niko Tyni <ntyni@debian.org> wrote: 9> On Wed, Jan 7, 2009 at 12:21 AM, Niko Tyni <ntyni@debian.org> wrote:
@@ -17,15 +18,15 @@ On Sat, Jan 10, 2009 at 12:37:18AM +1100, Brendan O'Dea wrote:
17> installed any local packages. As Niko points out, they will be 18> installed any local packages. As Niko points out, they will be
18> created as required. 19> created as required.
19 20
20
21Signed-off-by: Niko Tyni <ntyni@debian.org> 21Signed-off-by: Niko Tyni <ntyni@debian.org>
22 22
23Patch-Name: debian/perlivp.diff
23--- 24---
24 utils/perlivp.PL | 1 + 25 utils/perlivp.PL | 1 +
25 1 files changed, 1 insertions(+), 0 deletions(-) 26 1 files changed, 1 insertions(+), 0 deletions(-)
26 27
27diff --git a/utils/perlivp.PL b/utils/perlivp.PL 28diff --git a/utils/perlivp.PL b/utils/perlivp.PL
28index 9783261..156146f 100644 29index 6fcb670..1401cac 100644
29--- a/utils/perlivp.PL 30--- a/utils/perlivp.PL
30+++ b/utils/perlivp.PL 31+++ b/utils/perlivp.PL
31@@ -142,6 +142,7 @@ my $INC_total = 0; 32@@ -142,6 +142,7 @@ my $INC_total = 0;
@@ -33,8 +34,6 @@ index 9783261..156146f 100644
33 foreach (@INC) { 34 foreach (@INC) {
34 next if $_ eq '.'; # skip -d test here 35 next if $_ eq '.'; # skip -d test here
35+ next if m|/usr/local|; # not shipped on Debian 36+ next if m|/usr/local|; # not shipped on Debian
36 if ($^O eq 'MacOS') { 37 if (-d $_) {
37 next if $_ eq ':'; # skip -d test here 38 print "## Perl \@INC directory `$_' exists.\n" if $opt{'v'};
38 next if $_ eq 'Dev:Pseudo:'; # why is this in @INC? 39 $INC_there++;
39--
40tg: (a508b62..) debian/perlivp (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/prefix_changes.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/prefix_changes.diff
new file mode 100644
index 0000000000..a1e17ce71e
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/prefix_changes.diff
@@ -0,0 +1,118 @@
1From 148e2717682ce8c65475ffdeea84b3cdd1ab1649 Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Tue, 8 Mar 2005 19:30:38 +1100
4Subject: Fiddle with *PREFIX and variables written to the makefile
5
6Fiddle with *PREFIX and variables written to the makefile so that
7install directories may be changed when make is run by passing
8PREFIX= to the "make install" command (used when packaging
9modules).
10
11Patch-Name: debian/prefix_changes.diff
12---
13 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | 12 ++++++------
14 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 3 +--
15 cpan/ExtUtils-MakeMaker/t/INST.t | 4 +---
16 cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t | 10 +++++-----
17 4 files changed, 13 insertions(+), 16 deletions(-)
18
19diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
20index a38f274..93d3fe9 100644
21--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
22+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
23@@ -701,8 +701,6 @@ all POD files in MAN1PODS and MAN3PODS.
24 sub manifypods_target {
25 my($self) = shift;
26
27- my $man1pods = '';
28- my $man3pods = '';
29 my $dependencies = '';
30
31 # populate manXpods & dependencies:
32@@ -718,7 +716,7 @@ END
33 foreach my $section (qw(1 3)) {
34 my $pods = $self->{"MAN${section}PODS"};
35 push @man_cmds, $self->split_command(<<CMD, %$pods);
36- \$(NOECHO) \$(POD2MAN) --section=$section --perm_rw=\$(PERM_RW)
37+ \$(NOECHO) \$(POD2MAN) --section=\$(MAN${section}EXT) --perm_rw=\$(PERM_RW)
38 CMD
39 }
40
41@@ -1521,9 +1519,11 @@ sub init_INSTALL_from_PREFIX {
42 $self->{SITEPREFIX} ||= $sprefix;
43 $self->{VENDORPREFIX} ||= $vprefix;
44
45- # Lots of MM extension authors like to use $(PREFIX) so we
46- # put something sensible in there no matter what.
47- $self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
48+ my $p = $self->{PREFIX} = $self->{PERLPREFIX};
49+ for my $t (qw/PERL SITE VENDOR/)
50+ {
51+ $self->{"${t}PREFIX"} =~ s!^\Q$p\E(?=/|$)!\$(PREFIX)!;
52+ }
53 }
54
55 my $arch = $Config{archname};
56diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
57index a16e2d0..c308c49 100644
58--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
59+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
60@@ -2981,8 +2981,7 @@ sub prefixify {
61 print STDERR " prefixify $var => $path\n" if $Verbose >= 2;
62 print STDERR " from $sprefix to $rprefix\n" if $Verbose >= 2;
63
64- if( $self->{ARGS}{PREFIX} &&
65- $path !~ s{^\Q$sprefix\E\b}{$rprefix}s )
66+ if( $path !~ s{^\Q$sprefix\E\b}{$rprefix}s && $self->{ARGS}{PREFIX} )
67 {
68
69 print STDERR " cannot prefix, using default.\n" if $Verbose >= 2;
70diff --git a/cpan/ExtUtils-MakeMaker/t/INST.t b/cpan/ExtUtils-MakeMaker/t/INST.t
71index 6aac294..28294f2 100644
72--- a/cpan/ExtUtils-MakeMaker/t/INST.t
73+++ b/cpan/ExtUtils-MakeMaker/t/INST.t
74@@ -61,9 +61,7 @@ isa_ok( $mm, 'ExtUtils::MakeMaker' );
75 is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
76 is( $mm->{VERSION}, 0.01, 'VERSION' );
77
78-my $config_prefix = $Config{installprefixexp} || $Config{installprefix} ||
79- $Config{prefixexp} || $Config{prefix};
80-is( $mm->{PERLPREFIX}, $config_prefix, 'PERLPREFIX' );
81+is( $mm->{PERLPREFIX}, '$(PREFIX)', 'PERLPREFIX' );
82
83 is( !!$mm->{PERL_CORE}, !!$ENV{PERL_CORE}, 'PERL_CORE' );
84
85diff --git a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
86index fbb18a3..8987569 100644
87--- a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
88+++ b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
89@@ -10,7 +10,7 @@ BEGIN {
90 }
91
92 use strict;
93-use Test::More tests => 52;
94+use Test::More tests => 47;
95 use MakeMaker::Test::Utils;
96 use MakeMaker::Test::Setup::BFD;
97 use ExtUtils::MakeMaker;
98@@ -58,16 +58,16 @@ like( $stdout->read, qr{
99 Writing\ MYMETA.yml\n
100 }x );
101
102-is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
103+#is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
104
105 isa_ok( $mm, 'ExtUtils::MakeMaker' );
106
107 is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
108 is( $mm->{VERSION}, 0.01, 'VERSION' );
109
110-foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
111- unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
112-}
113+#foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
114+# unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
115+#}
116
117
118 my $PREFIX = File::Spec->catdir('foo', 'bar');
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/prune_libs.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/prune_libs.diff
index 5bb072c021..bb05a945b3 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/prune_libs.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/prune_libs.diff
@@ -1,21 +1,23 @@
1Upstream-Status:Inappropriate [debian patch] 1From 063566907896ff32bea27897fa73cebbbd7bacce Mon Sep 17 00:00:00 2001
2 2From: Brendan O'Dea <bod@debian.org>
3Date: Fri, 18 Mar 2005 22:22:25 +1100
3Subject: Prune the list of libraries wanted to what we actually need. 4Subject: Prune the list of libraries wanted to what we actually need.
5
4Bug-Debian: http://bugs.debian.org/128355 6Bug-Debian: http://bugs.debian.org/128355
5 7
6We want to keep the dependencies on perl-base as small as possible, 8We want to keep the dependencies on perl-base as small as possible,
7and some of the original list may be present on buildds (see Bug#128355). 9and some of the original list may be present on buildds (see Bug#128355).
8 10
9 11Patch-Name: debian/prune_libs.diff
10--- 12---
11 Configure | 5 ++--- 13 Configure | 5 ++---
12 1 files changed, 2 insertions(+), 3 deletions(-) 14 1 files changed, 2 insertions(+), 3 deletions(-)
13 15
14diff --git a/Configure b/Configure 16diff --git a/Configure b/Configure
15index 3a8732b..6013c86 100755 17index d9911f9..f59f75c 100755
16--- a/Configure 18--- a/Configure
17+++ b/Configure 19+++ b/Configure
18@@ -1363,8 +1363,7 @@ libswanted_uselargefiles='' 20@@ -1367,8 +1367,7 @@ libswanted_uselargefiles=''
19 : set usesocks on the Configure command line to enable socks. 21 : set usesocks on the Configure command line to enable socks.
20 : List of libraries we want. 22 : List of libraries we want.
21 : If anyone needs extra -lxxx, put those in a hint file. 23 : If anyone needs extra -lxxx, put those in a hint file.
@@ -25,7 +27,7 @@ index 3a8732b..6013c86 100755
25 : We probably want to search /usr/shlib before most other libraries. 27 : We probably want to search /usr/shlib before most other libraries.
26 : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. 28 : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
27 glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'` 29 glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
28@@ -22179,7 +22178,7 @@ sunos*X4*) 30@@ -22308,7 +22307,7 @@ sunos*X4*)
29 ;; 31 ;;
30 *) case "$usedl" in 32 *) case "$usedl" in
31 $define|true|[yY]*) 33 $define|true|[yY]*)
@@ -34,5 +36,3 @@ index 3a8732b..6013c86 100755
34 shift 36 shift
35 perllibs="$*" 37 perllibs="$*"
36 ;; 38 ;;
37--
38tg: (a508b62..) debian/prune_libs (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/series b/meta/recipes-devtools/perl/perl-5.14.2/debian/series
new file mode 100644
index 0000000000..08adca5626
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/series
@@ -0,0 +1,40 @@
1debian/arm_thread_stress_timeout.diff
2debian/cpan_definstalldirs.diff
3debian/db_file_ver.diff
4debian/doc_info.diff
5debian/enc2xs_inc.diff
6debian/errno_ver.diff
7debian/libperl_embed_doc.diff
8fixes/respect_umask.diff
9debian/writable_site_dirs.diff
10debian/extutils_set_libperl_path.diff
11debian/no_packlist_perllocal.diff
12debian/prefix_changes.diff
13debian/fakeroot.diff
14debian/instmodsh_doc.diff
15debian/ld_run_path.diff
16debian/libnet_config_path.diff
17debian/m68k_thread_stress.diff
18debian/mod_paths.diff
19debian/module_build_man_extensions.diff
20debian/prune_libs.diff
21fixes/net_smtp_docs.diff
22debian/perlivp.diff
23debian/disable-zlib-bundling.diff
24debian/cpanplus_definstalldirs.diff
25debian/cpanplus_config_path.diff
26debian/deprecate-with-apt.diff
27fixes/hurd-ccflags.diff
28debian/squelch-locale-warnings.diff
29debian/skip-upstream-git-tests.diff
30fixes/extutils-cbuilder-cflags.diff
31fixes/module-build-home-directory.diff
32debian/patchlevel.diff
33fixes/h2ph-multiarch.diff
34fixes/index-tainting.diff
35debian/skip-kfreebsd-crash.diff
36fixes/document_makemaker_ccflags.diff
37fixes/sys-syslog-socket-timeout-kfreebsd.patch
38fixes/hurd-hints.diff
39fixes/pod_fixes.diff
40debian/find_html2text.diff
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/skip-kfreebsd-crash.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/skip-kfreebsd-crash.diff
new file mode 100644
index 0000000000..7992129a51
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/skip-kfreebsd-crash.diff
@@ -0,0 +1,39 @@
1From ff2815399ad94915da2e63cb3c4bbd2d02dac4b2 Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Fri, 5 Aug 2011 10:50:18 +0300
4Subject: Skip a crashing test case in t/op/threads.t on GNU/kFreeBSD
5
6Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=96272
7Bug-Debian: http://bugs.debian.org/628493
8
9The crash is not a regression in 5.14, it just gets triggered there by
10a new unrelated test case.
11
12Skip the test until the culprit is found.
13
14Patch-Name: debian/skip-kfreebsd-crash.diff
15---
16 t/op/threads.t | 4 ++++
17 1 files changed, 4 insertions(+), 0 deletions(-)
18
19diff --git a/t/op/threads.t b/t/op/threads.t
20index 24e84e4..6a91366 100644
21--- a/t/op/threads.t
22+++ b/t/op/threads.t
23@@ -342,6 +342,9 @@ threads->create(
24
25 EOI
26
27+SKIP: {
28+ skip "[perl #96272] avoid crash on GNU/kFreeBSD", 1
29+ if $^O eq 'gnukfreebsd';
30 # [perl #78494] Pipes shared between threads block when closed
31 watchdog 10;
32 {
33@@ -351,5 +354,6 @@ watchdog 10;
34 threads->create(sub { })->join;
35 ok(1, "Pipes shared between threads do not block when closed");
36 }
37+}
38
39 # EOF
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/skip-upstream-git-tests.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/skip-upstream-git-tests.diff
new file mode 100644
index 0000000000..a157bc7f60
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/skip-upstream-git-tests.diff
@@ -0,0 +1,59 @@
1From 2be2eed9148c38d3e982d3371f379ce77021aeb5 Mon Sep 17 00:00:00 2001
2From: Niko Tyni <ntyni@debian.org>
3Date: Fri, 22 Apr 2011 11:15:32 +0300
4Subject: Skip tests specific to the upstream Git repository
5
6These tests fail if run from a different git repository than
7upstream. This complicates things needlessly for downstream packagers.
8
9Skip the tests altogether even if the .git directory exists.
10
11Patch-Name: debian/skip-upstream-git-tests.diff
12---
13 t/porting/authors.t | 3 ++-
14 t/porting/cmp_version.t | 3 ++-
15 t/porting/manifest.t | 3 ++-
16 3 files changed, 6 insertions(+), 3 deletions(-)
17
18diff --git a/t/porting/authors.t b/t/porting/authors.t
19index 28ca1ca..3c7f069 100644
20--- a/t/porting/authors.t
21+++ b/t/porting/authors.t
22@@ -9,7 +9,8 @@ BEGIN {
23 use strict;
24 use warnings;
25
26-if (! -d '.git' ) {
27+# Debian change: skip as we're probably in a different git repository
28+if (1 || ! -d '.git' ) {
29 print "1..0 # SKIP: not being run from a git checkout\n";
30 exit 0;
31 }
32diff --git a/t/porting/cmp_version.t b/t/porting/cmp_version.t
33index b3c677c..f89f2a7 100644
34--- a/t/porting/cmp_version.t
35+++ b/t/porting/cmp_version.t
36@@ -25,7 +25,8 @@ use File::Spec::Functions qw(rel2abs abs2rel catfile catdir curdir);
37 use Getopt::Std;
38 use Maintainers;
39
40-if (! -d '.git' ) {
41+# Debian change: skip as we're probably in a different git repository
42+if (1 || ! -d '.git' ) {
43 print "1..0 # SKIP: not being run from a git checkout\n";
44 exit 0;
45 }
46diff --git a/t/porting/manifest.t b/t/porting/manifest.t
47index 48dd3ac..b08126b 100644
48--- a/t/porting/manifest.t
49+++ b/t/porting/manifest.t
50@@ -59,7 +59,8 @@ SKIP: {
51
52 SKIP: {
53 chdir "..";
54- skip("not under git control", 3) unless -d '.git';
55+ # Debian change: skip as we're probably in a different git repository
56+ skip("not under git control", 3) unless 0 && -d '.git';
57 chomp(my @repo= grep { !/\.gitignore$/ } `git ls-files`);
58 skip("git ls-files didnt work",3)
59 if !@repo;
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/debian/squelch-locale-warnings.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/squelch-locale-warnings.diff
index eac0fc30c4..71660b08ba 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/debian/squelch-locale-warnings.diff
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/squelch-locale-warnings.diff
@@ -1,7 +1,8 @@
1Upstream-Status:Inappropriate [debian patch] 1From 718e9cbd59f0739fc9104af111e42fff66f927a7 Mon Sep 17 00:00:00 2001
2
3From: Niko Tyni <ntyni@debian.org> 2From: Niko Tyni <ntyni@debian.org>
3Date: Sun, 3 Oct 2010 21:36:17 +0300
4Subject: Squelch locale warnings in Debian package maintainer scripts 4Subject: Squelch locale warnings in Debian package maintainer scripts
5
5Bug-Debian: http://bugs.debian.org/508764 6Bug-Debian: http://bugs.debian.org/508764
6 7
7The system locales are rather frequently out of sync with the C library 8The system locales are rather frequently out of sync with the C library
@@ -12,13 +13,14 @@ by the DPKG_RUNNING_VERSION environment variable.
12Any real locale problem will show up after the system upgrade too, and 13Any real locale problem will show up after the system upgrade too, and
13the warning will be triggered normally again at that point. 14the warning will be triggered normally again at that point.
14 15
16Patch-Name: debian/squelch-locale-warnings.diff
15--- 17---
16 locale.c | 4 ++++ 18 locale.c | 4 ++++
17 pod/perllocale.pod | 8 ++++++++ 19 pod/perllocale.pod | 8 ++++++++
18 2 files changed, 12 insertions(+), 0 deletions(-) 20 2 files changed, 12 insertions(+), 0 deletions(-)
19 21
20diff --git a/locale.c b/locale.c 22diff --git a/locale.c b/locale.c
21index 16ccce8..2592b3c 100644 23index 4631b86..94a0962 100644
22--- a/locale.c 24--- a/locale.c
23+++ b/locale.c 25+++ b/locale.c
24@@ -359,6 +359,10 @@ Perl_init_i18nl10n(pTHX_ int printwarn) 26@@ -359,6 +359,10 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
@@ -33,10 +35,10 @@ index 16ccce8..2592b3c 100644
33 35
34 if (locwarn) { 36 if (locwarn) {
35diff --git a/pod/perllocale.pod b/pod/perllocale.pod 37diff --git a/pod/perllocale.pod b/pod/perllocale.pod
36index 0dbabe7..60b7bab 100644 38index 8926d8b..6c55889 100644
37--- a/pod/perllocale.pod 39--- a/pod/perllocale.pod
38+++ b/pod/perllocale.pod 40+++ b/pod/perllocale.pod
39@@ -844,6 +844,14 @@ B<NOTE>: PERL_BADLANG only gives you a way to hide the warning message. 41@@ -861,6 +861,14 @@ B<NOTE>: PERL_BADLANG only gives you a way to hide the warning message.
40 The message tells about some problem in your system's locale support, 42 The message tells about some problem in your system's locale support,
41 and you should investigate what the problem is. 43 and you should investigate what the problem is.
42 44
@@ -51,5 +53,3 @@ index 0dbabe7..60b7bab 100644
51 =back 53 =back
52 54
53 The following environment variables are not specific to Perl: They are 55 The following environment variables are not specific to Perl: They are
54--
55tg: (a508b62..) debian/squelch-locale-warnings (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/debian/writable_site_dirs.diff b/meta/recipes-devtools/perl/perl-5.14.2/debian/writable_site_dirs.diff
new file mode 100644
index 0000000000..a4fc32aec0
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/debian/writable_site_dirs.diff
@@ -0,0 +1,36 @@
1From 492e0d6b4e3e0d786fb88b9058d581f6466c4a3e Mon Sep 17 00:00:00 2001
2From: Brendan O'Dea <bod@debian.org>
3Date: Tue, 8 Mar 2005 19:30:38 +1100
4Subject: Set umask approproately for site install directories
5
6Policy requires group writable site directories
7
8Patch-Name: debian/writable_site_dirs.diff
9---
10 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 6 +++---
11 1 files changed, 3 insertions(+), 3 deletions(-)
12
13diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
14index 865d36d..4ee6b3f 100644
15--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
16+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
17@@ -2067,7 +2067,7 @@ pure_perl_install :: all
18
19
20 pure_site_install :: all
21- $(NOECHO) umask 022; $(MOD_INSTALL) \
22+ $(NOECHO) umask 02; $(MOD_INSTALL) \
23 read }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
24 write }.$self->catfile('$(DESTINSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').q{ \
25 $(INST_LIB) $(DESTINSTALLSITELIB) \
26@@ -2103,8 +2103,8 @@ doc_perl_install :: all
27
28 doc_site_install :: all
29 $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
30- -$(NOECHO) umask 022; $(MKPATH) $(DESTINSTALLARCHLIB)
31- -$(NOECHO) umask 022; $(DOC_INSTALL) \
32+ -$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLARCHLIB)
33+ -$(NOECHO) umask 02; $(DOC_INSTALL) \
34 "Module" "$(NAME)" \
35 "installed into" "$(INSTALLSITELIB)" \
36 LINKTYPE "$(LINKTYPE)" \
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/fix_bad_rpath.patch b/meta/recipes-devtools/perl/perl-5.14.2/fix_bad_rpath.patch
index 7b99857c17..69ac434779 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/fix_bad_rpath.patch
+++ b/meta/recipes-devtools/perl/perl-5.14.2/fix_bad_rpath.patch
@@ -10,16 +10,15 @@ This fixes this warning for perl recipe as well as libxml-parser-perl recipe.
10It is a fix to MakeMaker within perl, so all such perl recipes will get 10It is a fix to MakeMaker within perl, so all such perl recipes will get
11fixed with this perl fix. 11fixed with this perl fix.
12 12
13Index: perl-5.12.3/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 13Index: perl-5.14.2/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
14=================================================================== 14===================================================================
15--- perl-5.12.3.orig/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 15--- perl-5.14.2.orig/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
16+++ perl-5.12.3/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 16+++ perl-5.14.2/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
17@@ -54,7 +54,7 @@ sub _unix_os2_ext { 17@@ -55,6 +55,7 @@ sub _unix_os2_ext {
18 my($found) = 0; 18 my($found) = 0;
19 19
20 # Debian-specific: don't use LD_RUN_PATH for standard dirs 20 # Debian-specific: don't use LD_RUN_PATH for standard dirs
21- $ld_run_path_seen{$_}++ for qw(/lib /usr/lib /usr/X11R6/lib); 21+ push(@libpath, "SYSROOTLIB");
22+ $ld_run_path_seen{$_}++ for qw(/lib /usr/lib /usr/X11R6/lib SYSROOTLIB); 22 $ld_run_path_seen{$_}++ for @libpath;
23 23
24 foreach my $thislib (split ' ', $potential_libs) { 24 foreach my $thislib (split ' ', $potential_libs) {
25
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/generate-sh.patch b/meta/recipes-devtools/perl/perl-5.14.2/generate-sh.patch
index 47f91c56d3..47f91c56d3 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/generate-sh.patch
+++ b/meta/recipes-devtools/perl/perl-5.14.2/generate-sh.patch
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/installperl.patch b/meta/recipes-devtools/perl/perl-5.14.2/installperl.patch
index 456012376e..456012376e 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/installperl.patch
+++ b/meta/recipes-devtools/perl/perl-5.14.2/installperl.patch
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/letgcc-find-errno.patch b/meta/recipes-devtools/perl/perl-5.14.2/letgcc-find-errno.patch
index 5161e4c8b6..5161e4c8b6 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/letgcc-find-errno.patch
+++ b/meta/recipes-devtools/perl/perl-5.14.2/letgcc-find-errno.patch
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/native-nopacklist.patch b/meta/recipes-devtools/perl/perl-5.14.2/native-nopacklist.patch
index 389c3342fb..389c3342fb 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/native-nopacklist.patch
+++ b/meta/recipes-devtools/perl/perl-5.14.2/native-nopacklist.patch
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/native-perlinc.patch b/meta/recipes-devtools/perl/perl-5.14.2/native-perlinc.patch
index f0bb1f6596..f0bb1f6596 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/native-perlinc.patch
+++ b/meta/recipes-devtools/perl/perl-5.14.2/native-perlinc.patch
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/perl-configpm-switch.patch b/meta/recipes-devtools/perl/perl-5.14.2/perl-configpm-switch.patch
index 9e9f342866..c6cc15c93f 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/perl-configpm-switch.patch
+++ b/meta/recipes-devtools/perl/perl-5.14.2/perl-configpm-switch.patch
@@ -9,18 +9,20 @@ to use the settings appropriate for the native and/or target builds
9as required. This also disables the use of the cache since the cached 9as required. This also disables the use of the cache since the cached
10values would be valid for the host only. 10values would be valid for the host only.
11 11
12--- perl-5.8.8/configpm 2007/04/30 03:10:43 1.1 12Index: perl-5.14.2/configpm
13+++ perl-5.8.8/configpm 2007/04/30 03:11:56 13===================================================================
14@@ -374,7 +374,7 @@ 14--- perl-5.14.2.orig/configpm
15+++ perl-5.14.2/configpm
16@@ -658,7 +658,7 @@ sub FETCH {
15 my($self, $key) = @_; 17 my($self, $key) = @_;
16 18
17 # check for cached value (which may be undef so we use exists not defined) 19 # check for cached value (which may be undef so we use exists not defined)
18- return $self->{$key} if exists $self->{$key}; 20- return exists $self->{$key} ? $self->{$key} : $self->fetch_string($key);
19+ #return $self->{$key} if exists $self->{$key}; 21+ return $self->fetch_string($key);
20
21 return $self->fetch_string($key);
22 } 22 }
23@@ -530,7 +530,21 @@ 23
24 ENDOFEND
25@@ -816,7 +816,21 @@ $config_txt .= sprintf <<'ENDOFTIE', $fa
24 sub DESTROY { } 26 sub DESTROY { }
25 27
26 sub AUTOLOAD { 28 sub AUTOLOAD {
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/perl-configure.sh b/meta/recipes-devtools/perl/perl-5.14.2/perl-configure.sh
index e72ce49f99..e72ce49f99 100755
--- a/meta/recipes-devtools/perl/perl-5.12.3/perl-configure.sh
+++ b/meta/recipes-devtools/perl/perl-5.14.2/perl-configure.sh
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/perl-dynloader.patch b/meta/recipes-devtools/perl/perl-5.14.2/perl-dynloader.patch
index 1840605df1..035beba66a 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/perl-dynloader.patch
+++ b/meta/recipes-devtools/perl/perl-5.14.2/perl-dynloader.patch
@@ -7,12 +7,14 @@ system.
7 7
8Update by Nitin A Kamble <nitin.a.kamble@intel.com> 2011/04/21 8Update by Nitin A Kamble <nitin.a.kamble@intel.com> 2011/04/21
9 9
10--- perl-5.12.3/dist/XSLoader/XSLoader_pm.PL 2007/04/20 09:03:08 1.1 10Index: perl-5.14.2/dist/XSLoader/XSLoader_pm.PL
11+++ perl-5.12.3/dist/XSLoader/XSLoader_pm.PL 2007/04/20 09:03:08 11===================================================================
12@@ -65,6 +65,19 @@ 12--- perl-5.14.2.orig/dist/XSLoader/XSLoader_pm.PL
13 print OUT <<'EOT'; 13+++ perl-5.14.2/dist/XSLoader/XSLoader_pm.PL
14 my $modpname = join('/',@modparts); 14@@ -28,6 +28,20 @@ sub load {
15 my $modlibname = (caller())[1]; 15
16 my ($module, $modlibname) = caller();
17
16+ # OE: Allow env to form dynamic loader to look in a different place 18+ # OE: Allow env to form dynamic loader to look in a different place
17+ # This is so it finds the host .so files, not the targets 19+ # This is so it finds the host .so files, not the targets
18+ if (defined $ENV{PERLHOSTLIB}) 20+ if (defined $ENV{PERLHOSTLIB})
@@ -26,6 +28,7 @@ Update by Nitin A Kamble <nitin.a.kamble@intel.com> 2011/04/21
26+ } 28+ }
27+ print STDERR "*** Module name OUT: $modlibname\n"; 29+ print STDERR "*** Module name OUT: $modlibname\n";
28+ } 30+ }
29 my $c = @modparts; 31+
30 $modlibname =~ s,[\\/][^\\/]+$,, while $c--; # Q&D basename 32 if (@_) {
31 my $file = "$modlibname/auto/$modpname/$modfname.$dl_dlext"; 33 $module = $_[0];
34 } else {
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/perl-enable-gdbm.patch b/meta/recipes-devtools/perl/perl-5.14.2/perl-enable-gdbm.patch
index aa83fca5ae..aa83fca5ae 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/perl-enable-gdbm.patch
+++ b/meta/recipes-devtools/perl/perl-5.14.2/perl-enable-gdbm.patch
diff --git a/meta/recipes-devtools/perl/perl-5.12.3/perl-moreconfig.patch b/meta/recipes-devtools/perl/perl-5.14.2/perl-moreconfig.patch
index 59ce85a7a3..59ce85a7a3 100644
--- a/meta/recipes-devtools/perl/perl-5.12.3/perl-moreconfig.patch
+++ b/meta/recipes-devtools/perl/perl-5.14.2/perl-moreconfig.patch
diff --git a/meta/recipes-devtools/perl/perl-native_5.12.3.bb b/meta/recipes-devtools/perl/perl-native_5.14.2.bb
index a8e2346606..0f49950478 100644
--- a/meta/recipes-devtools/perl/perl-native_5.12.3.bb
+++ b/meta/recipes-devtools/perl/perl-native_5.14.2.bb
@@ -4,7 +4,7 @@ SECTION = "libs"
4LICENSE = "Artistic|GPL" 4LICENSE = "Artistic|GPL"
5LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \ 5LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
6 file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8" 6 file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
7PR = "r5" 7PR = "r0"
8 8
9LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \ 9LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
10 file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8" 10 file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
@@ -12,18 +12,12 @@ LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
12SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \ 12SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \
13 file://Configure-multilib.patch \ 13 file://Configure-multilib.patch \
14 file://perl-configpm-switch.patch \ 14 file://perl-configpm-switch.patch \
15 file://parallel_build_fix_1.patch \
16 file://parallel_build_fix_2.patch \
17 file://parallel_build_fix_3.patch \
18 file://parallel_build_fix_4.patch \
19 file://parallel_build_fix_5.patch \
20 file://parallel_build_fix_6.patch \
21 file://native-nopacklist.patch \ 15 file://native-nopacklist.patch \
22 file://native-perlinc.patch \ 16 file://native-perlinc.patch \
23 file://MM_Unix.pm.patch" 17 file://MM_Unix.pm.patch"
24 18
25SRC_URI[md5sum] = "29975a69dce54e47fcd6331c085c6c99" 19SRC_URI[md5sum] = "3306fbaf976dcebdcd49b2ac0be00eb9"
26SRC_URI[sha256sum] = "5678bfd5c2cd59253a26171bf3e681235433b00c730eea8a8046e1b225c11d2f" 20SRC_URI[sha256sum] = "6488359573bd7d41761bf935f66f827dc220fb3df961ef9b775d51fbd66548d3"
27 21
28S = "${WORKDIR}/perl-${PV}" 22S = "${WORKDIR}/perl-${PV}"
29 23
@@ -88,15 +82,17 @@ do_install () {
88 install lib/ExtUtils/typemap ${D}${libdir}/perl/${PV}/ExtUtils/ 82 install lib/ExtUtils/typemap ${D}${libdir}/perl/${PV}/ExtUtils/
89 83
90 # perl shared library headers 84 # perl shared library headers
91 for i in av.h embed.h gv.h keywords.h op.h perlio.h pp.h regexp.h \ 85 for i in av.h bitcount.h config.h cop.h cv.h dosish.h embed.h embedvar.h \
92 uconfig.h XSUB.h cc_runtime.h embedvar.h handy.h opnames.h \ 86 EXTERN.h fakesdio.h fakethr.h form.h gv.h handy.h hv.h INTERN.h \
93 perliol.h pp_proto.h regnodes.h unixish.h config.h EXTERN.h \ 87 intrpvar.h iperlsys.h keywords.h l1_char_class_tab.h malloc_ctl.h \
94 hv.h malloc_ctl.h pad.h perlsdio.h proto.h scope.h utf8.h \ 88 metaconfig.h mg.h mydtrace.h nostdio.h opcode.h op.h opnames.h \
95 cop.h fakesdio.h INTERN.h mg.h patchlevel.h perlsfio.h \ 89 op_reg_common.h overload.h pad.h parser.h patchlevel.h perlapi.h \
96 reentr.h sv.h utfebcdic.h cv.h fakethr.h intrpvar.h \ 90 perl.h perlio.h perliol.h perlsdio.h perlsfio.h perlvars.h \
97 nostdio.h perlapi.h perlvars.h util.h \ 91 perly.h pp.h pp_proto.h proto.h reentr.h regcharclass.h regcomp.h \
98 dosish.h form.h iperlsys.h opcode.h perl.h perly.h regcomp.h \ 92 regexp.h regnodes.h scope.h sv.h thread.h time64_config.h \
99 thread.h warnings.h; do 93 time64.h uconfig.h unixish.h utf8.h utfebcdic.h util.h \
94 uudmap.h warnings.h XSUB.h
95 do
100 install $i ${D}${libdir}/perl/${PV}/CORE 96 install $i ${D}${libdir}/perl/${PV}/CORE
101 done 97 done
102 98
diff --git a/meta/recipes-devtools/perl/perl-rdepends_5.12.3.inc b/meta/recipes-devtools/perl/perl-rdepends_5.14.2.inc
index 309bd17413..26239d2d52 100644
--- a/meta/recipes-devtools/perl/perl-rdepends_5.12.3.inc
+++ b/meta/recipes-devtools/perl/perl-rdepends_5.14.2.inc
@@ -17,14 +17,15 @@ RDEPENDS_perl-module-math-bigint-calc += "perl-module-integer "
17 17
18# Depends list 18# Depends list
19# copy contents of /tmp/1 in this file 19# copy contents of /tmp/1 in this file
20RDEPENDS_perl-module-archive-tar += "perl-module-exporter"
21RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar" 20RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar"
21RDEPENDS_perl-module-archive-tar += "perl-module-exporter"
22RDEPENDS_perl-module-attributes += "perl-module-xsloader" 22RDEPENDS_perl-module-attributes += "perl-module-xsloader"
23RDEPENDS_perl-module-b += "perl-module-exporter"
24RDEPENDS_perl-module-b-debug += "perl-module-b" 23RDEPENDS_perl-module-b-debug += "perl-module-b"
25RDEPENDS_perl-module-bignum += "perl-module-bigint" 24RDEPENDS_perl-module-bignum += "perl-module-bigint"
26RDEPENDS_perl-module-bigrat += "perl-module-bigint" 25RDEPENDS_perl-module-bigrat += "perl-module-bigint"
27RDEPENDS_perl-module-bigrat += "perl-module-exporter" 26RDEPENDS_perl-module-bigrat += "perl-module-exporter"
27RDEPENDS_perl-module-b += "perl-module-exporter"
28#RDEPENDS_perl-module-build += "perl-module-module-metadata"
28RDEPENDS_perl-module-carp += "perl-module-exporter" 29RDEPENDS_perl-module-carp += "perl-module-exporter"
29RDEPENDS_perl-module-cgi-util += "perl-module-exporter" 30RDEPENDS_perl-module-cgi-util += "perl-module-exporter"
30RDEPENDS_perl-module-class-struct += "perl-module-exporter" 31RDEPENDS_perl-module-class-struct += "perl-module-exporter"
@@ -32,27 +33,30 @@ RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-exporter"
32RDEPENDS_perl-module-compress-raw-zlib += "perl-module-exporter" 33RDEPENDS_perl-module-compress-raw-zlib += "perl-module-exporter"
33RDEPENDS_perl-module-compress-zlib += "perl-module-exporter" 34RDEPENDS_perl-module-compress-zlib += "perl-module-exporter"
34RDEPENDS_perl-module-config-extensions += "perl-module-exporter" 35RDEPENDS_perl-module-config-extensions += "perl-module-exporter"
36#RDEPENDS_perl-module-cpan += "perl-module-mac-buildtools"
35RDEPENDS_perl-module-cpanplus += "perl-module-base" 37RDEPENDS_perl-module-cpanplus += "perl-module-base"
38RDEPENDS_perl-module-cpanplus += "perl-module-cpanplus"
36RDEPENDS_perl-module-cpanplus += "perl-module-exporter" 39RDEPENDS_perl-module-cpanplus += "perl-module-exporter"
37RDEPENDS_perl-module-cpanplus += "perl-module-tie-hash" 40RDEPENDS_perl-module-cpanplus += "perl-module-tie-hash"
38RDEPENDS_perl-module-data-dumper += "perl-module-exporter" 41RDEPENDS_perl-module-data-dumper += "perl-module-exporter"
39RDEPENDS_perl-module-data-dumper += "perl-module-overload" 42RDEPENDS_perl-module-data-dumper += "perl-module-overload"
40RDEPENDS_perl-module-devel-peek += "perl-module-exporter" 43RDEPENDS_perl-module-devel-peek += "perl-module-exporter"
44RDEPENDS_perl-module-devel-peek += "perl-module-xsloader"
41RDEPENDS_perl-module-devel-selfstubber += "perl-module-selfloader" 45RDEPENDS_perl-module-devel-selfstubber += "perl-module-selfloader"
42RDEPENDS_perl-module-digest-md5 += "perl-module-exporter" 46RDEPENDS_perl-module-digest-md5 += "perl-module-exporter"
43RDEPENDS_perl-module-digest-sha += "perl-module-dynaloader" 47RDEPENDS_perl-module-digest-sha += "perl-module-dynaloader"
44RDEPENDS_perl-module-digest-sha += "perl-module-exporter" 48RDEPENDS_perl-module-digest-sha += "perl-module-exporter"
45RDEPENDS_perl-module-dynaloader += "perl-module-autoloader"
46RDEPENDS_perl-module-encode += "perl-module-encode-config"
47RDEPENDS_perl-module-encode += "perl-module-exporter"
48RDEPENDS_perl-module-encode-cjkconstants += "perl-module-exporter" 49RDEPENDS_perl-module-encode-cjkconstants += "perl-module-exporter"
49RDEPENDS_perl-module-encode-encoder += "perl-module-exporter" 50RDEPENDS_perl-module-encode-encoder += "perl-module-exporter"
50RDEPENDS_perl-module-encode-encoding += "perl-module-encode" 51RDEPENDS_perl-module-encode-encoding += "perl-module-encode"
52RDEPENDS_perl-module-encode += "perl-module-encode-config"
53RDEPENDS_perl-module-encode += "perl-module-exporter"
51RDEPENDS_perl-module-encode-unicode += "perl-module-encode" 54RDEPENDS_perl-module-encode-unicode += "perl-module-encode"
52RDEPENDS_perl-module-english += "perl-module-exporter" 55RDEPENDS_perl-module-english += "perl-module-exporter"
56RDEPENDS_perl-module-errno += "perl-module-exporter"
53RDEPENDS_perl-module-exporter-heavy += "perl-module-exporter" 57RDEPENDS_perl-module-exporter-heavy += "perl-module-exporter"
54RDEPENDS_perl-module-extutils-command += "perl-module-exporter"
55RDEPENDS_perl-module-extutils-command-mm += "perl-module-exporter" 58RDEPENDS_perl-module-extutils-command-mm += "perl-module-exporter"
59RDEPENDS_perl-module-extutils-command += "perl-module-exporter"
56RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-xs" 60RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-xs"
57RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-base" 61RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-base"
58RDEPENDS_perl-module-extutils-embed += "perl-module-exporter" 62RDEPENDS_perl-module-extutils-embed += "perl-module-exporter"
@@ -64,8 +68,6 @@ RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-my"
64RDEPENDS_perl-module-extutils-manifest += "perl-module-exporter" 68RDEPENDS_perl-module-extutils-manifest += "perl-module-exporter"
65RDEPENDS_perl-module-extutils-miniperl += "perl-module-exporter" 69RDEPENDS_perl-module-extutils-miniperl += "perl-module-exporter"
66RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-exporter" 70RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-exporter"
67RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-liblist"
68RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker"
69RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-mm-unix" 71RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-mm-unix"
70RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-any" 72RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-any"
71RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-unix" 73RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-unix"
@@ -76,6 +78,8 @@ RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-unix"
76RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-mm-win32" 78RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-mm-win32"
77RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-any" 79RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-any"
78RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-unix" 80RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-unix"
81RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-liblist"
82RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker"
79RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-extutils-mm-unix" 83RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-extutils-mm-unix"
80RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-mm-any" 84RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-mm-any"
81RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-extutils-mm-unix" 85RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-extutils-mm-unix"
@@ -89,6 +93,7 @@ RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-mm-win32"
89RDEPENDS_perl-module-extutils-my += "perl-module-extutils-mm" 93RDEPENDS_perl-module-extutils-my += "perl-module-extutils-mm"
90RDEPENDS_perl-module-extutils-parsexs += "perl-module-exporter" 94RDEPENDS_perl-module-extutils-parsexs += "perl-module-exporter"
91RDEPENDS_perl-module-fcntl += "perl-module-exporter" 95RDEPENDS_perl-module-fcntl += "perl-module-exporter"
96RDEPENDS_perl-module-fcntl += "perl-module-xsloader"
92RDEPENDS_perl-module-file-basename += "perl-module-exporter" 97RDEPENDS_perl-module-file-basename += "perl-module-exporter"
93RDEPENDS_perl-module-file-compare += "perl-module-exporter" 98RDEPENDS_perl-module-file-compare += "perl-module-exporter"
94RDEPENDS_perl-module-file-copy += "perl-module-exporter" 99RDEPENDS_perl-module-file-copy += "perl-module-exporter"
@@ -96,6 +101,8 @@ RDEPENDS_perl-module-file-find += "perl-module-cwd"
96RDEPENDS_perl-module-file-find += "perl-module-exporter" 101RDEPENDS_perl-module-file-find += "perl-module-exporter"
97RDEPENDS_perl-module-file-find += "perl-module-file-basename" 102RDEPENDS_perl-module-file-find += "perl-module-file-basename"
98RDEPENDS_perl-module-file-find += "perl-module-file-spec" 103RDEPENDS_perl-module-file-find += "perl-module-file-spec"
104RDEPENDS_perl-module-file-glob += "perl-module-xsloader"
105RDEPENDS_perl-module-filehandle += "perl-module-io-file"
99RDEPENDS_perl-module-file-spec-cygwin += "perl-module-file-spec-unix" 106RDEPENDS_perl-module-file-spec-cygwin += "perl-module-file-spec-unix"
100RDEPENDS_perl-module-file-spec-epoc += "perl-module-file-spec-unix" 107RDEPENDS_perl-module-file-spec-epoc += "perl-module-file-spec-unix"
101RDEPENDS_perl-module-file-spec-functions += "perl-module-exporter" 108RDEPENDS_perl-module-file-spec-functions += "perl-module-exporter"
@@ -104,27 +111,29 @@ RDEPENDS_perl-module-file-spec-os2 += "perl-module-file-spec-unix"
104RDEPENDS_perl-module-file-spec-vms += "perl-module-file-spec-unix" 111RDEPENDS_perl-module-file-spec-vms += "perl-module-file-spec-unix"
105RDEPENDS_perl-module-file-spec-win32 += "perl-module-file-spec-unix" 112RDEPENDS_perl-module-file-spec-win32 += "perl-module-file-spec-unix"
106RDEPENDS_perl-module-file-temp += "perl-module-symbol" 113RDEPENDS_perl-module-file-temp += "perl-module-symbol"
107RDEPENDS_perl-module-filehandle += "perl-module-io-file"
108RDEPENDS_perl-module-filter-util-call += "perl-module-dynaloader" 114RDEPENDS_perl-module-filter-util-call += "perl-module-dynaloader"
109RDEPENDS_perl-module-filter-util-call += "perl-module-exporter" 115RDEPENDS_perl-module-filter-util-call += "perl-module-exporter"
110RDEPENDS_perl-module-findbin += "perl-module-exporter" 116RDEPENDS_perl-module-findbin += "perl-module-exporter"
117RDEPENDS_perl-module-gdbm-file += "perl-module-carp"
118RDEPENDS_perl-module-gdbm-file += "perl-module-exporter"
119RDEPENDS_perl-module-gdbm-file += "perl-module-tie-hash"
120RDEPENDS_perl-module-gdbm-file += "perl-module-xsloader"
111RDEPENDS_perl-module-getopt-std += "perl-module-exporter" 121RDEPENDS_perl-module-getopt-std += "perl-module-exporter"
112RDEPENDS_perl-module-hash-util += "perl-module-dynaloader"
113RDEPENDS_perl-module-hash-util += "perl-module-exporter"
114RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-exporter" 122RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-exporter"
115RDEPENDS_perl-module-i18n-collate += "perl-module-exporter" 123RDEPENDS_perl-module-hash-util += "perl-module-exporter"
116RDEPENDS_perl-module-i18n-langinfo += "perl-module-dynaloader" 124RDEPENDS_perl-module-hash-util += "perl-module-xsloader"
117RDEPENDS_perl-module-i18n-langinfo += "perl-module-exporter" 125RDEPENDS_perl-module-i18n-langinfo += "perl-module-exporter"
126RDEPENDS_perl-module-i18n-langinfo += "perl-module-xsloader"
118RDEPENDS_perl-module-i18n-langtags += "perl-module-exporter" 127RDEPENDS_perl-module-i18n-langtags += "perl-module-exporter"
119RDEPENDS_perl-module-inc-latest += "perl-module-inc-latest-private" 128RDEPENDS_perl-module-inc-latest += "perl-module-inc-latest-private"
120RDEPENDS_perl-module-io-compress-base-common += "perl-module-exporter" 129RDEPENDS_perl-module-io-compress-base-common += "perl-module-exporter"
121RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-exporter " 130RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-exporter "
122RDEPENDS_perl-module-io-compress-deflate += "perl-module-exporter " 131RDEPENDS_perl-module-io-compress-deflate += "perl-module-exporter "
123RDEPENDS_perl-module-io-compress-gzip += "perl-module-exporter "
124RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-exporter" 132RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-exporter"
133RDEPENDS_perl-module-io-compress-gzip += "perl-module-exporter "
125RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-exporter " 134RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-exporter "
126RDEPENDS_perl-module-io-compress-zip += "perl-module-exporter "
127RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-exporter" 135RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-exporter"
136RDEPENDS_perl-module-io-compress-zip += "perl-module-exporter "
128RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-exporter" 137RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-exporter"
129RDEPENDS_perl-module-io-file += "perl-module-exporter" 138RDEPENDS_perl-module-io-file += "perl-module-exporter"
130RDEPENDS_perl-module-io-handle += "perl-module-exporter" 139RDEPENDS_perl-module-io-handle += "perl-module-exporter"
@@ -152,6 +161,7 @@ RDEPENDS_perl-module-locale-currency += "perl-module-exporter"
152RDEPENDS_perl-module-locale-language += "perl-module-exporter" 161RDEPENDS_perl-module-locale-language += "perl-module-exporter"
153RDEPENDS_perl-module-locale-script += "perl-module-exporter" 162RDEPENDS_perl-module-locale-script += "perl-module-exporter"
154RDEPENDS_perl-module-math-bigfloat += "perl-module-exporter" 163RDEPENDS_perl-module-math-bigfloat += "perl-module-exporter"
164RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-xsloader"
155RDEPENDS_perl-module-math-complex += "perl-module-exporter" 165RDEPENDS_perl-module-math-complex += "perl-module-exporter"
156RDEPENDS_perl-module-math-trig += "perl-module-exporter" 166RDEPENDS_perl-module-math-trig += "perl-module-exporter"
157RDEPENDS_perl-module-mime-base64 += "perl-module-exporter" 167RDEPENDS_perl-module-mime-base64 += "perl-module-exporter"
@@ -168,30 +178,33 @@ RDEPENDS_perl-module-net-ftp-l += "perl-module-net-ftp-i"
168RDEPENDS_perl-module-net-ping += "perl-module-exporter" 178RDEPENDS_perl-module-net-ping += "perl-module-exporter"
169RDEPENDS_perl-module-net-time += "perl-module-exporter" 179RDEPENDS_perl-module-net-time += "perl-module-exporter"
170RDEPENDS_perl-module-object-accessor += "perl-module-overload" 180RDEPENDS_perl-module-object-accessor += "perl-module-overload"
181RDEPENDS_perl-module-perlio-encoding += "perl-module-xsloader"
182RDEPENDS_perl-module-perlio-scalar += "perl-module-xsloader"
183RDEPENDS_perl-module-perlio-via += "perl-module-xsloader"
171RDEPENDS_perl-module-pod-escapes += "perl-module-exporter" 184RDEPENDS_perl-module-pod-escapes += "perl-module-exporter"
172RDEPENDS_perl-module-pod-functions += "perl-module-exporter" 185RDEPENDS_perl-module-pod-functions += "perl-module-exporter"
173RDEPENDS_perl-module-pod-html += "perl-module-exporter"
174RDEPENDS_perl-module-pod-latex += "perl-module-pod-parseutils" 186RDEPENDS_perl-module-pod-latex += "perl-module-pod-parseutils"
175RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-encode" 187RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-encode"
176RDEPENDS_perl-module-pod-usage += "perl-module-pod-select" 188RDEPENDS_perl-module-pod-usage += "perl-module-pod-select"
177RDEPENDS_perl-module-posix += "perl-module-exporter" 189RDEPENDS_perl-module-posix += "perl-module-exporter"
190RDEPENDS_perl-module-posix += "perl-module-xsloader"
178RDEPENDS_perl-module-safe += "perl-module-utf8" 191RDEPENDS_perl-module-safe += "perl-module-utf8"
179RDEPENDS_perl-module-scalar-util += "perl-module-exporter" 192RDEPENDS_perl-module-scalar-util += "perl-module-exporter"
180RDEPENDS_perl-module-scalar-util += "perl-module-list-util" 193RDEPENDS_perl-module-scalar-util += "perl-module-list-util"
181RDEPENDS_perl-module-scalar-util-pp += "perl-module-exporter" 194RDEPENDS_perl-module-scalar-util-pp += "perl-module-exporter"
182RDEPENDS_perl-module-sdbm-file += "perl-module-tie-hash" 195RDEPENDS_perl-module-sdbm-file += "perl-module-tie-hash"
196RDEPENDS_perl-module-sdbm-file += "perl-module-xsloader"
183RDEPENDS_perl-module-search-dict += "perl-module-exporter" 197RDEPENDS_perl-module-search-dict += "perl-module-exporter"
184RDEPENDS_perl-module-socket += "perl-module-exporter" 198RDEPENDS_perl-module-socket += "perl-module-exporter"
185RDEPENDS_perl-module-storable += "perl-module-carp" 199RDEPENDS_perl-module-socket += "perl-module-xsloader"
186RDEPENDS_perl-module-storable += "perl-module-dynaloader"
187RDEPENDS_perl-module-storable += "perl-module-exporter" 200RDEPENDS_perl-module-storable += "perl-module-exporter"
201RDEPENDS_perl-module-storable += "perl-module-xsloader"
188RDEPENDS_perl-module-symbol += "perl-module-exporter" 202RDEPENDS_perl-module-symbol += "perl-module-exporter"
189RDEPENDS_perl-module-sys-hostname += "perl-module-autoloader"
190RDEPENDS_perl-module-sys-hostname += "perl-module-exporter" 203RDEPENDS_perl-module-sys-hostname += "perl-module-exporter"
191RDEPENDS_perl-module-term-complete += "perl-module-exporter" 204RDEPENDS_perl-module-term-complete += "perl-module-exporter"
192RDEPENDS_perl-module-test += "perl-module-exporter"
193RDEPENDS_perl-module-test-builder-module += "perl-module-exporter" 205RDEPENDS_perl-module-test-builder-module += "perl-module-exporter"
194RDEPENDS_perl-module-test-builder-tester-color += "perl-module-test-builder-tester" 206RDEPENDS_perl-module-test-builder-tester-color += "perl-module-test-builder-tester"
207RDEPENDS_perl-module-test += "perl-module-exporter"
195RDEPENDS_perl-module-text-abbrev += "perl-module-exporter" 208RDEPENDS_perl-module-text-abbrev += "perl-module-exporter"
196RDEPENDS_perl-module-text-tabs += "perl-module-exporter" 209RDEPENDS_perl-module-text-tabs += "perl-module-exporter"
197RDEPENDS_perl-module-text-wrap += "perl-module-exporter" 210RDEPENDS_perl-module-text-wrap += "perl-module-exporter"
@@ -203,6 +216,7 @@ RDEPENDS_perl-module-time-hires += "perl-module-exporter"
203RDEPENDS_perl-module-time-local += "perl-module-exporter" 216RDEPENDS_perl-module-time-local += "perl-module-exporter"
204RDEPENDS_perl-module-time-piece += "perl-module-dynaloader" 217RDEPENDS_perl-module-time-piece += "perl-module-dynaloader"
205RDEPENDS_perl-module-time-piece += "perl-module-exporter" 218RDEPENDS_perl-module-time-piece += "perl-module-exporter"
219RDEPENDS_perl-module-unicode-collate += "perl-module-dynaloader"
206RDEPENDS_perl-module-unicode-normalize += "perl-module-dynaloader" 220RDEPENDS_perl-module-unicode-normalize += "perl-module-dynaloader"
207RDEPENDS_perl-module-unicode-normalize += "perl-module-exporter" 221RDEPENDS_perl-module-unicode-normalize += "perl-module-exporter"
208RDEPENDS_perl-module-unicode-ucd += "perl-module-exporter" 222RDEPENDS_perl-module-unicode-ucd += "perl-module-exporter"
diff --git a/meta/recipes-devtools/perl/perl-rprovides_5.12.3.inc b/meta/recipes-devtools/perl/perl-rprovides_5.14.2.inc
index 9a648dbf2f..9a648dbf2f 100644
--- a/meta/recipes-devtools/perl/perl-rprovides_5.12.3.inc
+++ b/meta/recipes-devtools/perl/perl-rprovides_5.14.2.inc
diff --git a/meta/recipes-devtools/perl/perl_5.12.3.bb b/meta/recipes-devtools/perl/perl_5.14.2.bb
index e4769a4235..788962638d 100644
--- a/meta/recipes-devtools/perl/perl_5.12.3.bb
+++ b/meta/recipes-devtools/perl/perl_5.14.2.bb
@@ -7,23 +7,25 @@ LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
7# We need gnugrep (for -I) 7# We need gnugrep (for -I)
8DEPENDS = "virtual/db grep-native" 8DEPENDS = "virtual/db grep-native"
9DEPENDS += "gdbm zlib" 9DEPENDS += "gdbm zlib"
10PR = "r5" 10PR = "r0"
11 11
12# 5.10.1 has Module::Build built-in 12# 5.10.1 has Module::Build built-in
13PROVIDES += "libmodule-build-perl" 13PROVIDES += "libmodule-build-perl"
14 14
15# Major part of version
16#PVM = "5.13"
17
18SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \ 15SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \
19 file://debian/arm_thread_stress_timeout.diff \ 16 file://debian/arm_thread_stress_timeout.diff \
20 file://debian/cpan_config_path.diff \
21 file://debian/cpan_definstalldirs.diff \ 17 file://debian/cpan_definstalldirs.diff \
22 file://debian/db_file_ver.diff \ 18 file://debian/db_file_ver.diff \
23 file://debian/doc_info.diff \ 19 file://debian/doc_info.diff \
24 file://debian/enc2xs_inc.diff \ 20 file://debian/enc2xs_inc.diff \
25 file://debian/errno_ver.diff \ 21 file://debian/errno_ver.diff \
26 file://debian/extutils_hacks.diff \ 22 file://debian/libperl_embed_doc.diff \
23 file://debian/fixes/respect_umask.diff \
24 file://debian/writable_site_dirs.diff \
25 file://debian/extutils_set_libperl_path.diff \
26 file://debian/no_packlist_perllocal.diff \
27 file://debian/prefix_changes.diff \
28 file://debian/fakeroot.diff \
27 file://debian/instmodsh_doc.diff \ 29 file://debian/instmodsh_doc.diff \
28 file://debian/ld_run_path.diff \ 30 file://debian/ld_run_path.diff \
29 file://debian/libnet_config_path.diff \ 31 file://debian/libnet_config_path.diff \
@@ -32,31 +34,26 @@ SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \
32 file://debian/module_build_man_extensions.diff \ 34 file://debian/module_build_man_extensions.diff \
33 file://debian/prune_libs.diff \ 35 file://debian/prune_libs.diff \
34 file://debian/fixes/net_smtp_docs.diff \ 36 file://debian/fixes/net_smtp_docs.diff \
35 file://debian/fixes/processPL.diff \
36 file://debian/perlivp.diff \ 37 file://debian/perlivp.diff \
37 file://debian/disable-zlib-bundling.diff \ 38 file://debian/disable-zlib-bundling.diff \
38 file://debian/cpanplus_definstalldirs.diff \ 39 file://debian/cpanplus_definstalldirs.diff \
39 file://debian/cpanplus_config_path.diff \ 40 file://debian/cpanplus_config_path.diff \
40 file://debian/fixes/autodie-flock.diff \
41 file://debian/devel-ppport-ia64-optim.diff \
42 file://debian/fixes/cpanplus-without-home.diff \
43 file://debian/arm_optim.diff \
44 file://debian/deprecate-with-apt.diff \ 41 file://debian/deprecate-with-apt.diff \
45 file://debian/fixes/hurd-ccflags.diff \ 42 file://debian/fixes/hurd-ccflags.diff \
46 file://debian/squelch-locale-warnings.diff \ 43 file://debian/squelch-locale-warnings.diff \
47 file://debian/fixes/lc-numeric-docs.diff \ 44 file://debian/skip-upstream-git-tests.diff \
48 file://debian/fixes/lc-numeric-sprintf.diff \ 45 file://debian/fixes/extutils-cbuilder-cflags.diff \
49 file://debian/fixes/concat-stack-corruption.diff \ 46 file://debian/fixes/module-build-home-directory.diff \
50 file://debian/fixes/h2ph-gcc-4.5.diff \ 47 file://debian/fixes/h2ph-multiarch.diff \
51 file://debian/patchlevel \ 48 file://debian/fixes/index-tainting.diff \
49 file://debian/skip-kfreebsd-crash.diff \
50 file://debian/fixes/document_makemaker_ccflags.diff \
51 file://debian/fixes/sys-syslog-socket-timeout-kfreebsd.patch \
52 file://debian/fixes/hurd-hints.diff \
53 file://debian/fixes/pod_fixes.diff \
54 file://debian/find_html2text.diff \
52 \ 55 \
53 file://Makefile.patch \ 56 file://Makefile.patch \
54 file://parallel_build_fix_1.patch \
55 file://parallel_build_fix_2.patch \
56 file://parallel_build_fix_3.patch \
57 file://parallel_build_fix_4.patch \
58 file://parallel_build_fix_5.patch \
59 file://parallel_build_fix_6.patch \
60 file://Makefile.SH.patch \ 57 file://Makefile.SH.patch \
61 file://installperl.patch \ 58 file://installperl.patch \
62 file://perl-dynloader.patch \ 59 file://perl-dynloader.patch \
@@ -78,8 +75,8 @@ SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \
78 file://config.sh-64-be" 75 file://config.sh-64-be"
79# file://debian/fakeroot.diff 76# file://debian/fakeroot.diff
80 77
81SRC_URI[md5sum] = "29975a69dce54e47fcd6331c085c6c99" 78SRC_URI[md5sum] = "3306fbaf976dcebdcd49b2ac0be00eb9"
82SRC_URI[sha256sum] = "5678bfd5c2cd59253a26171bf3e681235433b00c730eea8a8046e1b225c11d2f" 79SRC_URI[sha256sum] = "6488359573bd7d41761bf935f66f827dc220fb3df961ef9b775d51fbd66548d3"
83 80
84inherit perlnative siteinfo 81inherit perlnative siteinfo
85 82
@@ -220,8 +217,6 @@ perl_package_preprocess () {
220 -e "s,${STAGING_BINDIR_NATIVE}/,,g" \ 217 -e "s,${STAGING_BINDIR_NATIVE}/,,g" \
221 ${PKGD}${bindir}/h2xs \ 218 ${PKGD}${bindir}/h2xs \
222 ${PKGD}${bindir}/h2ph \ 219 ${PKGD}${bindir}/h2ph \
223 ${PKGD}${bindir}/pod2html \
224 ${PKGD}${bindir}/pod2latex \
225 ${PKGD}${bindir}/pod2man \ 220 ${PKGD}${bindir}/pod2man \
226 ${PKGD}${bindir}/pod2text \ 221 ${PKGD}${bindir}/pod2text \
227 ${PKGD}${bindir}/pod2usage \ 222 ${PKGD}${bindir}/pod2usage \