Change 34429 by [EMAIL PROTECTED] on 2008/09/26 21:40:27
Integrate:
[ 34399]
Integrate:
[ 34387]
Subject: Fwd: CPAN Upload: S/SA/SAPER/Sys-Syslog-0.27.tar.gz
From: Sébastien Aperghis-Tramoni <[EMAIL PROTECTED]>
Date: Sun, 21 Sep 2008 19:07:47 +0200
Message-Id: <[EMAIL PROTECTED]>
[ 34424]
Integrate:
[ 34388]
Subject: Fwd: CPAN Upload: S/SA/SAPER/XSLoader-0.09.tar.gz
From: Sébastien Aperghis-Tramoni <[EMAIL PROTECTED]>
Date: Sun, 21 Sep 2008 18:31:48 +0200
Message-Id: <[EMAIL PROTECTED]>
[ 34392]
Avoid uninitialized warnings from XSLoader
[ 34402]
Subject: [perl #59208][PATCH 5.8.x] ext/DynaLoader/t/XSLoader.t
assumes dynamic loading
From: Andy Dougherty <[EMAIL PROTECTED]>
Date: Mon, 22 Sep 2008 13:36:57 -0400 (EDT)
Message-ID: <[EMAIL PROTECTED]>
[ 34404]
Fix tests for the case of -Du_usedl
[ 34422]
Upgrade to XSLoader 0.10.
Affected files ...
... //depot/maint-5.8/perl/ext/DynaLoader/XSLoader_pm.PL#9 integrate
... //depot/maint-5.8/perl/ext/DynaLoader/t/DynaLoader.t#5 integrate
... //depot/maint-5.8/perl/ext/DynaLoader/t/XSLoader.t#7 integrate
... //depot/maint-5.8/perl/ext/Sys/Syslog/Changes#6 integrate
... //depot/maint-5.8/perl/ext/Sys/Syslog/Makefile.PL#8 integrate
... //depot/maint-5.8/perl/ext/Sys/Syslog/Syslog.pm#21 integrate
... //depot/maint-5.8/perl/ext/Sys/Syslog/Syslog.xs#5 integrate
Differences ...
==== //depot/maint-5.8/perl/ext/DynaLoader/XSLoader_pm.PL#9 (text) ====
Index: perl/ext/DynaLoader/XSLoader_pm.PL
--- perl/ext/DynaLoader/XSLoader_pm.PL#8~31145~ 2007-05-04 14:08:19.000000000
-0700
+++ perl/ext/DynaLoader/XSLoader_pm.PL 2008-09-26 14:40:27.000000000 -0700
@@ -15,7 +15,7 @@
package XSLoader;
-$VERSION = "0.08";
+$VERSION = "0.10";
#use strict;
@@ -44,8 +44,8 @@
my($module) = $_[0];
# work with static linking too
- my $b = "$module\::bootstrap";
- goto &$b if defined &$b;
+ my $boots = "$module\::bootstrap";
+ goto &$boots if defined &$boots;
goto retry unless $module and defined &dl_load_file;
@@ -81,6 +81,12 @@
my $bs = $file;
$bs =~ s/(\.\w+)?(;\d*)?$/\.bs/; # look for .bs 'beside' the library
+ if (-s $bs) { # only read file if it's not empty
+# print STDERR "BS: $bs ($^O, $dlsrc)\n" if $dl_debug;
+ eval { do $bs; };
+ warn "$bs: [EMAIL PROTECTED]" if $@;
+ }
+
goto retry if not -f $file or -s $bs;
my $bootname = "boot_$module";
@@ -127,7 +133,7 @@
push(@DynaLoader::dl_modules, $module); # record loaded module
boot:
- my $xs = dl_install_xsub("${module}::bootstrap", $boot_symbol_ref, $file);
+ my $xs = dl_install_xsub($boots, $boot_symbol_ref, $file);
# See comment block above
push(@DynaLoader::dl_shared_objects, $file); # record files loaded
@@ -162,7 +168,7 @@
=head1 VERSION
-Version 0.08
+Version 0.10
=head1 SYNOPSIS
@@ -388,7 +394,9 @@
Previous maintainer was Michael G Schwern <[EMAIL PROTECTED]>.
-=head1 COPYRIGHT
+=head1 COPYRIGHT & LICENSE
+
+Copyright (C) 1990-2007 by Larry Wall and others.
This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
==== //depot/maint-5.8/perl/ext/DynaLoader/t/DynaLoader.t#5 (text) ====
Index: perl/ext/DynaLoader/t/DynaLoader.t
--- perl/ext/DynaLoader/t/DynaLoader.t#4~32424~ 2007-11-20 08:06:10.000000000
-0800
+++ perl/ext/DynaLoader/t/DynaLoader.t 2008-09-26 14:40:27.000000000 -0700
@@ -42,15 +42,23 @@
# Check functions
can_ok( 'DynaLoader' => 'bootstrap' ); # defined in Perl section
-can_ok( 'DynaLoader' => 'dl_error' ); # defined in XS section
-can_ok( 'DynaLoader' => 'dl_find_symbol' ); # defined in XS section
-can_ok( 'DynaLoader' => 'dl_install_xsub' ); # defined in XS section
-can_ok( 'DynaLoader' => 'dl_load_file' ); # defined in XS section
can_ok( 'DynaLoader' => 'dl_load_flags' ); # defined in Perl section
-can_ok( 'DynaLoader' => 'dl_undef_symbols' ); # defined in XS section
-SKIP: {
- skip "unloading unsupported on $^O", 1 if ($^O eq 'VMS' || $^O eq
'darwin');
- can_ok( 'DynaLoader' => 'dl_unload_file' ); # defined in XS
section
+can_ok( 'DynaLoader' => 'dl_error' ); # defined in XS section
+if ($Config{usedl}) {
+ can_ok( 'DynaLoader' => 'dl_find_symbol' ); # defined in XS section
+ can_ok( 'DynaLoader' => 'dl_install_xsub' ); # defined in XS section
+ can_ok( 'DynaLoader' => 'dl_load_file' ); # defined in XS section
+ can_ok( 'DynaLoader' => 'dl_undef_symbols' ); # defined in XS section
+ SKIP: {
+ skip "unloading unsupported on $^O", 1 if ($^O eq 'VMS' || $^O eq
'darwin');
+ can_ok( 'DynaLoader' => 'dl_unload_file' ); # defined in XS section
+ }
+} else {
+ foreach my $symbol (qw(dl_find_symbol dl_install_sub dl_load_file
+ dl_undef_symbols dl_unload_file)) {
+ is(DynaLoader->can($symbol), undef,
+ "Without dynamic loading, DynaLoader should not have $symbol");
+ }
}
TODO: {
@@ -68,16 +76,24 @@
"calling DynaLoader::bootstrap() with no argument" );
eval { package egg_bacon_sausage_and_spam;
DynaLoader::bootstrap("egg_bacon_sausage_and_spam") };
-like( $@, q{/^Can't locate loadable object for module
egg_bacon_sausage_and_spam/},
+if ($Config{usedl}) {
+ like( $@, q{/^Can't locate loadable object for module
egg_bacon_sausage_and_spam/},
+ "calling DynaLoader::bootstrap() with a package without binary object"
);
+} else {
+ like( $@, q{/^Can't load module egg_bacon_sausage_and_spam/},
"calling DynaLoader::bootstrap() with a package without binary object"
);
+}
# .. for dl_load_file()
-eval { DynaLoader::dl_load_file() };
-like( $@, q{/^Usage: DynaLoader::dl_load_file\(filename, flags=0\)/},
- "calling DynaLoader::dl_load_file() with no argument" );
+SKIP: {
+ skip "no dl_load_file with dl_none.xs", 2 unless $Config{usedl};
+ eval { DynaLoader::dl_load_file() };
+ like( $@, q{/^Usage: DynaLoader::dl_load_file\(filename, flags=0\)/},
+ "calling DynaLoader::dl_load_file() with no argument" );
-eval { no warnings 'uninitialized'; DynaLoader::dl_load_file(undef) };
-is( $@, '', "calling DynaLoader::dl_load_file() with undefined argument" );
# is this expected ?
+ eval { no warnings 'uninitialized'; DynaLoader::dl_load_file(undef) };
+ is( $@, '', "calling DynaLoader::dl_load_file() with undefined argument"
); # is this expected ?
+}
my ($dlhandle, $dlerr);
eval { $dlhandle = DynaLoader::dl_load_file("egg_bacon_sausage_and_spam") };
==== //depot/maint-5.8/perl/ext/DynaLoader/t/XSLoader.t#7 (text) ====
Index: perl/ext/DynaLoader/t/XSLoader.t
--- perl/ext/DynaLoader/t/XSLoader.t#6~31145~ 2007-05-04 14:08:19.000000000
-0700
+++ perl/ext/DynaLoader/t/XSLoader.t 2008-09-26 14:40:27.000000000 -0700
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -T
+#!perl -T
BEGIN {
if( $ENV{PERL_CORE} ) {
@@ -37,7 +37,7 @@
'Time::HiRes'=> q| ::can_ok( 'Time::HiRes' => 'usleep' ) |, # 5.7.3
);
-plan tests => keys(%modules) * 3 + 5;
+plan tests => keys(%modules) * 4 + 5;
# Try to load the module
use_ok( 'XSLoader' );
@@ -52,20 +52,31 @@
"calling XSLoader::load() with no argument" );
eval q{ package Thwack; XSLoader::load('Thwack'); };
-like( $@, q{/^Can't locate loadable object for module Thwack in @INC/},
+if ($Config{usedl}) {
+ like( $@, q{/^Can't locate loadable object for module Thwack in @INC/},
"calling XSLoader::load() under a package with no XS part" );
+}
+else {
+ like( $@, q{/^Can't load module Thwack, dynamic loading not available in
this perl./},
+ "calling XSLoader::load() under a package with no XS part" );
+}
# Now try to load well known XS modules
my $extensions = $Config{'extensions'};
$extensions =~ s|/|::|g;
for my $module (sort keys %modules) {
+ my $warnings = "";
+ local $SIG{__WARN__} = sub { $warnings = $_[0] };
+
SKIP: {
- skip "$module not available", 3 if $extensions !~ /\b$module\b/;
+ skip "$module not available", 4 if $extensions !~ /\b$module\b/;
eval qq{ package $module; XSLoader::load('$module', "qunckkk"); };
like( $@, "/^$module object version \\S+ does not match bootstrap
parameter (?:qunckkk|0\\.000)/",
"calling XSLoader::load() with a XS module and an incorrect
version" );
+ like( $warnings, "/^\$|^Version string 'qunckkk' contains invalid
data; ignoring: 'qunckkk'/",
+ "in Perl 5.10, DynaLoader warns about the incorrect version
string" );
eval qq{ package $module; XSLoader::load('$module'); };
is( $@, '', "XSLoader::load($module)");
==== //depot/maint-5.8/perl/ext/Sys/Syslog/Changes#6 (text) ====
Index: perl/ext/Sys/Syslog/Changes
--- perl/ext/Sys/Syslog/Changes#5~34280~ 2008-09-05 13:20:35.000000000
-0700
+++ perl/ext/Sys/Syslog/Changes 2008-09-26 14:40:27.000000000 -0700
@@ -1,5 +1,10 @@
Revision history for Sys-Syslog
+0.27 -- 2008.09.21 -- Sebastien Aperghis-Tramoni (SAPER)
+ [BUGFIX] Fixed compilation on Win32, thanks to Serguei Trouchelle.
+ Also added stubs so calling the XS functions will never fail.
+ [TESTS] t/pod.t now also uses Pod::Checker.
+
0.26 -- 2008.06.16 -- Sebastien Aperghis-Tramoni (SAPER)
[BUGFIX] Make Sys::Syslog works with Perl 5.10.0 (because of
ExtUtils::Constant::ProxySubs).
==== //depot/maint-5.8/perl/ext/Sys/Syslog/Makefile.PL#8 (text) ====
Index: perl/ext/Sys/Syslog/Makefile.PL
--- perl/ext/Sys/Syslog/Makefile.PL#7~34280~ 2008-09-05 13:20:35.000000000
-0700
+++ perl/ext/Sys/Syslog/Makefile.PL 2008-09-26 14:40:27.000000000 -0700
@@ -74,7 +74,7 @@
}
# on pre-5.6 Perls, add warnings::compat to the prereq modules
-push @extra_prereqs, "warnings::compat" if $] < 5.006;
+push @extra_prereqs, "warnings::compat" => "0.06" if $] < 5.006;
WriteMakefile(
NAME => 'Sys::Syslog',
@@ -104,7 +104,6 @@
clean => { FILES => 'Sys-Syslog-*' },
realclean => { FILES => 'lib const-c.inc const-xs.inc macros.all '
.'PerlLog.h typemap *.bak *.bin *.rc win32/PerlLog_dll' },
- NO_META => 1,
@extra_params
);
==== //depot/maint-5.8/perl/ext/Sys/Syslog/Syslog.pm#21 (text) ====
Index: perl/ext/Sys/Syslog/Syslog.pm
--- perl/ext/Sys/Syslog/Syslog.pm#20~34280~ 2008-09-05 13:20:35.000000000
-0700
+++ perl/ext/Sys/Syslog/Syslog.pm 2008-09-26 14:40:27.000000000 -0700
@@ -11,7 +11,7 @@
require 5.005;
{ no strict 'vars';
- $VERSION = '0.26';
+ $VERSION = '0.27';
@ISA = qw(Exporter);
%EXPORT_TAGS = (
@@ -829,7 +829,7 @@
=head1 VERSION
-Version 0.26
+Version 0.27
=head1 SYNOPSIS
==== //depot/maint-5.8/perl/ext/Sys/Syslog/Syslog.xs#5 (text) ====
Index: perl/ext/Sys/Syslog/Syslog.xs
--- perl/ext/Sys/Syslog/Syslog.xs#4~34280~ 2008-09-05 13:20:35.000000000
-0700
+++ perl/ext/Sys/Syslog/Syslog.xs 2008-09-26 14:40:27.000000000 -0700
@@ -1,3 +1,7 @@
+#if defined(_WIN32)
+# include <windows.h>
+#endif
+
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
@@ -137,4 +141,31 @@
if (SvREFCNT(ident_svptr))
SvREFCNT_dec(ident_svptr);
+#else /* HAVE_SYSLOG */
+
+void
+openlog_xs(ident, option, facility)
+ INPUT:
+ SV* ident
+ int option
+ int facility
+ CODE:
+
+void
+syslog_xs(priority, message)
+ INPUT:
+ int priority
+ const char * message
+ CODE:
+
+int
+setlogmask_xs(mask)
+ INPUT:
+ int mask
+ CODE:
+
+void
+closelog_xs()
+ CODE:
+
#endif /* HAVE_SYSLOG */
End of Patch.