Accepting request 40922 from home:azouhr:branches:devel:languages:perl
Copy from home:azouhr:branches:devel:languages:perl/perl via accept of submit request 40922 revision 4. Request was accepted with message: Reviewed ok OBS-URL: https://build.opensuse.org/request/show/40922 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl?expand=0&rev=36
This commit is contained in:
parent
91396265af
commit
eb0e002cf5
48
perl-Fatal.diff
Normal file
48
perl-Fatal.diff
Normal file
@ -0,0 +1,48 @@
|
||||
diff --git a/cpan/autodie/lib/Fatal.pm b/cpan/autodie/lib/Fatal.pm
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
index 18e71ed..c17a257
|
||||
--- cpan/autodie/lib/Fatal.pm
|
||||
+++ 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;
|
||||
}
|
||||
|
37
perl-autodie-flock.diff
Normal file
37
perl-autodie-flock.diff
Normal file
@ -0,0 +1,37 @@
|
||||
diff --git a/cpan/autodie/t/flock.t b/cpan/autodie/t/flock.t
|
||||
index a7550ba..6421a56 100755
|
||||
--- cpan/autodie/t/flock.t
|
||||
+++ 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");
|
||||
|
@ -1,3 +1,8 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon May 24 07:49:24 UTC 2010 - bg@novell.com
|
||||
|
||||
- fix for hppa [deb#543731]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 21 12:30:00 CEST 2010 - mls@suse.de
|
||||
|
||||
|
@ -38,6 +38,8 @@ Patch2: perl-fix_dbmclose_call.patch
|
||||
Patch3: perl-regexp-refoverflow.diff
|
||||
Patch4: perl-nroff.diff
|
||||
Patch5: perl-netcmdutf8.diff
|
||||
Patch6: perl-autodie-flock.diff
|
||||
Patch7: perl-Fatal.diff
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
PreReq: perl-base = %version
|
||||
#PreReq: %fillup_prereq
|
||||
@ -148,6 +150,10 @@ cp -p %{S:3} .
|
||||
%patch3
|
||||
%patch4
|
||||
%patch5
|
||||
%ifarch hppa
|
||||
%patch6
|
||||
%patch7
|
||||
%endif
|
||||
|
||||
%build
|
||||
cp -a lib savelib
|
||||
|
Loading…
Reference in New Issue
Block a user