diff options
author | Nitin A Kamble <nitin.a.kamble@intel.com> | 2011-10-19 14:53:17 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-10-24 17:27:14 +0100 |
commit | 5f8f114e4cc29e96942f96ef7dec6d25e18b6d4f (patch) | |
tree | 5b7867dec533d001ce29d8bf7b4869299cea254f /meta/recipes-devtools/perl | |
parent | 53f7342562a66d1b14ecee234aa76be07951dedc (diff) | |
download | poky-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')
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 @@ | |||
1 | Upstream-Status: Inappropriate [embedded specific] | ||
2 | |||
3 | Index: 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 @@ | |||
1 | Upstream-Status:Inappropriate [embedded specific] | ||
2 | |||
3 | Index: 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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | ||
2 | |||
3 | From: Niko Tyni <ntyni@debian.org> | ||
4 | Description: Downgrade the optimization of sv.c on arm due to a gcc-4.4 bug | ||
5 | Bug-Debian: http://bugs.debian.org/580334 | ||
6 | |||
7 | Regression 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 | |||
16 | diff --git a/cflags.SH b/cflags.SH | ||
17 | index 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 | -- | ||
34 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | ||
2 | |||
3 | Subject: 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 | |||
10 | diff --git a/cpan/CPAN/lib/CPAN/HandleConfig.pm b/cpan/CPAN/lib/CPAN/HandleConfig.pm | ||
11 | index 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 | -- | ||
24 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | ||
2 | |||
3 | From: Niko Tyni <ntyni@debian.org> | ||
4 | Subject: Point users to Debian packages of deprecated core modules | ||
5 | Bug-Debian: http://bugs.debian.org/580034 | ||
6 | |||
7 | Class::ISA, Switch, Pod::Plainer, and (partially) Shell were | ||
8 | deprecated from the Perl core in 5.12.0. | ||
9 | |||
10 | To get a clean transition, perl-modules is going to recommend the separate | ||
11 | Debian packages of these for one release cycle so that they will be | ||
12 | pulled in by default on upgrades. | ||
13 | |||
14 | However, on systems configured to ignore recommendations the deprecation | ||
15 | warnings will still be useful, so modify them slightly to point to the | ||
16 | separate packages instead. | ||
17 | |||
18 | --- | ||
19 | lib/deprecate.pm | 18 +++++++++++++++++- | ||
20 | 1 files changed, 17 insertions(+), 1 deletions(-) | ||
21 | |||
22 | diff --git a/lib/deprecate.pm b/lib/deprecate.pm | ||
23 | index 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 | -- | ||
61 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | ||
2 | |||
3 | From: Niko Tyni <ntyni@debian.org> | ||
4 | Subject: Work around an ICE on ia64 | ||
5 | Closes: 548943 | ||
6 | |||
7 | Temporarily work around an internal compiler error in Devel::PPPort | ||
8 | on ia64+gcc-4.3. | ||
9 | |||
10 | |||
11 | --- | ||
12 | cpan/Devel-PPPort/Makefile.PL | 7 +++++++ | ||
13 | 1 files changed, 7 insertions(+), 0 deletions(-) | ||
14 | |||
15 | diff --git a/cpan/Devel-PPPort/Makefile.PL b/cpan/Devel-PPPort/Makefile.PL | ||
16 | index 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 | -- | ||
34 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | ||
2 | |||
3 | Subject: 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 | |||
28 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | ||
29 | index 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}; | ||
65 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
66 | index 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; | ||
176 | diff --git a/cpan/ExtUtils-MakeMaker/t/INST.t b/cpan/ExtUtils-MakeMaker/t/INST.t | ||
177 | index 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 | |||
191 | diff --git a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t | ||
192 | index 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'); | ||
225 | diff --git a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm | ||
226 | index 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); | ||
300 | diff --git a/lib/ExtUtils/Embed.pm b/lib/ExtUtils/Embed.pm | ||
301 | index 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 | -- | ||
315 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | ||
2 | |||
3 | From: Niko Tyni <ntyni@debian.org> | ||
4 | Subject: Allow for flock returning EAGAIN instead of EWOULDBLOCK on linux/parisc | ||
5 | Bug-Debian: http://bugs.debian.org/543731 | ||
6 | Origin: 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 | |||
14 | diff --git a/cpan/autodie/lib/Fatal.pm b/cpan/autodie/lib/Fatal.pm | ||
15 | old mode 100644 | ||
16 | new mode 100755 | ||
17 | index 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 | |||
62 | diff --git a/cpan/autodie/t/flock.t b/cpan/autodie/t/flock.t | ||
63 | index 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 | -- | ||
100 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | ||
2 | |||
3 | From: Niko Tyni <ntyni@debian.org> | ||
4 | Subject: Fix stack pointer corruption in pp_concat() with 'use encoding' | ||
5 | Bug-Debian: http://bugs.debian.org/596105 | ||
6 | Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=78674 | ||
7 | Origin: upstream, http://perl5.git.perl.org/perl.git/commit/e3393f51d48d8b790e26324eb0336fac9689fa46 | ||
8 | |||
9 | If the stack is reallocated during pp_concat() and 'use encoding' in | ||
10 | effect, the stack pointer gets corrupted, causing memory allocation bugs | ||
11 | and the like. | ||
12 | |||
13 | --- | ||
14 | pp_hot.c | 3 +++ | ||
15 | 1 files changed, 3 insertions(+), 0 deletions(-) | ||
16 | |||
17 | diff --git a/pp_hot.c b/pp_hot.c | ||
18 | index 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 | -- | ||
39 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | ||
2 | |||
3 | From: Niko Tyni <ntyni@debian.org> | ||
4 | Subject: Fix CPANPLUS test failures when HOME doesn't exist | ||
5 | Bug: http://rt.cpan.org/Public/Bug/Display.html?id=52988 | ||
6 | Bug-Debian: http://bugs.debian.org/577011 | ||
7 | Origin: upstream | ||
8 | |||
9 | The Debian autobuilders are configured with a non-existing $ENV{HOME}, | ||
10 | triggering a bug in CPANPLUS that causes test failures. | ||
11 | |||
12 | Fix from CPANPLUS-0.9001. | ||
13 | |||
14 | --- | ||
15 | cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm | 2 +- | ||
16 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
17 | |||
18 | diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm | ||
19 | index 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 | -- | ||
32 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | ||
2 | |||
3 | Author: Robin Barker <rmbarker@cpan.org> | ||
4 | Subject: h2ph fix for gcc 4.5 | ||
5 | Bug-Debian: http://bugs.debian.org/599933 | ||
6 | Origin: upstream, http://perl5.git.perl.org/perl.git/commit/8d66b3f930dc6d88b524d103e304308ae73a46e7 | ||
7 | |||
8 | Fix 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 | |||
16 | diff --git a/lib/h2ph.t b/lib/h2ph.t | ||
17 | index 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 | ||
47 | diff --git a/utils/h2ph.PL b/utils/h2ph.PL | ||
48 | index 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 | -- | ||
108 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | ||
2 | |||
3 | From: Niko Tyni <ntyni@debian.org> | ||
4 | Subject: LC_NUMERIC documentation fixes | ||
5 | Bug-Debian: http://bugs.debian.org/379329 | ||
6 | Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=78452 | ||
7 | Origin: upstream, http://perl5.git.perl.org/perl.git/commit/903eb63f7d8d47a38971a8e9af7201b9927882cf | ||
8 | |||
9 | LC_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 | |||
18 | Test 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 | |||
25 | diff --git a/pod/perlform.pod b/pod/perlform.pod | ||
26 | index 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 | ||
63 | diff --git a/pod/perllocale.pod b/pod/perllocale.pod | ||
64 | index 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 | -- | ||
97 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | ||
2 | |||
3 | From: Niko Tyni <ntyni@debian.org> | ||
4 | Subject: Fix sprintf not to ignore LC_NUMERIC with constants | ||
5 | Bug-Debian: http://bugs.debian.org/601549 | ||
6 | Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=78632 | ||
7 | Origin: upstream, http://perl5.git.perl.org/perl.git/commit/b3fd61496ebc585b1115807e3195f17714662a09 | ||
8 | |||
9 | Don't fold constants in sprintf() if locales are used | ||
10 | |||
11 | An upstream regression in 5.10.1 made sprintf() ignore LC_NUMERIC for | ||
12 | numeric constants. | ||
13 | |||
14 | --- | ||
15 | op.c | 1 + | ||
16 | 1 files changed, 1 insertions(+), 0 deletions(-) | ||
17 | |||
18 | diff --git a/op.c b/op.c | ||
19 | index 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 | -- | ||
31 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | ||
2 | |||
3 | Subject: Always use PERLRUNINST when building perl modules. | ||
4 | Bug-Debian: http://bugs.debian.org/357264 | ||
5 | Bug: http://rt.cpan.org/Public/Bug/Display.html?id=17224 | ||
6 | |||
7 | Revert part of upstream change 24524 to always use PERLRUNINST when | ||
8 | building perl modules: Some PDL demos expect blib to be implicitly | ||
9 | searched. | ||
10 | |||
11 | |||
12 | --- | ||
13 | cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 5 +---- | ||
14 | 1 files changed, 1 insertions(+), 4 deletions(-) | ||
15 | |||
16 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
17 | index 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 | -- | ||
45 | tg: (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 @@ | |||
1 | Subject: List packaged patches for 5.12.3-2 in patchlevel.h | ||
2 | Origin: vendor | ||
3 | Bug-Debian: http://bugs.debian.org/567489 | ||
4 | |||
5 | The 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 @@ | |||
1 | debian/arm_thread_stress_timeout.diff -p1 | ||
2 | debian/cpan_config_path.diff -p1 | ||
3 | debian/cpan_definstalldirs.diff -p1 | ||
4 | debian/db_file_ver.diff -p1 | ||
5 | debian/doc_info.diff -p1 | ||
6 | debian/enc2xs_inc.diff -p1 | ||
7 | debian/errno_ver.diff -p1 | ||
8 | debian/extutils_hacks.diff -p1 | ||
9 | debian/fakeroot.diff -p1 | ||
10 | debian/instmodsh_doc.diff -p1 | ||
11 | debian/ld_run_path.diff -p1 | ||
12 | debian/libnet_config_path.diff -p1 | ||
13 | debian/m68k_thread_stress.diff -p1 | ||
14 | debian/mod_paths.diff -p1 | ||
15 | debian/module_build_man_extensions.diff -p1 | ||
16 | debian/prune_libs.diff -p1 | ||
17 | fixes/net_smtp_docs.diff -p1 | ||
18 | fixes/processPL.diff -p1 | ||
19 | debian/perlivp.diff -p1 | ||
20 | debian/disable-zlib-bundling.diff -p1 | ||
21 | debian/cpanplus_definstalldirs.diff -p1 | ||
22 | debian/cpanplus_config_path.diff -p1 | ||
23 | fixes/autodie-flock.diff -p1 | ||
24 | debian/devel-ppport-ia64-optim.diff -p1 | ||
25 | fixes/cpanplus-without-home.diff -p1 | ||
26 | debian/arm_optim.diff -p1 | ||
27 | debian/deprecate-with-apt.diff -p1 | ||
28 | fixes/hurd-ccflags.diff -p1 | ||
29 | debian/squelch-locale-warnings.diff -p1 | ||
30 | fixes/lc-numeric-docs.diff -p1 | ||
31 | fixes/lc-numeric-sprintf.diff -p1 | ||
32 | fixes/concat-stack-corruption.diff -p1 | ||
33 | fixes/h2ph-gcc-4.5.diff -p1 | ||
34 | patchlevel -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 @@ | |||
1 | Upstream-Status:Inappropriate [Backport] | ||
2 | |||
3 | Imported from perl git tree by Nitin A Kamble <nitin.a.kamble@intel.com> | ||
4 | 2011-02-23 | ||
5 | |||
6 | commit 6695a346c41138df5b2c0e26b9a49b1f96137da0 | ||
7 | Author: Tony Cook <tony@openbsd32.tony.develop-help.com> | ||
8 | Date: 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 | |||
16 | diff --git a/ext/POSIX/Makefile.PL b/ext/POSIX/Makefile.PL | ||
17 | index 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 @@ | |||
1 | Upstream-Status:Inappropriate [Backport] | ||
2 | |||
3 | Imported from perl git tree by Nitin A Kamble <nitin.a.kamble@intel.com> | ||
4 | 2011-02-23 | ||
5 | |||
6 | commit 24e93d7838b346d2ed632075f3d824a325170616 | ||
7 | Author: Tony Cook <tony@develop-help.com> | ||
8 | Date: 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 | |||
16 | diff --git a/ext/POSIX/Makefile.PL b/ext/POSIX/Makefile.PL | ||
17 | index 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 @@ | |||
1 | Upstream-Status:Inappropriate [Backport] | ||
2 | |||
3 | Imported from perl git tree by Nitin A Kamble <nitin.a.kamble@intel.com> | ||
4 | 2011-02-23 | ||
5 | |||
6 | commit 4feb80ac47a22e7de7d7c1c1d5dfb3d744a2a3a7 | ||
7 | Author: Jerry D. Hedden <jdhedden@cpan.org> | ||
8 | Date: Tue Aug 17 13:17:11 2010 -0400 | ||
9 | |||
10 | Move POSIX.pm to lib/POSIX.pm to fix autosplitter problem | ||
11 | |||
12 | diff --git a/MANIFEST b/MANIFEST | ||
13 | index 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 | ||
28 | diff --git a/ext/POSIX/Makefile.PL b/ext/POSIX/Makefile.PL | ||
29 | index 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 | |||
42 | diff --git a/ext/POSIX/POSIX.pm b/ext/POSIX/POSIX.pm | ||
43 | deleted file mode 100644 | ||
44 | index 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 } | ||
1090 | diff --git a/ext/POSIX/POSIX.pod b/ext/POSIX/POSIX.pod | ||
1091 | deleted file mode 100644 | ||
1092 | index 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 | - | ||
3314 | diff --git a/ext/POSIX/lib/POSIX.pm b/ext/POSIX/lib/POSIX.pm | ||
3315 | new file mode 100644 | ||
3316 | index 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 } | ||
4362 | diff --git a/ext/POSIX/lib/POSIX.pod b/ext/POSIX/lib/POSIX.pod | ||
4363 | new file mode 100644 | ||
4364 | index 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 @@ | |||
1 | Upstream-Status:Inappropriate [Backport] | ||
2 | |||
3 | commit 43c0c913165d6abe1bc0cb45a784eb1c32c3700b | ||
4 | Author: Nicholas Clark <nick@ccl4.org> | ||
5 | Date: 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 | |||
13 | diff --git a/perl.c b/perl.c | ||
14 | index 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 @@ | |||
1 | Upstream-Status:Inappropriate [Backport] | ||
2 | |||
3 | Rebased by Nitin A Kamble <nitin.a.kamble@intel.com> on 3/11/2011 | ||
4 | |||
5 | commit 5e4c4c91bd52a48de59520d5e9b4e3478e49c613 | ||
6 | Author: Nicholas Clark <nick@ccl4.org> | ||
7 | Date: 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 | |||
46 | Index: 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 | |||
90 | Index: 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 | ||
102 | Index: 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 | |||
146 | Index: 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 | |||
159 | Index: 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"; | ||
231 | Index: 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" | ||
271 | Index: 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 | ||
323 | Index: 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 | ||
376 | Index: 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 @@ | |||
1 | Upstream-Status:Inappropriate [Backport] | ||
2 | |||
3 | Rebased by Nitin A Kamble <nitin.a.kamble@intel.com> on 3/11/2011 | ||
4 | |||
5 | commit 7353f64c5bca6e7102582a1e0017c850930249c3 | ||
6 | Author: Nicholas Clark <nick@ccl4.org> | ||
7 | Date: 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 | |||
16 | Index: 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 | |||
49 | Index: 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 | |||
91 | Index: 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 | |||
123 | Index: 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) | ||
135 | Index: 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) | ||
147 | Index: 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 @@ | |||
1 | Upstream-Status:Inappropriate [embedded specific] | 1 | Upstream-Status:Inappropriate [embedded specific] |
2 | 2 | ||
3 | Index: perl-5.12.3/Makefile.SH | 3 | Index: 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 @@ | |||
1 | Upstream-Status:Inappropriate [embedded specific] | 1 | Upstream-Status:Inappropriate [embedded specific] |
2 | 2 | ||
3 | Index: perl-5.12.3/Cross/Makefile | 3 | Index: 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. |
16 | config_arg0='Configure' | 16 | config_arg0='Configure' |
17 | config_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' | 17 | config_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' |
18 | config_argc=28 | 18 | config_argc=28 |
19 | config_arg1='-des' | 19 | config_arg1='-des' |
20 | config_arg2='-Doptimize=-O2' | 20 | config_arg2='-Doptimize=-O2' |
@@ -26,7 +26,7 @@ config_arg7='-Dinstallprefix=@DESTDIR@' | |||
26 | config_arg8='-Dprefix=/usr' | 26 | config_arg8='-Dprefix=/usr' |
27 | config_arg9='-Dvendorprefix=/usr' | 27 | config_arg9='-Dvendorprefix=/usr' |
28 | config_arg10='-Dsiteprefix=/usr' | 28 | config_arg10='-Dsiteprefix=/usr' |
29 | config_arg11='-Dotherlibdirs=/usr/lib/perl5/5.12.3' | 29 | config_arg11='-Dotherlibdirs=/usr/lib/perl5/5.14.2' |
30 | config_arg12='-Duseshrplib' | 30 | config_arg12='-Duseshrplib' |
31 | config_arg13='-Dusethreads' | 31 | config_arg13='-Dusethreads' |
32 | config_arg14='-Duseithreads' | 32 | config_arg14='-Duseithreads' |
@@ -64,11 +64,11 @@ ansi2knr='' | |||
64 | aphostname='' | 64 | aphostname='' |
65 | api_revision='5' | 65 | api_revision='5' |
66 | api_subversion='0' | 66 | api_subversion='0' |
67 | api_version='12' | 67 | api_version='14' |
68 | api_versionstring='5.12.0' | 68 | api_versionstring='5.14.0' |
69 | ar='ar' | 69 | ar='ar' |
70 | archlib='/usr/lib/perl5/5.12.3/@ARCH@-thread-multi' | 70 | archlib='/usr/lib/perl5/5.14.2/@ARCH@-thread-multi' |
71 | archlibexp='/usr/lib/perl5/5.12.3/@ARCH@-thread-multi' | 71 | archlibexp='/usr/lib/perl5/5.14.2/@ARCH@-thread-multi' |
72 | archname64='' | 72 | archname64='' |
73 | archname='@ARCH@-thread-multi' | 73 | archname='@ARCH@-thread-multi' |
74 | archobjs='' | 74 | archobjs='' |
@@ -86,7 +86,7 @@ castflags='0' | |||
86 | cat='cat' | 86 | cat='cat' |
87 | cc='gcc' | 87 | cc='gcc' |
88 | cccdlflags='-fPIC' | 88 | cccdlflags='-fPIC' |
89 | ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib/perl5/5.12.3/@ARCH@-thread-multi/CORE' | 89 | ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib/perl5/5.14.2/@ARCH@-thread-multi/CORE' |
90 | ccflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' | 90 | ccflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' |
91 | ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' | 91 | ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' |
92 | ccname='gcc' | 92 | ccname='gcc' |
@@ -746,7 +746,7 @@ inc_version_list_init='0' | |||
746 | incpath='' | 746 | incpath='' |
747 | inews='' | 747 | inews='' |
748 | initialinstalllocation='/usr/bin' | 748 | initialinstalllocation='/usr/bin' |
749 | installarchlib='@DESTDIR@/lib/perl5/5.12.3/@ARCH@-thread-multi' | 749 | installarchlib='@DESTDIR@/lib/perl5/5.14.2/@ARCH@-thread-multi' |
750 | installbin='@DESTDIR@/bin' | 750 | installbin='@DESTDIR@/bin' |
751 | installhtml1dir='' | 751 | installhtml1dir='' |
752 | installhtml3dir='' | 752 | installhtml3dir='' |
@@ -754,23 +754,23 @@ installman1dir='' | |||
754 | installman3dir='' | 754 | installman3dir='' |
755 | installprefix='@DESTDIR@' | 755 | installprefix='@DESTDIR@' |
756 | installprefixexp='@DESTDIR@' | 756 | installprefixexp='@DESTDIR@' |
757 | installprivlib='@DESTDIR@/lib/perl5/5.12.3' | 757 | installprivlib='@DESTDIR@/lib/perl5/5.14.2' |
758 | installscript='@DESTDIR@/bin' | 758 | installscript='@DESTDIR@/bin' |
759 | installsitearch='@DESTDIR@/lib/perl5/site_perl/5.12.3/@ARCH@-thread-multi' | 759 | installsitearch='@DESTDIR@/lib/perl5/site_perl/5.14.2/@ARCH@-thread-multi' |
760 | installsitebin='@DESTDIR@/bin' | 760 | installsitebin='@DESTDIR@/bin' |
761 | installsitehtml1dir='' | 761 | installsitehtml1dir='' |
762 | installsitehtml3dir='' | 762 | installsitehtml3dir='' |
763 | installsitelib='@DESTDIR@/lib/perl5/site_perl/5.12.3' | 763 | installsitelib='@DESTDIR@/lib/perl5/site_perl/5.14.2' |
764 | installsiteman1dir='' | 764 | installsiteman1dir='' |
765 | installsiteman3dir='' | 765 | installsiteman3dir='' |
766 | installsitescript='@DESTDIR@/bin' | 766 | installsitescript='@DESTDIR@/bin' |
767 | installstyle='lib/perl5' | 767 | installstyle='lib/perl5' |
768 | installusrbinperl='define' | 768 | installusrbinperl='define' |
769 | installvendorarch='@DESTDIR@/lib/perl5/vendor_perl/5.12.3/@ARCH@-thread-multi' | 769 | installvendorarch='@DESTDIR@/lib/perl5/vendor_perl/5.14.2/@ARCH@-thread-multi' |
770 | installvendorbin='@DESTDIR@/bin' | 770 | installvendorbin='@DESTDIR@/bin' |
771 | installvendorhtml1dir='' | 771 | installvendorhtml1dir='' |
772 | installvendorhtml3dir='' | 772 | installvendorhtml3dir='' |
773 | installvendorlib='@DESTDIR@/lib/perl5/vendor_perl/5.12.3' | 773 | installvendorlib='@DESTDIR@/lib/perl5/vendor_perl/5.14.2' |
774 | installvendorman1dir='' | 774 | installvendorman1dir='' |
775 | installvendorman3dir='' | 775 | installvendorman3dir='' |
776 | installvendorscript='@DESTDIR@/bin' | 776 | installvendorscript='@DESTDIR@/bin' |
@@ -864,11 +864,11 @@ optimize='-O2' | |||
864 | orderlib='false' | 864 | orderlib='false' |
865 | osname='linux' | 865 | osname='linux' |
866 | osvers='2.6.37-rc5-yocto-standard+' | 866 | osvers='2.6.37-rc5-yocto-standard+' |
867 | otherlibdirs='/usr/lib/perl5/5.12.3' | 867 | otherlibdirs='/usr/lib/perl5/5.14.2' |
868 | package='perl5' | 868 | package='perl5' |
869 | pager='/usr/bin/less -isr' | 869 | pager='/usr/bin/less -isr' |
870 | passcat='cat /etc/passwd' | 870 | passcat='cat /etc/passwd' |
871 | patchlevel='12' | 871 | patchlevel='14' |
872 | path_sep=':' | 872 | path_sep=':' |
873 | perl5='/usr/bin/perl' | 873 | perl5='/usr/bin/perl' |
874 | perl='' | 874 | perl='' |
@@ -884,8 +884,8 @@ pmake='' | |||
884 | pr='' | 884 | pr='' |
885 | prefix='/usr' | 885 | prefix='/usr' |
886 | prefixexp='/usr' | 886 | prefixexp='/usr' |
887 | privlib='/usr/lib/perl5/5.12.3' | 887 | privlib='/usr/lib/perl5/5.14.2' |
888 | privlibexp='/usr/lib/perl5/5.12.3' | 888 | privlibexp='/usr/lib/perl5/5.14.2' |
889 | procselfexe='"/proc/self/exe"' | 889 | procselfexe='"/proc/self/exe"' |
890 | prototype='define' | 890 | prototype='define' |
891 | randbits='48' | 891 | randbits='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 | |||
937 | sig_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' | 937 | sig_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' |
938 | sig_size='69' | 938 | sig_size='69' |
939 | signal_t='void' | 939 | signal_t='void' |
940 | sitearch='/usr/lib/perl5/site_perl/5.12.3/@ARCH@-thread-multi' | 940 | sitearch='/usr/lib/perl5/site_perl/5.14.2/@ARCH@-thread-multi' |
941 | sitearchexp='/usr/lib/perl5/site_perl/5.12.3/@ARCH@-thread-multi' | 941 | sitearchexp='/usr/lib/perl5/site_perl/5.14.2/@ARCH@-thread-multi' |
942 | sitebin='/usr/bin' | 942 | sitebin='/usr/bin' |
943 | sitebinexp='/usr/bin' | 943 | sitebinexp='/usr/bin' |
944 | sitehtml1dir='' | 944 | sitehtml1dir='' |
945 | sitehtml1direxp='' | 945 | sitehtml1direxp='' |
946 | sitehtml3dir='' | 946 | sitehtml3dir='' |
947 | sitehtml3direxp='' | 947 | sitehtml3direxp='' |
948 | sitelib='/usr/lib/perl5/site_perl/5.12.3' | 948 | sitelib='/usr/lib/perl5/site_perl/5.14.2' |
949 | sitelib_stem='/usr/lib/perl5/site_perl' | 949 | sitelib_stem='/usr/lib/perl5/site_perl' |
950 | sitelibexp='/usr/lib/perl5/site_perl/5.12.3' | 950 | sitelibexp='/usr/lib/perl5/site_perl/5.14.2' |
951 | siteman1dir='' | 951 | siteman1dir='' |
952 | siteman1direxp='' | 952 | siteman1direxp='' |
953 | siteman3dir='' | 953 | siteman3dir='' |
@@ -1045,17 +1045,17 @@ uvtype='unsigned long' | |||
1045 | uvuformat='"lu"' | 1045 | uvuformat='"lu"' |
1046 | uvxformat='"lx"' | 1046 | uvxformat='"lx"' |
1047 | vaproto='define' | 1047 | vaproto='define' |
1048 | vendorarch='/usr/lib/perl5/vendor_perl/5.12.3/@ARCH@-thread-multi' | 1048 | vendorarch='/usr/lib/perl5/vendor_perl/5.14.2/@ARCH@-thread-multi' |
1049 | vendorarchexp='/usr/lib/perl5/vendor_perl/5.12.3/@ARCH@-thread-multi' | 1049 | vendorarchexp='/usr/lib/perl5/vendor_perl/5.14.2/@ARCH@-thread-multi' |
1050 | vendorbin='/usr/bin' | 1050 | vendorbin='/usr/bin' |
1051 | vendorbinexp='/usr/bin' | 1051 | vendorbinexp='/usr/bin' |
1052 | vendorhtml1dir=' ' | 1052 | vendorhtml1dir=' ' |
1053 | vendorhtml1direxp='' | 1053 | vendorhtml1direxp='' |
1054 | vendorhtml3dir=' ' | 1054 | vendorhtml3dir=' ' |
1055 | vendorhtml3direxp='' | 1055 | vendorhtml3direxp='' |
1056 | vendorlib='/usr/lib/perl5/vendor_perl/5.12.3' | 1056 | vendorlib='/usr/lib/perl5/vendor_perl/5.14.2' |
1057 | vendorlib_stem='/usr/lib/perl5/vendor_perl' | 1057 | vendorlib_stem='/usr/lib/perl5/vendor_perl' |
1058 | vendorlibexp='/usr/lib/perl5/vendor_perl/5.12.3' | 1058 | vendorlibexp='/usr/lib/perl5/vendor_perl/5.14.2' |
1059 | vendorman1dir=' ' | 1059 | vendorman1dir=' ' |
1060 | vendorman1direxp='' | 1060 | vendorman1direxp='' |
1061 | vendorman3dir=' ' | 1061 | vendorman3dir=' ' |
@@ -1064,8 +1064,8 @@ vendorprefix='/usr' | |||
1064 | vendorprefixexp='/usr' | 1064 | vendorprefixexp='/usr' |
1065 | vendorscript='/usr/bin' | 1065 | vendorscript='/usr/bin' |
1066 | vendorscriptexp='/usr/bin' | 1066 | vendorscriptexp='/usr/bin' |
1067 | version='5.12.3' | 1067 | version='5.14.2' |
1068 | version_patchlevel_string='version 12 subversion 2' | 1068 | version_patchlevel_string='version 14 subversion 2' |
1069 | versiononly='undef' | 1069 | versiononly='undef' |
1070 | vi='' | 1070 | vi='' |
1071 | voidflags='15' | 1071 | voidflags='15' |
@@ -1075,12 +1075,19 @@ yaccflags='' | |||
1075 | zcat='' | 1075 | zcat='' |
1076 | zip='zip' | 1076 | zip='zip' |
1077 | PERL_REVISION=5 | 1077 | PERL_REVISION=5 |
1078 | PERL_VERSION=12 | 1078 | PERL_VERSION=14 |
1079 | PERL_SUBVERSION=2 | 1079 | PERL_SUBVERSION=2 |
1080 | PERL_API_REVISION=5 | 1080 | PERL_API_REVISION=5 |
1081 | PERL_API_VERSION=12 | 1081 | PERL_API_VERSION=14 |
1082 | PERL_API_SUBVERSION=0 | 1082 | PERL_API_SUBVERSION=0 |
1083 | PERL_PATCHLEVEL='' | 1083 | PERL_PATCHLEVEL='' |
1084 | PERL_CONFIG_SH=true | 1084 | PERL_CONFIG_SH=true |
1085 | : Variables propagated from previous config.sh file. | 1085 | : Variables propagated from previous config.sh file. |
1086 | libdb_needs_pthread='N' | 1086 | libdb_needs_pthread='N' |
1087 | |||
1088 | d_static_inline='define' | ||
1089 | d_sockaddr_sa_len='undef' | ||
1090 | d_sin6_scope_id='define' | ||
1091 | d_prctl='define' | ||
1092 | d_prctl_set_name='define' | ||
1093 | perl_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 @@ | |||
1 | Upstream-Status:Inappropriate [embedded specific] | ||
2 | |||
3 | Index: 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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From f624a9f1206cdd44fde99c40d82e2f326db485dd Mon Sep 17 00:00:00 2001 |
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Sat, 1 Nov 2008 15:10:16 +0200 | ||
4 | Subject: Raise the timeout of ext/threads/shared/t/stress.t to accommodate | ||
5 | slower build hosts | ||
2 | 6 | ||
3 | Subject: Raise the timeout of ext/threads/shared/t/stress.t to accommodate slower build hosts | ||
4 | Bug-Debian: http://bugs.debian.org/501970 | 7 | Bug-Debian: http://bugs.debian.org/501970 |
5 | 8 | ||
6 | 9 | Patch-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 | ||
11 | diff --git a/dist/threads-shared/t/stress.t b/dist/threads-shared/t/stress.t | 14 | diff --git a/dist/threads-shared/t/stress.t b/dist/threads-shared/t/stress.t |
12 | index adfd1ed..652a3e6 100755 | 15 | index 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 | -- | ||
25 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From 4b63b9a433661cd13cfb1448dbfb90c5f53a53be Mon Sep 17 00:00:00 2001 |
2 | 2 | From: Brendan O'Dea <bod@debian.org> | |
3 | Subject: Provide a sensible INSTALLDIRS default for modules installed from CPAN. | 3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 |
4 | Subject: Provide a sensible INSTALLDIRS default for modules installed from | ||
5 | CPAN. | ||
4 | 6 | ||
5 | Some modules which are included in core set INSTALLDIRS => 'perl' | 7 | Some modules which are included in core set INSTALLDIRS => 'perl' |
6 | explicitly in Makefile.PL or Build.PL. This makes sense for the normal @INC | 8 | explicitly in Makefile.PL or Build.PL. This makes sense for the normal @INC |
7 | ordering, but not ours. | 9 | ordering, but not ours. |
8 | 10 | ||
9 | 11 | Patch-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 | ||
14 | diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm | 16 | diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm |
15 | index 53ffbf1..53976ff 100644 | 17 | index 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 | -- | ||
37 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From 9825086b15f34f365a272cc8d6caf4e2044bede6 Mon Sep 17 00:00:00 2001 |
2 | |||
3 | From: Niko Tyni <ntyni@debian.org> | 2 | From: Niko Tyni <ntyni@debian.org> |
3 | Date: Mon, 6 Jul 2009 22:17:53 +0300 | ||
4 | Subject: Save local versions of CPANPLUS::Config::System into /etc/perl. | 4 | Subject: Save local versions of CPANPLUS::Config::System into /etc/perl. |
5 | 5 | ||
6 | This is a configuration file and needs to go in /etc by policy. | 6 | This is a configuration file and needs to go in /etc by policy. |
7 | Besides, /usr may not even be writable. | 7 | Besides, /usr may not even be writable. |
8 | 8 | ||
9 | This mirrors the Debian setup of CPAN.pm in debian/cpan_config_path. | 9 | This mirrors the Debian setup of CPAN.pm in debian/cpan_config_path. |
10 | 10 | ||
11 | See #533707. | 11 | See #533707. |
12 | 12 | ||
13 | Patch-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 | ||
18 | diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm b/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm | 19 | diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm b/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm |
19 | index baac91d..a3794de 100644 | 20 | index 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. |
30 | diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm | 31 | diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm |
31 | index 1a38200..6ee0d82 100644 | 32 | index 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 | -- | ||
45 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From 66517b14790aa6410fd37e411dd62521e1e02b7f Mon Sep 17 00:00:00 2001 |
2 | |||
3 | From: Niko Tyni <ntyni@debian.org> | 2 | From: Niko Tyni <ntyni@debian.org> |
3 | Date: Mon, 6 Jul 2009 21:58:41 +0300 | ||
4 | Subject: Configure CPANPLUS to use the site directories by default. | 4 | Subject: Configure CPANPLUS to use the site directories by default. |
5 | Closes: 533707 | 5 | |
6 | 6 | Bug-Debian: http://bugs.debian.org/533707 | |
7 | |||
7 | The core modules usually default to INSTALLDIRS=perl (ExtUtils::MakeMaker) | 8 | The core modules usually default to INSTALLDIRS=perl (ExtUtils::MakeMaker) |
8 | or installdirs=core (Module::Build), so we need to explicitly ask for | 9 | or installdirs=core (Module::Build), so we need to explicitly ask for |
9 | the site destination to get upgraded versions into /usr/local. | 10 | the site destination to get upgraded versions into /usr/local. |
10 | 11 | ||
11 | See also the sister patch, debian/cpan_definstalldirs . | 12 | See also the sister patch, debian/cpan_definstalldirs . |
12 | 13 | ||
14 | Patch-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 | ||
17 | diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm b/cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm | 20 | diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm b/cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm |
18 | new file mode 100644 | 21 | new file mode 100644 |
@@ -50,5 +53,3 @@ index 0000000..5e6e11e | |||
50 | +} | 53 | +} |
51 | + | 54 | + |
52 | +1; | 55 | +1; |
53 | -- | ||
54 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From 0d1acf7af6da3a3f933faba8459ad9ff03fe3e5b Mon Sep 17 00:00:00 2001 |
2 | 2 | From: Brendan O'Dea <bod@debian.org> | |
3 | Date: Fri, 16 Dec 2005 01:32:14 +1100 | ||
3 | Subject: Remove overly restrictive DB_File version check. | 4 | Subject: Remove overly restrictive DB_File version check. |
5 | |||
4 | Bug-Debian: http://bugs.debian.org/340047 | 6 | Bug-Debian: http://bugs.debian.org/340047 |
5 | 7 | ||
6 | Package dependencies ensure the correct library is linked at run-time. | 8 | Package dependencies ensure the correct library is linked at run-time. |
7 | 9 | ||
8 | 10 | Patch-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 | ||
13 | diff --git a/cpan/DB_File/version.c b/cpan/DB_File/version.c | 15 | diff --git a/cpan/DB_File/version.c b/cpan/DB_File/version.c |
14 | index 47158d3..67ccdff 100644 | 16 | index 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 | -- | ||
34 | tg: (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 @@ | |||
1 | From c2bd2059cfbba573643c748ace4ff4db4cbf015d Mon Sep 17 00:00:00 2001 | ||
2 | From: Dominic Hargreaves <dom@earth.li> | ||
3 | Date: Mon, 17 May 2010 13:23:07 +0300 | ||
4 | Subject: Point users to Debian packages of deprecated core modules | ||
5 | |||
6 | Bug-Debian: http://bugs.debian.org/580034 | ||
7 | |||
8 | Class::ISA, Switch, Pod::Plainer, and (partially) Shell were | ||
9 | deprecated from the Perl core in 5.12.0. | ||
10 | |||
11 | Class::ISA, Switch, Pod::Plainer were removed from the Perl core in | ||
12 | 5.14.0. | ||
13 | |||
14 | Shell and Devel::DProf, and Perl 4 libraries, were deprecated from the | ||
15 | Perl core in 5.14.0. | ||
16 | |||
17 | To get a clean transition, perl/perl-modules is going to recommend the | ||
18 | separate Debian packages of these for one release cycle so that they will be | ||
19 | pulled in by default on upgrades. | ||
20 | |||
21 | However, on systems configured to ignore recommendations the deprecation | ||
22 | warnings will still be useful, so modify them slightly to point to the | ||
23 | separate packages instead. | ||
24 | |||
25 | Patch-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 | |||
61 | diff --git a/lib/abbrev.pl b/lib/abbrev.pl | ||
62 | index 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 = (); | ||
71 | diff --git a/lib/assert.pl b/lib/assert.pl | ||
72 | index 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 | ||
81 | diff --git a/lib/bigfloat.pl b/lib/bigfloat.pl | ||
82 | index 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"; | ||
91 | diff --git a/lib/bigint.pl b/lib/bigint.pl | ||
92 | index 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 | # | ||
101 | diff --git a/lib/bigrat.pl b/lib/bigrat.pl | ||
102 | index 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"; | ||
111 | diff --git a/lib/cacheout.pl b/lib/cacheout.pl | ||
112 | index 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 | ||
121 | diff --git a/lib/complete.pl b/lib/complete.pl | ||
122 | index 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 | # | ||
131 | diff --git a/lib/ctime.pl b/lib/ctime.pl | ||
132 | index 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 | # | ||
141 | diff --git a/lib/deprecate.pm b/lib/deprecate.pm | ||
142 | index 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 | } | ||
177 | diff --git a/lib/dotsh.pl b/lib/dotsh.pl | ||
178 | index 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 | ||
187 | diff --git a/lib/exceptions.pl b/lib/exceptions.pl | ||
188 | index 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 | ||
197 | diff --git a/lib/fastcwd.pl b/lib/fastcwd.pl | ||
198 | index 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 | # | ||
207 | diff --git a/lib/find.pl b/lib/find.pl | ||
208 | index 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 | ||
217 | diff --git a/lib/finddepth.pl b/lib/finddepth.pl | ||
218 | index 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 | ||
227 | diff --git a/lib/flush.pl b/lib/flush.pl | ||
228 | index 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 | ||
237 | diff --git a/lib/getcwd.pl b/lib/getcwd.pl | ||
238 | index 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 | # | ||
247 | diff --git a/lib/getopt.pl b/lib/getopt.pl | ||
248 | index 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 | # | ||
257 | diff --git a/lib/getopts.pl b/lib/getopts.pl | ||
258 | index 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 | # | ||
267 | diff --git a/lib/hostname.pl b/lib/hostname.pl | ||
268 | index 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 | # | ||
277 | diff --git a/lib/importenv.pl b/lib/importenv.pl | ||
278 | index 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. | ||
287 | diff --git a/lib/look.pl b/lib/look.pl | ||
288 | index 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 | # | ||
297 | diff --git a/lib/newgetopt.pl b/lib/newgetopt.pl | ||
298 | index 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. | ||
307 | diff --git a/lib/open2.pl b/lib/open2.pl | ||
308 | index 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. | ||
317 | diff --git a/lib/open3.pl b/lib/open3.pl | ||
318 | index 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. | ||
327 | diff --git a/lib/pwd.pl b/lib/pwd.pl | ||
328 | index 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 | ;# | ||
337 | diff --git a/lib/shellwords.pl b/lib/shellwords.pl | ||
338 | index 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. | ||
347 | diff --git a/lib/stat.pl b/lib/stat.pl | ||
348 | index 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. | ||
357 | diff --git a/lib/syslog.pl b/lib/syslog.pl | ||
358 | index 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 | ||
367 | diff --git a/lib/tainted.pl b/lib/tainted.pl | ||
368 | index 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. | ||
377 | diff --git a/lib/termcap.pl b/lib/termcap.pl | ||
378 | index 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 | # | ||
387 | diff --git a/lib/timelocal.pl b/lib/timelocal.pl | ||
388 | index 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 | ;# | ||
397 | diff --git a/lib/validate.pl b/lib/validate.pl | ||
398 | index 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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From 90c7967530102c66bbff25d89273d3f0bf189a83 Mon Sep 17 00:00:00 2001 |
2 | |||
3 | From: Niko Tyni <ntyni@debian.org> | 2 | From: Niko Tyni <ntyni@debian.org> |
3 | Date: Fri, 10 Apr 2009 01:17:43 +0300 | ||
4 | Subject: Disable zlib bundling in Compress::Raw::Zlib | 4 | Subject: Disable zlib bundling in Compress::Raw::Zlib |
5 | 5 | ||
6 | Compress::Raw::Zlib statically links its bundled version of zlib | 6 | Compress::Raw::Zlib statically links its bundled version of zlib |
7 | by default, but we use the system library instead. | 7 | by default, but we use the system library instead. |
8 | 8 | ||
9 | Patch-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 | -- | ||
31 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From 16ebe1f5232621d8894aa6c6210fdf2fc9b54a84 Mon Sep 17 00:00:00 2001 |
2 | 2 | From: Brendan O'Dea <bod@debian.org> | |
3 | Subject: Replace generic man(1) instructions with Debian-specific information. | 3 | Date: Fri, 18 Mar 2005 22:22:25 +1100 |
4 | Subject: Replace generic man(1) instructions with Debian-specific | ||
5 | information. | ||
4 | 6 | ||
5 | Indicate that the user needs to install the perl-doc package. | 7 | Indicate that the user needs to install the perl-doc package. |
6 | 8 | ||
7 | 9 | Patch-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 | ||
12 | diff --git a/pod/perl.pod b/pod/perl.pod | 14 | diff --git a/pod/perl.pod b/pod/perl.pod |
13 | index e67f062..3b8ae83 100644 | 15 | index 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 | -- | ||
36 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From e9fd6e7729b9ebd9bc74b8cf295cd3a7f5aa5472 Mon Sep 17 00:00:00 2001 |
2 | 2 | From: Brendan O'Dea <bod@debian.org> | |
3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 | ||
3 | Subject: Tweak enc2xs to follow symlinks and ignore missing @INC directories. | 4 | Subject: Tweak enc2xs to follow symlinks and ignore missing @INC directories. |
5 | |||
4 | Bug-Debian: http://bugs.debian.org/290336 | 6 | Bug-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 | ||
13 | Patch-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 | -- | ||
52 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From 973bed42db538804179f39d66dab37c82c6ade24 Mon Sep 17 00:00:00 2001 |
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Fri, 16 Dec 2005 01:32:14 +1100 | ||
4 | Subject: Remove Errno version check due to upgrade problems with long-running | ||
5 | processes. | ||
2 | 6 | ||
3 | Subject: Remove Errno version check due to upgrade problems with long-running processes. | ||
4 | Bug-Debian: http://bugs.debian.org/343351 | 7 | Bug-Debian: http://bugs.debian.org/343351 |
5 | 8 | ||
6 | Remove version check which can cause problems for long running | 9 | Remove version check which can cause problems for long running |
7 | processes embedding perl when upgrading to a newer version, | 10 | processes embedding perl when upgrading to a newer version, |
8 | compatible, but built on a different machine. | 11 | compatible, but built on a different machine. |
9 | 12 | ||
10 | 13 | Patch-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 | ||
15 | diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL | 18 | diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL |
16 | index 124b8fc..b554cd4 100644 | 19 | index 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 | -- | ||
34 | tg: (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 @@ | |||
1 | From 334ac01a8306485ed901f4fb45d79f39a944fe77 Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 | ||
4 | Subject: EU:MM: Set location of libperl.a to /usr/lib | ||
5 | |||
6 | Patch-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 | |||
11 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
12 | index 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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From a46a7107fb045ffa6047488b8002fec97b621a11 Mon Sep 17 00:00:00 2001 |
2 | 2 | From: Brendan O'Dea <bod@debian.org> | |
3 | Date: Fri, 18 Mar 2005 22:22:25 +1100 | ||
3 | Subject: Postpone LD_LIBRARY_PATH evaluation to the binary targets. | 4 | Subject: Postpone LD_LIBRARY_PATH evaluation to the binary targets. |
4 | 5 | ||
5 | Modify the setting of LD_LIBRARY_PATH to append pre-existing values at the | 6 | Modify 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, | |||
9 | since fakeroot (which now sets LD_LIBRARY_PATH) is not used for the "build" | 10 | since fakeroot (which now sets LD_LIBRARY_PATH) is not used for the "build" |
10 | rule where the Makefile is created, but is for the clean/binary* targets. | 11 | rule where the Makefile is created, but is for the clean/binary* targets. |
11 | 12 | ||
12 | 13 | Patch-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 | ||
17 | diff --git a/Makefile.SH b/Makefile.SH | 18 | diff --git a/Makefile.SH b/Makefile.SH |
18 | index fc13b2b..d420229 100755 | 19 | index 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 | -- | ||
45 | tg: (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 @@ | |||
1 | From ca66b95be369b47a6d372c3653be57cd737f7f21 Mon Sep 17 00:00:00 2001 | ||
2 | From: Andreas Marschke <andreas.marschke@googlemail.com> | ||
3 | Date: Sat, 17 Sep 2011 11:38:42 +0100 | ||
4 | Subject: Configure CPAN::Distribution with correct name of html2text | ||
5 | |||
6 | Bug-Debian: http://bugs.debian.org/640479 | ||
7 | Patch-Name: debian/find_html2text.diff | ||
8 | |||
9 | If you use cpan from Debian you usually wind up trying to read online | ||
10 | documentation through it. Unfortunately cpan can't find the | ||
11 | html2text.pl script even though it is installed using the Debian | ||
12 | package 'html2text'. | ||
13 | |||
14 | Please see the attached patch for a quick fix of this issue. | ||
15 | |||
16 | [Maintainer's note: html2text in Debian is not the same implementation | ||
17 | as the html2text.pl which is expected, but should provide similar | ||
18 | functionality]. | ||
19 | --- | ||
20 | cpan/CPAN/lib/CPAN/Distribution.pm | 2 +- | ||
21 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
22 | |||
23 | diff --git a/cpan/CPAN/lib/CPAN/Distribution.pm b/cpan/CPAN/lib/CPAN/Distribution.pm | ||
24 | index 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 @@ | |||
1 | From f0e3a51bd7286788e410510af86a6c07edac4445 Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Mon, 30 May 2011 22:54:24 +0300 | ||
4 | Subject: Document that CCFLAGS should include $Config{ccflags} | ||
5 | |||
6 | Bug: https://rt.cpan.org/Public/Bug/Display.html?id=68613 | ||
7 | Bug-Debian: http://bugs.debian.org/628522 | ||
8 | |||
9 | Compiling XS extensions without $Config{ccflags} can break the | ||
10 | binary interface on some platforms. | ||
11 | |||
12 | Patch-Name: fixes/document_makemaker_ccflags.diff | ||
13 | --- | ||
14 | cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm | 4 ++++ | ||
15 | 1 files changed, 4 insertions(+), 0 deletions(-) | ||
16 | |||
17 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm | ||
18 | index 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 @@ | |||
1 | From 0c91624f1f9ec46a6f13cad3031b706213233479 Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Thu, 28 Apr 2011 09:18:54 +0300 | ||
4 | Subject: Append CFLAGS and LDFLAGS to their Config.pm counterparts in | ||
5 | EU::CBuilder | ||
6 | |||
7 | Bug: http://rt.perl.org/rt3//Public/Bug/Display.html?id=89478 | ||
8 | Bug-Debian: http://bugs.debian.org/624460 | ||
9 | Origin: upstream, http://perl5.git.perl.org/perl.git/commitdiff/011e8fb476b5fb27c9aa613360d918aa0b798b3d | ||
10 | |||
11 | Since ExtUtils::CBuilder 0.27_04 (bleadperl commit 06e8058f27e4), | ||
12 | CFLAGS and LDFLAGS from the environment have overridden the Config.pm | ||
13 | ccflags and ldflags settings. This can cause binary incompatibilities | ||
14 | between the core Perl and extensions built with EU::CBuilder. | ||
15 | |||
16 | Append to the Config.pm values rather than overriding them. | ||
17 | |||
18 | Patch-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 | |||
24 | diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm | ||
25 | index 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/\.[^.]*/); | ||
44 | diff --git a/dist/ExtUtils-CBuilder/t/04-base.t b/dist/ExtUtils-CBuilder/t/04-base.t | ||
45 | index 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 @@ | |||
1 | From 37969e249dfc593ebabfcb682893b6c69dc6b313 Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Wed, 18 May 2011 21:44:06 -0700 | ||
4 | Subject: Make h2ph correctly search gcc include directories | ||
5 | |||
6 | Bug: http://rt.perl.org/rt3/Public/Bug/Display.html?id=90122 | ||
7 | Bug-Debian: http://bugs.debian.org/625808 | ||
8 | Origin: upstream, http://perl5.git.perl.org/perl.git/commit/e7ec705d9b91d35fa99dc50d0a232b6372160a77 | ||
9 | |||
10 | System header conversion with "h2ph -a" is currently broken on Ubuntu | ||
11 | Natty and Oneiric (unless the gcc-multilib package is installed for | ||
12 | backward compatibility), resulting in things like | ||
13 | |||
14 | # perl -e 'require "syscall.ph"' | ||
15 | Can't locate asm/unistd.ph in @INC [...] | ||
16 | |||
17 | This happens because Ubuntu has switched to a 'multiarch' setup, see | ||
18 | <https://wiki.ubuntu.com/MultiarchSpec> for details. | ||
19 | |||
20 | The asm subdirectory isn't in $Config{usrinc} anymore: /usr/include/asm | ||
21 | is now /usr/include/x86_64-linux-gnu/asm. (The third component of the | ||
22 | new path varies with the actual architecture.) | ||
23 | |||
24 | gcc --print-search-dirs doesn't really tell anything about where gcc | ||
25 | looks for the include directories, it was just used to find the gcc | ||
26 | internal directory prefix. | ||
27 | |||
28 | Parse the output of "gcc -v -E" instead, and append $Config{usrinc} | ||
29 | for safety. Duplicates shouldn't matter. | ||
30 | |||
31 | The h2ph "-a" switch isn't currently tested automatically, and that | ||
32 | seems 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 | |||
37 | The gcc invocation has been tested to work with gcc 4.6, 4.1, and 3.3. | ||
38 | |||
39 | http://bugs.debian.org/625808 | ||
40 | https://bugs.launchpad.net/bugs/777903 | ||
41 | |||
42 | Patch-Name: fixes/h2ph-multiarch.diff | ||
43 | --- | ||
44 | utils/h2ph.PL | 12 ++---------- | ||
45 | 1 files changed, 2 insertions(+), 10 deletions(-) | ||
46 | |||
47 | diff --git a/utils/h2ph.PL b/utils/h2ph.PL | ||
48 | index 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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From f66e8575cb0ca11171f43efe0f9e3c6e790b75bc Mon Sep 17 00:00:00 2001 |
2 | 2 | From: Samuel Thibault <sthibault@debian.org> | |
3 | Author: Samuel Thibault <sthibault@debian.org> | 3 | Date: Wed, 4 Aug 2010 13:34:05 +0300 |
4 | Subject: Make hints/gnu.sh append to $ccflags rather than overriding them | 4 | Subject: Make hints/gnu.sh append to $ccflags rather than overriding them |
5 | |||
6 | Bug: http://rt.perl.org/rt3/Public/Bug/Display.html?id=92244 | ||
5 | Bug-Debian: http://bugs.debian.org/587901 | 7 | Bug-Debian: http://bugs.debian.org/587901 |
8 | Origin: upstream, http://perl5.git.perl.org/perl.git/commit/a190e648879 | ||
6 | 9 | ||
7 | Don't override possible extra $ccflags values given to Configure | 10 | Don't override possible extra $ccflags values given to Configure |
8 | on GNU/Hurd. | 11 | on GNU/Hurd. |
9 | 12 | ||
13 | Patch-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 | -- | ||
28 | tg: (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 @@ | |||
1 | From d6fd7595fcd04b332e7449f59ea298639f10a183 Mon Sep 17 00:00:00 2001 | ||
2 | From: Pino Toscano <pino@debian.org> | ||
3 | Date: Wed, 10 Aug 2011 08:11:33 +0300 | ||
4 | Subject: Improve general GNU hints, needed for GNU/Hurd. | ||
5 | |||
6 | Bug-Debian: http://bugs.debian.org/636609 | ||
7 | |||
8 | Patch-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 | |||
15 | diff --git a/ext/ODBM_File/hints/gnu.pl b/ext/ODBM_File/hints/gnu.pl | ||
16 | new file mode 100644 | ||
17 | index 0000000..db63567 | ||
18 | --- /dev/null | ||
19 | +++ b/ext/ODBM_File/hints/gnu.pl | ||
20 | @@ -0,0 +1 @@ | ||
21 | +do './hints/linux.pl' or die $@; | ||
22 | diff --git a/hints/gnu.sh b/hints/gnu.sh | ||
23 | index 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 @@ | |||
1 | From e25298a339dd6679f1b080f0125ac1b237b87950 Mon Sep 17 00:00:00 2001 | ||
2 | From: David Mitchell <davem@iabyn.com> | ||
3 | Date: Tue, 28 Jun 2011 17:04:40 +0100 | ||
4 | Subject: RT 64804: tainting with index() of a constant | ||
5 | |||
6 | Bug: http://rt.perl.org/rt3/Public/Bug/Display.html?id=64804 | ||
7 | Bug-Debian: http://bugs.debian.org/291450 | ||
8 | Origin: upstream, http://perl5.git.perl.org/perl.git/commit/3b36395d31cf0a2f3a017505cd0ea857a7acb5d1 | ||
9 | |||
10 | At compile time, ck_index with a tainted constant set PL_tainted, | ||
11 | which remained on during the rest of compilation, tainting all other | ||
12 | constants. | ||
13 | |||
14 | Fix this by saving and restoring PL_tainted across the call to | ||
15 | fbm_compile, which is what sets PL_tainted. | ||
16 | |||
17 | Patch-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 | |||
23 | diff --git a/op.c b/op.c | ||
24 | index 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 | } | ||
40 | diff --git a/t/op/taint.t b/t/op/taint.t | ||
41 | index 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 @@ | |||
1 | From 9266292f705f2a3b6e5b97fa50e5f2be31371d5c Mon Sep 17 00:00:00 2001 | ||
2 | From: Dominic Hargreaves <dom@earth.li> | ||
3 | Date: Mon, 2 May 2011 10:35:04 +0100 | ||
4 | Subject: Fix failing tilde test when run under a UID without a passwd entry | ||
5 | |||
6 | Bug: https://rt.cpan.org/Public/Bug/Display.html?id=67893 | ||
7 | Bug-Debian: http://bugs.debian.org/624850 | ||
8 | |||
9 | Patch-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 | |||
14 | diff --git a/cpan/Module-Build/t/tilde.t b/cpan/Module-Build/t/tilde.t | ||
15 | index 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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From ab32eba7fcc45d864c22e8f4ee02e0a6712070e0 Mon Sep 17 00:00:00 2001 |
2 | 2 | From: Brendan O'Dea <bod@debian.org> | |
3 | Date: Thu, 20 Sep 2007 19:47:14 +1000 | ||
3 | Subject: Document the Net::SMTP 'Port' option | 4 | Subject: Document the Net::SMTP 'Port' option |
5 | |||
4 | Bug-Debian: http://bugs.debian.org/100195 | 6 | Bug-Debian: http://bugs.debian.org/100195 |
5 | Bug: http://rt.cpan.org/Public/Bug/Display.html?id=36038 | 7 | Bug: http://rt.cpan.org/Public/Bug/Display.html?id=36038 |
6 | 8 | ||
7 | 9 | Patch-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 | -- | ||
25 | tg: (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 @@ | |||
1 | From c6b1fdd18dab0236458502564e54c180bb0ce341 Mon Sep 17 00:00:00 2001 | ||
2 | From: Keith Thompson <kst@mib.org> | ||
3 | Date: Fri, 29 Jul 2011 17:17:00 -0700 | ||
4 | Subject: Fix typos in several pod/perl*.pod files | ||
5 | |||
6 | Bug-Debian: http://bugs.debian.org/637816 | ||
7 | Origin: http://perl5.git.perl.org/perl.git/commit/7698aede74509727f7bca31c58fc7a53b182315d | ||
8 | Patch-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 | |||
16 | diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod | ||
17 | index 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. | ||
56 | diff --git a/pod/perlglossary.pod b/pod/perlglossary.pod | ||
57 | index 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 | |||
93 | diff --git a/pod/perlmod.pod b/pod/perlmod.pod | ||
94 | index 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 | |||
115 | diff --git a/pod/perlretut.pod b/pod/perlretut.pod | ||
116 | index 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 @@ | |||
1 | From 0d1ab4f799eb14d5488fcc959f4a6bdec548b370 Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 | ||
4 | Subject: Respect umask during installation | ||
5 | |||
6 | This is needed to satisfy Debian policy regarding group-writable | ||
7 | site directories. | ||
8 | |||
9 | Patch-Name: fixes/respect_umask.diff | ||
10 | --- | ||
11 | cpan/ExtUtils-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 | |||
15 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
16 | index 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)" \ | ||
79 | diff --git a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm | ||
80 | index 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 @@ | |||
1 | From 9ba88d73444c22788b7c2a212e15dbfe3da2a1af Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Wed, 3 Aug 2011 22:36:24 +0300 | ||
4 | Subject: Use a socket timeout on GNU/kFreeBSD to catch ICMP port unreachable | ||
5 | messages | ||
6 | |||
7 | Bug: http://rt.cpan.org/Ticket/Display.html?id=69997 | ||
8 | Bug-Debian: http://bugs.debian.org/627821 | ||
9 | |||
10 | Without this, openlog() on a UDP socket may succeed on the FreeBSD kernel | ||
11 | even when there's no listener, causing test failures. | ||
12 | |||
13 | It seems probable that all FreeBSD-based systems suffer from the | ||
14 | same issue, but that's for upstream to decide. | ||
15 | |||
16 | Patch-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 | |||
21 | diff --git a/cpan/Sys-Syslog/Syslog.pm b/cpan/Sys-Syslog/Syslog.pm | ||
22 | index 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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From ab89a31d1f46388a61953349c3546e4082cd38de Mon Sep 17 00:00:00 2001 |
2 | 2 | From: Brendan O'Dea <bod@debian.org> | |
3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 | ||
3 | Subject: Debian policy doesn't install .packlist files for core or vendor. | 4 | Subject: Debian policy doesn't install .packlist files for core or vendor. |
4 | 5 | ||
5 | 6 | Patch-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 | -- | ||
28 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From 704f6017119ce0301a9105944512120a38a43a02 Mon Sep 17 00:00:00 2001 |
2 | 2 | From: Brendan O'Dea <bod@debian.org> | |
3 | Date: Fri, 18 Mar 2005 22:22:25 +1100 | ||
3 | Subject: Remove standard libs from LD_RUN_PATH as per Debian policy. | 4 | Subject: Remove standard libs from LD_RUN_PATH as per Debian policy. |
4 | 5 | ||
5 | 6 | Patch-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 | ||
10 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm | 11 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm |
11 | index b807e97..6c955d7 100644 | 12 | index 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 | -- | ||
25 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From 7465b6d008187580eabe655b9c8e75351d3d24b4 Mon Sep 17 00:00:00 2001 |
2 | 2 | From: Brendan O'Dea <bod@debian.org> | |
3 | Subject: Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable. | 3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 |
4 | 4 | Subject: Set location of libnet.cfg to /etc/perl/Net as /usr may not be | |
5 | writable. | ||
5 | 6 | ||
7 | Patch-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 | -- | ||
37 | tg: (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 @@ | |||
1 | From d70e88badfcc6edd05e884597f19fbbdcf2cf6a7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 | ||
4 | Subject: Note that libperl-dev package is required for embedded linking | ||
5 | |||
6 | Bug-Debian: http://bugs.debian.org/186778 | ||
7 | |||
8 | Patch-Name: debian/libperl_embed_doc.diff | ||
9 | --- | ||
10 | lib/ExtUtils/Embed.pm | 3 +++ | ||
11 | 1 files changed, 3 insertions(+), 0 deletions(-) | ||
12 | |||
13 | diff --git a/lib/ExtUtils/Embed.pm b/lib/ExtUtils/Embed.pm | ||
14 | index 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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From 55a718425dc4612ac01850ef786f75f072b20b9e Mon Sep 17 00:00:00 2001 |
2 | 2 | From: Niko Tyni <ntyni@debian.org> | |
3 | Date: Mon, 8 Sep 2008 20:48:14 +0300 | ||
3 | Subject: Disable some threads tests on m68k for now due to missing TLS. | 4 | Subject: Disable some threads tests on m68k for now due to missing TLS. |
4 | Closes: #495826, #517938 | ||
5 | 5 | ||
6 | Bug-Debian: http://bugs.debian.org/495826 | ||
7 | Bug-Debian: http://bugs.debian.org/517938 | ||
6 | 8 | ||
9 | Patch-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 | ||
12 | diff --git a/dist/threads-shared/t/stress.t b/dist/threads-shared/t/stress.t | 15 | diff --git a/dist/threads-shared/t/stress.t b/dist/threads-shared/t/stress.t |
13 | index adfd1ed..8573f1a 100755 | 16 | index 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; |
27 | diff --git a/dist/threads-shared/t/waithires.t b/dist/threads-shared/t/waithires.t | 30 | diff --git a/dist/threads-shared/t/waithires.t b/dist/threads-shared/t/waithires.t |
28 | index e3a1086..633374e 100755 | 31 | index 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 | -- | ||
45 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From 11633e598640b02e19329f323623af254fbac451 Mon Sep 17 00:00:00 2001 |
2 | 2 | From: Brendan O'Dea <bod@debian.org> | |
3 | Date: Fri, 18 Mar 2005 22:22:25 +1100 | ||
3 | Subject: Tweak @INC ordering for Debian | 4 | Subject: Tweak @INC ordering for Debian |
4 | 5 | ||
5 | Our order is: | 6 | Our 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 |
16 | version than is included in core. | 17 | version than is included in core. |
17 | 18 | ||
18 | 19 | Patch-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 | ||
23 | diff --git a/perl.c b/perl.c | 24 | diff --git a/perl.c b/perl.c |
24 | index 05cea40..023d6a0 100644 | 25 | index 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 | -- | ||
100 | tg: (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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From fbb5f07872d45bac76b5c3c83b50a19aa5da10b0 Mon Sep 17 00:00:00 2001 |
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Thu, 8 May 2008 14:32:33 +0300 | ||
4 | Subject: Adjust Module::Build manual page extensions for the Debian Perl | ||
5 | policy | ||
2 | 6 | ||
3 | Subject: Adjust Module::Build manual page extensions for the Debian Perl policy | ||
4 | Bug-Debian: http://bugs.debian.org/479460 | 7 | Bug-Debian: http://bugs.debian.org/479460 |
5 | 8 | ||
9 | Patch-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 | ||
10 | diff --git a/cpan/Module-Build/lib/Module/Build/Base.pm b/cpan/Module-Build/lib/Module/Build/Base.pm | 14 | diff --git a/cpan/Module-Build/lib/Module/Build/Base.pm b/cpan/Module-Build/lib/Module/Build/Base.pm |
11 | index 5bd8ec7..b4e606a 100644 | 15 | index 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 | -- | ||
33 | tg: (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 @@ | |||
1 | From 44c7521619dd0e637920393184affcb26a27d5b7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 | ||
4 | Subject: Don't install .packlist or perllocal.pod for perl or vendor | ||
5 | |||
6 | Patch-Name: debian/no_packlist_perllocal.diff | ||
7 | --- | ||
8 | cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 31 +++-------------------- | ||
9 | 1 files changed, 4 insertions(+), 27 deletions(-) | ||
10 | |||
11 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
12 | index 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 @@ | |||
1 | From cf928101697efa4a46ada500c2f449caeb854fd4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Sun, 15 May 2011 19:35:58 +0300 | ||
4 | Subject: List packaged patches in patchlevel.h | ||
5 | |||
6 | Origin: vendor | ||
7 | Bug-Debian: http://bugs.debian.org/567489 | ||
8 | |||
9 | The list of packaged patches is in patchlevel-debian.h, which is generated | ||
10 | from the debian/patches/ directory when building the package. | ||
11 | |||
12 | Patch-Name: debian/patchlevel.diff | ||
13 | --- | ||
14 | patchlevel.h | 3 +++ | ||
15 | 1 files changed, 3 insertions(+), 0 deletions(-) | ||
16 | |||
17 | diff --git a/patchlevel.h b/patchlevel.h | ||
18 | index 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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From 4c7e04f75c9513451d1622e5a6dd58c2c8377d81 Mon Sep 17 00:00:00 2001 |
2 | |||
3 | From: Niko Tyni <ntyni@debian.org> | 2 | From: Niko Tyni <ntyni@debian.org> |
3 | Date: Fri, 9 Jan 2009 18:54:47 +0200 | ||
4 | Subject: Make perlivp skip include directories in /usr/local | 4 | Subject: Make perlivp skip include directories in /usr/local |
5 | Closes: 510895 | 5 | |
6 | Bug-Debian: http://bugs.debian.org/510895 | ||
6 | 7 | ||
7 | On Sat, Jan 10, 2009 at 12:37:18AM +1100, Brendan O'Dea wrote: | 8 | On 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 | |||
21 | Signed-off-by: Niko Tyni <ntyni@debian.org> | 21 | Signed-off-by: Niko Tyni <ntyni@debian.org> |
22 | 22 | ||
23 | Patch-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 | ||
27 | diff --git a/utils/perlivp.PL b/utils/perlivp.PL | 28 | diff --git a/utils/perlivp.PL b/utils/perlivp.PL |
28 | index 9783261..156146f 100644 | 29 | index 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 | -- | ||
40 | tg: (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 @@ | |||
1 | From 148e2717682ce8c65475ffdeea84b3cdd1ab1649 Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 | ||
4 | Subject: Fiddle with *PREFIX and variables written to the makefile | ||
5 | |||
6 | Fiddle with *PREFIX and variables written to the makefile so that | ||
7 | install directories may be changed when make is run by passing | ||
8 | PREFIX= to the "make install" command (used when packaging | ||
9 | modules). | ||
10 | |||
11 | Patch-Name: debian/prefix_changes.diff | ||
12 | --- | ||
13 | cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | 12 ++++++------ | ||
14 | cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 3 +-- | ||
15 | cpan/ExtUtils-MakeMaker/t/INST.t | 4 +--- | ||
16 | cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t | 10 +++++----- | ||
17 | 4 files changed, 13 insertions(+), 16 deletions(-) | ||
18 | |||
19 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | ||
20 | index 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}; | ||
56 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
57 | index 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; | ||
70 | diff --git a/cpan/ExtUtils-MakeMaker/t/INST.t b/cpan/ExtUtils-MakeMaker/t/INST.t | ||
71 | index 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 | |||
85 | diff --git a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t | ||
86 | index 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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From 063566907896ff32bea27897fa73cebbbd7bacce Mon Sep 17 00:00:00 2001 |
2 | 2 | From: Brendan O'Dea <bod@debian.org> | |
3 | Date: Fri, 18 Mar 2005 22:22:25 +1100 | ||
3 | Subject: Prune the list of libraries wanted to what we actually need. | 4 | Subject: Prune the list of libraries wanted to what we actually need. |
5 | |||
4 | Bug-Debian: http://bugs.debian.org/128355 | 6 | Bug-Debian: http://bugs.debian.org/128355 |
5 | 7 | ||
6 | We want to keep the dependencies on perl-base as small as possible, | 8 | We want to keep the dependencies on perl-base as small as possible, |
7 | and some of the original list may be present on buildds (see Bug#128355). | 9 | and some of the original list may be present on buildds (see Bug#128355). |
8 | 10 | ||
9 | 11 | Patch-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 | ||
14 | diff --git a/Configure b/Configure | 16 | diff --git a/Configure b/Configure |
15 | index 3a8732b..6013c86 100755 | 17 | index 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 | -- | ||
38 | tg: (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 @@ | |||
1 | debian/arm_thread_stress_timeout.diff | ||
2 | debian/cpan_definstalldirs.diff | ||
3 | debian/db_file_ver.diff | ||
4 | debian/doc_info.diff | ||
5 | debian/enc2xs_inc.diff | ||
6 | debian/errno_ver.diff | ||
7 | debian/libperl_embed_doc.diff | ||
8 | fixes/respect_umask.diff | ||
9 | debian/writable_site_dirs.diff | ||
10 | debian/extutils_set_libperl_path.diff | ||
11 | debian/no_packlist_perllocal.diff | ||
12 | debian/prefix_changes.diff | ||
13 | debian/fakeroot.diff | ||
14 | debian/instmodsh_doc.diff | ||
15 | debian/ld_run_path.diff | ||
16 | debian/libnet_config_path.diff | ||
17 | debian/m68k_thread_stress.diff | ||
18 | debian/mod_paths.diff | ||
19 | debian/module_build_man_extensions.diff | ||
20 | debian/prune_libs.diff | ||
21 | fixes/net_smtp_docs.diff | ||
22 | debian/perlivp.diff | ||
23 | debian/disable-zlib-bundling.diff | ||
24 | debian/cpanplus_definstalldirs.diff | ||
25 | debian/cpanplus_config_path.diff | ||
26 | debian/deprecate-with-apt.diff | ||
27 | fixes/hurd-ccflags.diff | ||
28 | debian/squelch-locale-warnings.diff | ||
29 | debian/skip-upstream-git-tests.diff | ||
30 | fixes/extutils-cbuilder-cflags.diff | ||
31 | fixes/module-build-home-directory.diff | ||
32 | debian/patchlevel.diff | ||
33 | fixes/h2ph-multiarch.diff | ||
34 | fixes/index-tainting.diff | ||
35 | debian/skip-kfreebsd-crash.diff | ||
36 | fixes/document_makemaker_ccflags.diff | ||
37 | fixes/sys-syslog-socket-timeout-kfreebsd.patch | ||
38 | fixes/hurd-hints.diff | ||
39 | fixes/pod_fixes.diff | ||
40 | debian/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 @@ | |||
1 | From ff2815399ad94915da2e63cb3c4bbd2d02dac4b2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Fri, 5 Aug 2011 10:50:18 +0300 | ||
4 | Subject: Skip a crashing test case in t/op/threads.t on GNU/kFreeBSD | ||
5 | |||
6 | Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=96272 | ||
7 | Bug-Debian: http://bugs.debian.org/628493 | ||
8 | |||
9 | The crash is not a regression in 5.14, it just gets triggered there by | ||
10 | a new unrelated test case. | ||
11 | |||
12 | Skip the test until the culprit is found. | ||
13 | |||
14 | Patch-Name: debian/skip-kfreebsd-crash.diff | ||
15 | --- | ||
16 | t/op/threads.t | 4 ++++ | ||
17 | 1 files changed, 4 insertions(+), 0 deletions(-) | ||
18 | |||
19 | diff --git a/t/op/threads.t b/t/op/threads.t | ||
20 | index 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 @@ | |||
1 | From 2be2eed9148c38d3e982d3371f379ce77021aeb5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Tyni <ntyni@debian.org> | ||
3 | Date: Fri, 22 Apr 2011 11:15:32 +0300 | ||
4 | Subject: Skip tests specific to the upstream Git repository | ||
5 | |||
6 | These tests fail if run from a different git repository than | ||
7 | upstream. This complicates things needlessly for downstream packagers. | ||
8 | |||
9 | Skip the tests altogether even if the .git directory exists. | ||
10 | |||
11 | Patch-Name: debian/skip-upstream-git-tests.diff | ||
12 | --- | ||
13 | t/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 | |||
18 | diff --git a/t/porting/authors.t b/t/porting/authors.t | ||
19 | index 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 | } | ||
32 | diff --git a/t/porting/cmp_version.t b/t/porting/cmp_version.t | ||
33 | index 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 | } | ||
46 | diff --git a/t/porting/manifest.t b/t/porting/manifest.t | ||
47 | index 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 @@ | |||
1 | Upstream-Status:Inappropriate [debian patch] | 1 | From 718e9cbd59f0739fc9104af111e42fff66f927a7 Mon Sep 17 00:00:00 2001 |
2 | |||
3 | From: Niko Tyni <ntyni@debian.org> | 2 | From: Niko Tyni <ntyni@debian.org> |
3 | Date: Sun, 3 Oct 2010 21:36:17 +0300 | ||
4 | Subject: Squelch locale warnings in Debian package maintainer scripts | 4 | Subject: Squelch locale warnings in Debian package maintainer scripts |
5 | |||
5 | Bug-Debian: http://bugs.debian.org/508764 | 6 | Bug-Debian: http://bugs.debian.org/508764 |
6 | 7 | ||
7 | The system locales are rather frequently out of sync with the C library | 8 | The system locales are rather frequently out of sync with the C library |
@@ -12,13 +13,14 @@ by the DPKG_RUNNING_VERSION environment variable. | |||
12 | Any real locale problem will show up after the system upgrade too, and | 13 | Any real locale problem will show up after the system upgrade too, and |
13 | the warning will be triggered normally again at that point. | 14 | the warning will be triggered normally again at that point. |
14 | 15 | ||
16 | Patch-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 | ||
20 | diff --git a/locale.c b/locale.c | 22 | diff --git a/locale.c b/locale.c |
21 | index 16ccce8..2592b3c 100644 | 23 | index 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) { |
35 | diff --git a/pod/perllocale.pod b/pod/perllocale.pod | 37 | diff --git a/pod/perllocale.pod b/pod/perllocale.pod |
36 | index 0dbabe7..60b7bab 100644 | 38 | index 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 | -- | ||
55 | tg: (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 @@ | |||
1 | From 492e0d6b4e3e0d786fb88b9058d581f6466c4a3e Mon Sep 17 00:00:00 2001 | ||
2 | From: Brendan O'Dea <bod@debian.org> | ||
3 | Date: Tue, 8 Mar 2005 19:30:38 +1100 | ||
4 | Subject: Set umask approproately for site install directories | ||
5 | |||
6 | Policy requires group writable site directories | ||
7 | |||
8 | Patch-Name: debian/writable_site_dirs.diff | ||
9 | --- | ||
10 | cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 6 +++--- | ||
11 | 1 files changed, 3 insertions(+), 3 deletions(-) | ||
12 | |||
13 | diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | ||
14 | index 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. | |||
10 | It is a fix to MakeMaker within perl, so all such perl recipes will get | 10 | It is a fix to MakeMaker within perl, so all such perl recipes will get |
11 | fixed with this perl fix. | 11 | fixed with this perl fix. |
12 | 12 | ||
13 | Index: perl-5.12.3/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm | 13 | Index: 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 | |||
9 | as required. This also disables the use of the cache since the cached | 9 | as required. This also disables the use of the cache since the cached |
10 | values would be valid for the host only. | 10 | values would be valid for the host only. |
11 | 11 | ||
12 | --- perl-5.8.8/configpm 2007/04/30 03:10:43 1.1 | 12 | Index: 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 | ||
8 | Update by Nitin A Kamble <nitin.a.kamble@intel.com> 2011/04/21 | 8 | Update 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 | 10 | Index: 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" | |||
4 | LICENSE = "Artistic|GPL" | 4 | LICENSE = "Artistic|GPL" |
5 | LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \ | 5 | LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \ |
6 | file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8" | 6 | file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8" |
7 | PR = "r5" | 7 | PR = "r0" |
8 | 8 | ||
9 | LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \ | 9 | LIC_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 \ | |||
12 | SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \ | 12 | SRC_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 | ||
25 | SRC_URI[md5sum] = "29975a69dce54e47fcd6331c085c6c99" | 19 | SRC_URI[md5sum] = "3306fbaf976dcebdcd49b2ac0be00eb9" |
26 | SRC_URI[sha256sum] = "5678bfd5c2cd59253a26171bf3e681235433b00c730eea8a8046e1b225c11d2f" | 20 | SRC_URI[sha256sum] = "6488359573bd7d41761bf935f66f827dc220fb3df961ef9b775d51fbd66548d3" |
27 | 21 | ||
28 | S = "${WORKDIR}/perl-${PV}" | 22 | S = "${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 |
20 | RDEPENDS_perl-module-archive-tar += "perl-module-exporter" | ||
21 | RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar" | 20 | RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar" |
21 | RDEPENDS_perl-module-archive-tar += "perl-module-exporter" | ||
22 | RDEPENDS_perl-module-attributes += "perl-module-xsloader" | 22 | RDEPENDS_perl-module-attributes += "perl-module-xsloader" |
23 | RDEPENDS_perl-module-b += "perl-module-exporter" | ||
24 | RDEPENDS_perl-module-b-debug += "perl-module-b" | 23 | RDEPENDS_perl-module-b-debug += "perl-module-b" |
25 | RDEPENDS_perl-module-bignum += "perl-module-bigint" | 24 | RDEPENDS_perl-module-bignum += "perl-module-bigint" |
26 | RDEPENDS_perl-module-bigrat += "perl-module-bigint" | 25 | RDEPENDS_perl-module-bigrat += "perl-module-bigint" |
27 | RDEPENDS_perl-module-bigrat += "perl-module-exporter" | 26 | RDEPENDS_perl-module-bigrat += "perl-module-exporter" |
27 | RDEPENDS_perl-module-b += "perl-module-exporter" | ||
28 | #RDEPENDS_perl-module-build += "perl-module-module-metadata" | ||
28 | RDEPENDS_perl-module-carp += "perl-module-exporter" | 29 | RDEPENDS_perl-module-carp += "perl-module-exporter" |
29 | RDEPENDS_perl-module-cgi-util += "perl-module-exporter" | 30 | RDEPENDS_perl-module-cgi-util += "perl-module-exporter" |
30 | RDEPENDS_perl-module-class-struct += "perl-module-exporter" | 31 | RDEPENDS_perl-module-class-struct += "perl-module-exporter" |
@@ -32,27 +33,30 @@ RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-exporter" | |||
32 | RDEPENDS_perl-module-compress-raw-zlib += "perl-module-exporter" | 33 | RDEPENDS_perl-module-compress-raw-zlib += "perl-module-exporter" |
33 | RDEPENDS_perl-module-compress-zlib += "perl-module-exporter" | 34 | RDEPENDS_perl-module-compress-zlib += "perl-module-exporter" |
34 | RDEPENDS_perl-module-config-extensions += "perl-module-exporter" | 35 | RDEPENDS_perl-module-config-extensions += "perl-module-exporter" |
36 | #RDEPENDS_perl-module-cpan += "perl-module-mac-buildtools" | ||
35 | RDEPENDS_perl-module-cpanplus += "perl-module-base" | 37 | RDEPENDS_perl-module-cpanplus += "perl-module-base" |
38 | RDEPENDS_perl-module-cpanplus += "perl-module-cpanplus" | ||
36 | RDEPENDS_perl-module-cpanplus += "perl-module-exporter" | 39 | RDEPENDS_perl-module-cpanplus += "perl-module-exporter" |
37 | RDEPENDS_perl-module-cpanplus += "perl-module-tie-hash" | 40 | RDEPENDS_perl-module-cpanplus += "perl-module-tie-hash" |
38 | RDEPENDS_perl-module-data-dumper += "perl-module-exporter" | 41 | RDEPENDS_perl-module-data-dumper += "perl-module-exporter" |
39 | RDEPENDS_perl-module-data-dumper += "perl-module-overload" | 42 | RDEPENDS_perl-module-data-dumper += "perl-module-overload" |
40 | RDEPENDS_perl-module-devel-peek += "perl-module-exporter" | 43 | RDEPENDS_perl-module-devel-peek += "perl-module-exporter" |
44 | RDEPENDS_perl-module-devel-peek += "perl-module-xsloader" | ||
41 | RDEPENDS_perl-module-devel-selfstubber += "perl-module-selfloader" | 45 | RDEPENDS_perl-module-devel-selfstubber += "perl-module-selfloader" |
42 | RDEPENDS_perl-module-digest-md5 += "perl-module-exporter" | 46 | RDEPENDS_perl-module-digest-md5 += "perl-module-exporter" |
43 | RDEPENDS_perl-module-digest-sha += "perl-module-dynaloader" | 47 | RDEPENDS_perl-module-digest-sha += "perl-module-dynaloader" |
44 | RDEPENDS_perl-module-digest-sha += "perl-module-exporter" | 48 | RDEPENDS_perl-module-digest-sha += "perl-module-exporter" |
45 | RDEPENDS_perl-module-dynaloader += "perl-module-autoloader" | ||
46 | RDEPENDS_perl-module-encode += "perl-module-encode-config" | ||
47 | RDEPENDS_perl-module-encode += "perl-module-exporter" | ||
48 | RDEPENDS_perl-module-encode-cjkconstants += "perl-module-exporter" | 49 | RDEPENDS_perl-module-encode-cjkconstants += "perl-module-exporter" |
49 | RDEPENDS_perl-module-encode-encoder += "perl-module-exporter" | 50 | RDEPENDS_perl-module-encode-encoder += "perl-module-exporter" |
50 | RDEPENDS_perl-module-encode-encoding += "perl-module-encode" | 51 | RDEPENDS_perl-module-encode-encoding += "perl-module-encode" |
52 | RDEPENDS_perl-module-encode += "perl-module-encode-config" | ||
53 | RDEPENDS_perl-module-encode += "perl-module-exporter" | ||
51 | RDEPENDS_perl-module-encode-unicode += "perl-module-encode" | 54 | RDEPENDS_perl-module-encode-unicode += "perl-module-encode" |
52 | RDEPENDS_perl-module-english += "perl-module-exporter" | 55 | RDEPENDS_perl-module-english += "perl-module-exporter" |
56 | RDEPENDS_perl-module-errno += "perl-module-exporter" | ||
53 | RDEPENDS_perl-module-exporter-heavy += "perl-module-exporter" | 57 | RDEPENDS_perl-module-exporter-heavy += "perl-module-exporter" |
54 | RDEPENDS_perl-module-extutils-command += "perl-module-exporter" | ||
55 | RDEPENDS_perl-module-extutils-command-mm += "perl-module-exporter" | 58 | RDEPENDS_perl-module-extutils-command-mm += "perl-module-exporter" |
59 | RDEPENDS_perl-module-extutils-command += "perl-module-exporter" | ||
56 | RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-xs" | 60 | RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-xs" |
57 | RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-base" | 61 | RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-base" |
58 | RDEPENDS_perl-module-extutils-embed += "perl-module-exporter" | 62 | RDEPENDS_perl-module-extutils-embed += "perl-module-exporter" |
@@ -64,8 +68,6 @@ RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-my" | |||
64 | RDEPENDS_perl-module-extutils-manifest += "perl-module-exporter" | 68 | RDEPENDS_perl-module-extutils-manifest += "perl-module-exporter" |
65 | RDEPENDS_perl-module-extutils-miniperl += "perl-module-exporter" | 69 | RDEPENDS_perl-module-extutils-miniperl += "perl-module-exporter" |
66 | RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-exporter" | 70 | RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-exporter" |
67 | RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-liblist" | ||
68 | RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker" | ||
69 | RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-mm-unix" | 71 | RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-mm-unix" |
70 | RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-any" | 72 | RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-any" |
71 | RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-unix" | 73 | RDEPENDS_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" | |||
76 | RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-mm-win32" | 78 | RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-mm-win32" |
77 | RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-any" | 79 | RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-any" |
78 | RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-unix" | 80 | RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-unix" |
81 | RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-liblist" | ||
82 | RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker" | ||
79 | RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-extutils-mm-unix" | 83 | RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-extutils-mm-unix" |
80 | RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-mm-any" | 84 | RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-mm-any" |
81 | RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-extutils-mm-unix" | 85 | RDEPENDS_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" | |||
89 | RDEPENDS_perl-module-extutils-my += "perl-module-extutils-mm" | 93 | RDEPENDS_perl-module-extutils-my += "perl-module-extutils-mm" |
90 | RDEPENDS_perl-module-extutils-parsexs += "perl-module-exporter" | 94 | RDEPENDS_perl-module-extutils-parsexs += "perl-module-exporter" |
91 | RDEPENDS_perl-module-fcntl += "perl-module-exporter" | 95 | RDEPENDS_perl-module-fcntl += "perl-module-exporter" |
96 | RDEPENDS_perl-module-fcntl += "perl-module-xsloader" | ||
92 | RDEPENDS_perl-module-file-basename += "perl-module-exporter" | 97 | RDEPENDS_perl-module-file-basename += "perl-module-exporter" |
93 | RDEPENDS_perl-module-file-compare += "perl-module-exporter" | 98 | RDEPENDS_perl-module-file-compare += "perl-module-exporter" |
94 | RDEPENDS_perl-module-file-copy += "perl-module-exporter" | 99 | RDEPENDS_perl-module-file-copy += "perl-module-exporter" |
@@ -96,6 +101,8 @@ RDEPENDS_perl-module-file-find += "perl-module-cwd" | |||
96 | RDEPENDS_perl-module-file-find += "perl-module-exporter" | 101 | RDEPENDS_perl-module-file-find += "perl-module-exporter" |
97 | RDEPENDS_perl-module-file-find += "perl-module-file-basename" | 102 | RDEPENDS_perl-module-file-find += "perl-module-file-basename" |
98 | RDEPENDS_perl-module-file-find += "perl-module-file-spec" | 103 | RDEPENDS_perl-module-file-find += "perl-module-file-spec" |
104 | RDEPENDS_perl-module-file-glob += "perl-module-xsloader" | ||
105 | RDEPENDS_perl-module-filehandle += "perl-module-io-file" | ||
99 | RDEPENDS_perl-module-file-spec-cygwin += "perl-module-file-spec-unix" | 106 | RDEPENDS_perl-module-file-spec-cygwin += "perl-module-file-spec-unix" |
100 | RDEPENDS_perl-module-file-spec-epoc += "perl-module-file-spec-unix" | 107 | RDEPENDS_perl-module-file-spec-epoc += "perl-module-file-spec-unix" |
101 | RDEPENDS_perl-module-file-spec-functions += "perl-module-exporter" | 108 | RDEPENDS_perl-module-file-spec-functions += "perl-module-exporter" |
@@ -104,27 +111,29 @@ RDEPENDS_perl-module-file-spec-os2 += "perl-module-file-spec-unix" | |||
104 | RDEPENDS_perl-module-file-spec-vms += "perl-module-file-spec-unix" | 111 | RDEPENDS_perl-module-file-spec-vms += "perl-module-file-spec-unix" |
105 | RDEPENDS_perl-module-file-spec-win32 += "perl-module-file-spec-unix" | 112 | RDEPENDS_perl-module-file-spec-win32 += "perl-module-file-spec-unix" |
106 | RDEPENDS_perl-module-file-temp += "perl-module-symbol" | 113 | RDEPENDS_perl-module-file-temp += "perl-module-symbol" |
107 | RDEPENDS_perl-module-filehandle += "perl-module-io-file" | ||
108 | RDEPENDS_perl-module-filter-util-call += "perl-module-dynaloader" | 114 | RDEPENDS_perl-module-filter-util-call += "perl-module-dynaloader" |
109 | RDEPENDS_perl-module-filter-util-call += "perl-module-exporter" | 115 | RDEPENDS_perl-module-filter-util-call += "perl-module-exporter" |
110 | RDEPENDS_perl-module-findbin += "perl-module-exporter" | 116 | RDEPENDS_perl-module-findbin += "perl-module-exporter" |
117 | RDEPENDS_perl-module-gdbm-file += "perl-module-carp" | ||
118 | RDEPENDS_perl-module-gdbm-file += "perl-module-exporter" | ||
119 | RDEPENDS_perl-module-gdbm-file += "perl-module-tie-hash" | ||
120 | RDEPENDS_perl-module-gdbm-file += "perl-module-xsloader" | ||
111 | RDEPENDS_perl-module-getopt-std += "perl-module-exporter" | 121 | RDEPENDS_perl-module-getopt-std += "perl-module-exporter" |
112 | RDEPENDS_perl-module-hash-util += "perl-module-dynaloader" | ||
113 | RDEPENDS_perl-module-hash-util += "perl-module-exporter" | ||
114 | RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-exporter" | 122 | RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-exporter" |
115 | RDEPENDS_perl-module-i18n-collate += "perl-module-exporter" | 123 | RDEPENDS_perl-module-hash-util += "perl-module-exporter" |
116 | RDEPENDS_perl-module-i18n-langinfo += "perl-module-dynaloader" | 124 | RDEPENDS_perl-module-hash-util += "perl-module-xsloader" |
117 | RDEPENDS_perl-module-i18n-langinfo += "perl-module-exporter" | 125 | RDEPENDS_perl-module-i18n-langinfo += "perl-module-exporter" |
126 | RDEPENDS_perl-module-i18n-langinfo += "perl-module-xsloader" | ||
118 | RDEPENDS_perl-module-i18n-langtags += "perl-module-exporter" | 127 | RDEPENDS_perl-module-i18n-langtags += "perl-module-exporter" |
119 | RDEPENDS_perl-module-inc-latest += "perl-module-inc-latest-private" | 128 | RDEPENDS_perl-module-inc-latest += "perl-module-inc-latest-private" |
120 | RDEPENDS_perl-module-io-compress-base-common += "perl-module-exporter" | 129 | RDEPENDS_perl-module-io-compress-base-common += "perl-module-exporter" |
121 | RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-exporter " | 130 | RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-exporter " |
122 | RDEPENDS_perl-module-io-compress-deflate += "perl-module-exporter " | 131 | RDEPENDS_perl-module-io-compress-deflate += "perl-module-exporter " |
123 | RDEPENDS_perl-module-io-compress-gzip += "perl-module-exporter " | ||
124 | RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-exporter" | 132 | RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-exporter" |
133 | RDEPENDS_perl-module-io-compress-gzip += "perl-module-exporter " | ||
125 | RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-exporter " | 134 | RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-exporter " |
126 | RDEPENDS_perl-module-io-compress-zip += "perl-module-exporter " | ||
127 | RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-exporter" | 135 | RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-exporter" |
136 | RDEPENDS_perl-module-io-compress-zip += "perl-module-exporter " | ||
128 | RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-exporter" | 137 | RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-exporter" |
129 | RDEPENDS_perl-module-io-file += "perl-module-exporter" | 138 | RDEPENDS_perl-module-io-file += "perl-module-exporter" |
130 | RDEPENDS_perl-module-io-handle += "perl-module-exporter" | 139 | RDEPENDS_perl-module-io-handle += "perl-module-exporter" |
@@ -152,6 +161,7 @@ RDEPENDS_perl-module-locale-currency += "perl-module-exporter" | |||
152 | RDEPENDS_perl-module-locale-language += "perl-module-exporter" | 161 | RDEPENDS_perl-module-locale-language += "perl-module-exporter" |
153 | RDEPENDS_perl-module-locale-script += "perl-module-exporter" | 162 | RDEPENDS_perl-module-locale-script += "perl-module-exporter" |
154 | RDEPENDS_perl-module-math-bigfloat += "perl-module-exporter" | 163 | RDEPENDS_perl-module-math-bigfloat += "perl-module-exporter" |
164 | RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-xsloader" | ||
155 | RDEPENDS_perl-module-math-complex += "perl-module-exporter" | 165 | RDEPENDS_perl-module-math-complex += "perl-module-exporter" |
156 | RDEPENDS_perl-module-math-trig += "perl-module-exporter" | 166 | RDEPENDS_perl-module-math-trig += "perl-module-exporter" |
157 | RDEPENDS_perl-module-mime-base64 += "perl-module-exporter" | 167 | RDEPENDS_perl-module-mime-base64 += "perl-module-exporter" |
@@ -168,30 +178,33 @@ RDEPENDS_perl-module-net-ftp-l += "perl-module-net-ftp-i" | |||
168 | RDEPENDS_perl-module-net-ping += "perl-module-exporter" | 178 | RDEPENDS_perl-module-net-ping += "perl-module-exporter" |
169 | RDEPENDS_perl-module-net-time += "perl-module-exporter" | 179 | RDEPENDS_perl-module-net-time += "perl-module-exporter" |
170 | RDEPENDS_perl-module-object-accessor += "perl-module-overload" | 180 | RDEPENDS_perl-module-object-accessor += "perl-module-overload" |
181 | RDEPENDS_perl-module-perlio-encoding += "perl-module-xsloader" | ||
182 | RDEPENDS_perl-module-perlio-scalar += "perl-module-xsloader" | ||
183 | RDEPENDS_perl-module-perlio-via += "perl-module-xsloader" | ||
171 | RDEPENDS_perl-module-pod-escapes += "perl-module-exporter" | 184 | RDEPENDS_perl-module-pod-escapes += "perl-module-exporter" |
172 | RDEPENDS_perl-module-pod-functions += "perl-module-exporter" | 185 | RDEPENDS_perl-module-pod-functions += "perl-module-exporter" |
173 | RDEPENDS_perl-module-pod-html += "perl-module-exporter" | ||
174 | RDEPENDS_perl-module-pod-latex += "perl-module-pod-parseutils" | 186 | RDEPENDS_perl-module-pod-latex += "perl-module-pod-parseutils" |
175 | RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-encode" | 187 | RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-encode" |
176 | RDEPENDS_perl-module-pod-usage += "perl-module-pod-select" | 188 | RDEPENDS_perl-module-pod-usage += "perl-module-pod-select" |
177 | RDEPENDS_perl-module-posix += "perl-module-exporter" | 189 | RDEPENDS_perl-module-posix += "perl-module-exporter" |
190 | RDEPENDS_perl-module-posix += "perl-module-xsloader" | ||
178 | RDEPENDS_perl-module-safe += "perl-module-utf8" | 191 | RDEPENDS_perl-module-safe += "perl-module-utf8" |
179 | RDEPENDS_perl-module-scalar-util += "perl-module-exporter" | 192 | RDEPENDS_perl-module-scalar-util += "perl-module-exporter" |
180 | RDEPENDS_perl-module-scalar-util += "perl-module-list-util" | 193 | RDEPENDS_perl-module-scalar-util += "perl-module-list-util" |
181 | RDEPENDS_perl-module-scalar-util-pp += "perl-module-exporter" | 194 | RDEPENDS_perl-module-scalar-util-pp += "perl-module-exporter" |
182 | RDEPENDS_perl-module-sdbm-file += "perl-module-tie-hash" | 195 | RDEPENDS_perl-module-sdbm-file += "perl-module-tie-hash" |
196 | RDEPENDS_perl-module-sdbm-file += "perl-module-xsloader" | ||
183 | RDEPENDS_perl-module-search-dict += "perl-module-exporter" | 197 | RDEPENDS_perl-module-search-dict += "perl-module-exporter" |
184 | RDEPENDS_perl-module-socket += "perl-module-exporter" | 198 | RDEPENDS_perl-module-socket += "perl-module-exporter" |
185 | RDEPENDS_perl-module-storable += "perl-module-carp" | 199 | RDEPENDS_perl-module-socket += "perl-module-xsloader" |
186 | RDEPENDS_perl-module-storable += "perl-module-dynaloader" | ||
187 | RDEPENDS_perl-module-storable += "perl-module-exporter" | 200 | RDEPENDS_perl-module-storable += "perl-module-exporter" |
201 | RDEPENDS_perl-module-storable += "perl-module-xsloader" | ||
188 | RDEPENDS_perl-module-symbol += "perl-module-exporter" | 202 | RDEPENDS_perl-module-symbol += "perl-module-exporter" |
189 | RDEPENDS_perl-module-sys-hostname += "perl-module-autoloader" | ||
190 | RDEPENDS_perl-module-sys-hostname += "perl-module-exporter" | 203 | RDEPENDS_perl-module-sys-hostname += "perl-module-exporter" |
191 | RDEPENDS_perl-module-term-complete += "perl-module-exporter" | 204 | RDEPENDS_perl-module-term-complete += "perl-module-exporter" |
192 | RDEPENDS_perl-module-test += "perl-module-exporter" | ||
193 | RDEPENDS_perl-module-test-builder-module += "perl-module-exporter" | 205 | RDEPENDS_perl-module-test-builder-module += "perl-module-exporter" |
194 | RDEPENDS_perl-module-test-builder-tester-color += "perl-module-test-builder-tester" | 206 | RDEPENDS_perl-module-test-builder-tester-color += "perl-module-test-builder-tester" |
207 | RDEPENDS_perl-module-test += "perl-module-exporter" | ||
195 | RDEPENDS_perl-module-text-abbrev += "perl-module-exporter" | 208 | RDEPENDS_perl-module-text-abbrev += "perl-module-exporter" |
196 | RDEPENDS_perl-module-text-tabs += "perl-module-exporter" | 209 | RDEPENDS_perl-module-text-tabs += "perl-module-exporter" |
197 | RDEPENDS_perl-module-text-wrap += "perl-module-exporter" | 210 | RDEPENDS_perl-module-text-wrap += "perl-module-exporter" |
@@ -203,6 +216,7 @@ RDEPENDS_perl-module-time-hires += "perl-module-exporter" | |||
203 | RDEPENDS_perl-module-time-local += "perl-module-exporter" | 216 | RDEPENDS_perl-module-time-local += "perl-module-exporter" |
204 | RDEPENDS_perl-module-time-piece += "perl-module-dynaloader" | 217 | RDEPENDS_perl-module-time-piece += "perl-module-dynaloader" |
205 | RDEPENDS_perl-module-time-piece += "perl-module-exporter" | 218 | RDEPENDS_perl-module-time-piece += "perl-module-exporter" |
219 | RDEPENDS_perl-module-unicode-collate += "perl-module-dynaloader" | ||
206 | RDEPENDS_perl-module-unicode-normalize += "perl-module-dynaloader" | 220 | RDEPENDS_perl-module-unicode-normalize += "perl-module-dynaloader" |
207 | RDEPENDS_perl-module-unicode-normalize += "perl-module-exporter" | 221 | RDEPENDS_perl-module-unicode-normalize += "perl-module-exporter" |
208 | RDEPENDS_perl-module-unicode-ucd += "perl-module-exporter" | 222 | RDEPENDS_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) |
8 | DEPENDS = "virtual/db grep-native" | 8 | DEPENDS = "virtual/db grep-native" |
9 | DEPENDS += "gdbm zlib" | 9 | DEPENDS += "gdbm zlib" |
10 | PR = "r5" | 10 | PR = "r0" |
11 | 11 | ||
12 | # 5.10.1 has Module::Build built-in | 12 | # 5.10.1 has Module::Build built-in |
13 | PROVIDES += "libmodule-build-perl" | 13 | PROVIDES += "libmodule-build-perl" |
14 | 14 | ||
15 | # Major part of version | ||
16 | #PVM = "5.13" | ||
17 | |||
18 | SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \ | 15 | SRC_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 | ||
81 | SRC_URI[md5sum] = "29975a69dce54e47fcd6331c085c6c99" | 78 | SRC_URI[md5sum] = "3306fbaf976dcebdcd49b2ac0be00eb9" |
82 | SRC_URI[sha256sum] = "5678bfd5c2cd59253a26171bf3e681235433b00c730eea8a8046e1b225c11d2f" | 79 | SRC_URI[sha256sum] = "6488359573bd7d41761bf935f66f827dc220fb3df961ef9b775d51fbd66548d3" |
83 | 80 | ||
84 | inherit perlnative siteinfo | 81 | inherit 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 \ |