mirror of
https://git.yoctoproject.org/poky
synced 2026-09-13 00:49:33 +02:00
Deleted these patches as they are part of the upstream code now.
deleted: files/perl-5.8.8-gcc-4.2.patch
deleted: perl-5.12.2/makedepend-dash.patch
deleted: perl-5.12.2/native-no-gdbminc.patch
deleted: perl-5.12.2/54_debian_perldoc-r.patch
And rebased these patches to the newer source code
modified: files/letgcc-find-errno.patch
modified: perl-5.12.2/Makefile.patch
modified: perl-5.12.2/asm-pageh-fix.patch
modified: perl-5.12.2/native-nopacklist.patch
modified: perl-5.12.2/native-perlinc.patch
modified: perl-5.12.2/Makefile.SH.patch
modified: perl-5.12.2/installperl.patch
modified: perl-5.12.2/perl-dynloader.patch
modified: perl-5.12.2/09_fix_installperl.patch
get patches from debian perl ver 5.12.2-2
the fakeroot.diff patch from debian is conflicting with our
Makefile.SH.patch, hence disabling the fakeroot patch
use newly created config files
Created with current milestone branch on qemu machines
modified: config.sh
modified: config.sh-32
modified: config.sh-64
get some changes from oe's perl 5.10.1 recipe
fix the Makefile.SH.patch use miniperl instead of perl
import a OE 5.10.1 patch: uudmap_cross
fix install issues
add /usr in the destdir, so that perl gets installed in
/usr/bin/perl and not in /bin/perl
link /usr/lib/perl to /usr/lib/perl5 so that operations with
/usr/lib/perl path in them keep on working.
Fix/Improve perl packaging
avoid perl-module-module-* kind of packages
recreate perl-rdepends_5.12.2.inc file with new set of packages
import from oe perl-rprovide_5.12.2.inc
combine all unicore perl scripts in one package
simplify perl-lib
reduce no of perl recipe packages greatly.
Add zlib to depedancy
fix buildtime host contamination
This also fixes [BUGID #384]
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
99 lines
3.2 KiB
Diff
99 lines
3.2 KiB
Diff
From: Niko Tyni <ntyni@debian.org>
|
|
Subject: Allow for flock returning EAGAIN instead of EWOULDBLOCK on linux/parisc
|
|
Bug-Debian: http://bugs.debian.org/543731
|
|
Origin: upstream, http://github.com/pfenwick/autodie/commit/037738e11a6097734b0e1dabdd77b92e5fe35219
|
|
|
|
|
|
---
|
|
cpan/autodie/lib/Fatal.pm | 14 +++++++++++++-
|
|
cpan/autodie/t/flock.t | 12 ++++++++++--
|
|
2 files changed, 23 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/cpan/autodie/lib/Fatal.pm b/cpan/autodie/lib/Fatal.pm
|
|
old mode 100644
|
|
new mode 100755
|
|
index 18e71ed..c17a257
|
|
--- a/cpan/autodie/lib/Fatal.pm
|
|
+++ b/cpan/autodie/lib/Fatal.pm
|
|
@@ -5,6 +5,7 @@ use Carp;
|
|
use strict;
|
|
use warnings;
|
|
use Tie::RefHash; # To cache subroutine refs
|
|
+use Config;
|
|
|
|
use constant PERL510 => ( $] >= 5.010 );
|
|
|
|
@@ -52,6 +53,10 @@ our %_EWOULDBLOCK = (
|
|
MSWin32 => 33,
|
|
);
|
|
|
|
+# the linux parisc port has separate EAGAIN and EWOULDBLOCK,
|
|
+# and the kernel returns EAGAIN
|
|
+my $try_EAGAIN = ($^O eq 'linux' and $Config{archname} =~ /hppa|parisc/) ? 1 : 0;
|
|
+
|
|
# We have some tags that can be passed in for use with import.
|
|
# These are all assumed to be CORE::
|
|
|
|
@@ -720,6 +725,11 @@ sub _one_invocation {
|
|
my $EWOULDBLOCK = eval { POSIX::EWOULDBLOCK(); }
|
|
|| $_EWOULDBLOCK{$^O}
|
|
|| _autocroak("Internal error - can't overload flock - EWOULDBLOCK not defined on this system.");
|
|
+ my $EAGAIN = $EWOULDBLOCK;
|
|
+ if ($try_EAGAIN) {
|
|
+ $EAGAIN = eval { POSIX::EAGAIN(); }
|
|
+ || _autocroak("Internal error - can't overload flock - EAGAIN not defined on this system.");
|
|
+ }
|
|
|
|
require Fcntl; # For Fcntl::LOCK_NB
|
|
|
|
@@ -735,7 +745,9 @@ sub _one_invocation {
|
|
# If we failed, but we're using LOCK_NB and
|
|
# returned EWOULDBLOCK, it's not a real error.
|
|
|
|
- if (\$_[1] & Fcntl::LOCK_NB() and \$! == $EWOULDBLOCK ) {
|
|
+ if (\$_[1] & Fcntl::LOCK_NB() and
|
|
+ (\$! == $EWOULDBLOCK or
|
|
+ ($try_EAGAIN and \$! == $EAGAIN ))) {
|
|
return \$retval;
|
|
}
|
|
|
|
diff --git a/cpan/autodie/t/flock.t b/cpan/autodie/t/flock.t
|
|
index a7550ba..6421a56 100755
|
|
--- a/cpan/autodie/t/flock.t
|
|
+++ b/cpan/autodie/t/flock.t
|
|
@@ -2,7 +2,8 @@
|
|
use strict;
|
|
use Test::More;
|
|
use Fcntl qw(:flock);
|
|
-use POSIX qw(EWOULDBLOCK);
|
|
+use POSIX qw(EWOULDBLOCK EAGAIN);
|
|
+use Config;
|
|
|
|
require Fatal;
|
|
|
|
@@ -10,6 +11,9 @@ my $EWOULDBLOCK = eval { EWOULDBLOCK() }
|
|
|| $Fatal::_EWOULDBLOCK{$^O}
|
|
|| plan skip_all => "EWOULDBLOCK not defined on this system";
|
|
|
|
+my $try_EAGAIN = ($^O eq 'linux' and $Config{archname} =~ /hppa|parisc/) ? 1 : 0;
|
|
+my $EAGAIN = eval { EAGAIN() };
|
|
+
|
|
my ($self_fh, $self_fh2);
|
|
|
|
eval {
|
|
@@ -55,7 +59,11 @@ eval {
|
|
$return = flock($self_fh2, LOCK_EX | LOCK_NB);
|
|
};
|
|
|
|
-is($!+0, $EWOULDBLOCK, "Double-flocking should be EWOULDBLOCK");
|
|
+if (!$try_EAGAIN) {
|
|
+ is($!+0, $EWOULDBLOCK, "Double-flocking should be EWOULDBLOCK");
|
|
+} else {
|
|
+ ok($!+0 == $EWOULDBLOCK || $!+0 == $EAGAIN, "Double-flocking should be EWOULDBLOCK or EAGAIN");
|
|
+}
|
|
ok(!$return, "flocking a file twice should fail");
|
|
is($@, "", "Non-blocking flock should not fail on EWOULDBLOCK");
|
|
|
|
--
|
|
tg: (c823880..) fixes/autodie-flock (depends on: upstream)
|