[svn:dbd-oracle] r14930 - in dbd-oracle/trunk: . t
[email protected] Wed, 7 Sep 2011 08:04:24 -0700 (PDT)
| Newsgroups | perl.dbd.oracle.changes |
|---|---|
| Message-ID | <[email protected]> |
Author: yanick
Date: Wed Sep 7 08:04:22 2011
New Revision: 14930
Modified:
dbd-oracle/trunk/Changes
dbd-oracle/trunk/Makefile.PL
dbd-oracle/trunk/t/10general.t
Log:
Merge of master@github
* check LD_LIBRARY_PATH_32|64 for solaris
* reverse condition
Modified: dbd-oracle/trunk/Changes
==============================================================================
--- dbd-oracle/trunk/Changes (original)
+++ dbd-oracle/trunk/Changes Wed Sep 7 08:04:22 2011
@@ -7,7 +7,10 @@
[BUG FIXES]
- support development release versions in GetInfo (Martin J. Evans)
- don't gag diag() on the tests by default
- - convert a symbolically linked ORACLE_HOME to an absolute path (patch by H.Merijn Brand, applied by Martin J. Evans) [rt70785]
+ - SKIP condition in 10general.t was reversed (reported by Alois) [RT#46761]
+ - Check for LD_LIBRARY_PATH_(32|64) as well for solaris [RT#46761]
+ - convert a symbolically linked ORACLE_HOME to an absolute path
+ (patch by H.Merijn Brand, applied by Martin J. Evans) [rt70785]
Changes in DBD-Oracle 1.30
[DOCUMENTATION]
Modified: dbd-oracle/trunk/Makefile.PL
==============================================================================
--- dbd-oracle/trunk/Makefile.PL (original)
+++ dbd-oracle/trunk/Makefile.PL Wed Sep 7 08:04:22 2011
@@ -1926,8 +1926,10 @@
sub ldlibpth_info {
- my ($verbose) = @_;
+ my $verbose = shift;
+
my ($ldlibpthname, $val);
+
if ($^O eq "hpux") { # hpux is odd again: can use two env vars
my @envs = grep { $ENV{$_} } qw( LD_LIBRARY_PATH SHLIB_PATH );
$ldlibpthname = join "/", @envs;
@@ -1935,23 +1937,42 @@
}
else {
$ldlibpthname = $Config{ldlibpthname} or return;
- $val = $ENV{$ldlibpthname} || '';
+ $val = $ENV{$ldlibpthname} || '';
}
+
print "Your $ldlibpthname env var is set to '$val'\n" if $verbose;
- my @dirs = split /\Q$Config{path_sep}/o, $val, -1;
- return ($ldlibpthname, $val, @dirs);
+
+ return ( $ldlibpthname, $val, split /\Q$Config{path_sep}/, $val );
}
sub check_ldlibpthname {
- my ($libdir) = @_;
- $libdir ||= "$OH/".ora_libdir();
- $libdir =~ s:[\\/]$::;
+ my $libdir = shift || join '/', $OH, ora_libdir();
+
+ $libdir =~ s:[\\/]$::; # cut final / or \
+
my ($ldlibpthname, $val, @dirs) = ldlibpth_info(1);
+
+ my $warn_name = $ldlibpthname;
+
return 1 if grep { s:[\\/]$::; $_ eq $libdir } @dirs;
- warn "WARNING: Your $ldlibpthname env var doesn't include '$libdir' but probably needs to.$BELL\n";
- sleep 5;
- return;
+
+ # on solaris, it can be under LD_LIBRARY_PATH_(32|64)
+ if ( $^O eq 'solaris' ) {
+ my $ld_library_path_name = 'LD_LIBRARY_PATH_'
+ . ( perl_is_64bit() ? '64' : '32' );
+
+ $warn_name .= " or $ld_library_path_name";
+
+ my @dirs = split quotemeta($Config{path_sep}),
+ $ENV{$ld_library_path_name};
+
+ s#[\\/]$## for @dirs; # cut potential final / or \
+
+ return if grep { $_ eq $libdir } @dirs;
+ }
+
+ warn "WARNING: Your $warn_name env var doesn't include '$libdir' but probably needs to.\n";
}
Modified: dbd-oracle/trunk/t/10general.t
==============================================================================
--- dbd-oracle/trunk/t/10general.t (original)
+++ dbd-oracle/trunk/t/10general.t Wed Sep 7 08:04:22 2011
@@ -1,4 +1,5 @@
-#!perl -w
+use strict;
+use warnings;
use Test::More;
@@ -7,7 +8,6 @@
use Config;
use DBD::Oracle qw(ORA_OCI);
-
unshift @INC ,'t';
require 'nchar_test_lib.pl';
@@ -32,7 +32,10 @@
my($sth, $p1, $p2, $tmp);
SKIP: {
skip "not unix-like", 2 unless $Config{d_semctl};
- skip "solaris with OCI>9.x", 2 unless ($^O eq "solaris") and (scalar(ORA_OCI) ge 10);
+
+ my @ora_oci_version = split /\./, ORA_OCI();
+ skip 'solaris with OCI>9.x', 2
+ if $^O eq 'solaris' and $ora_oci_version[0] > 9;
# basic check that we can fork subprocesses and wait for the status
# after having connected to Oracle
@@ -111,5 +114,3 @@
ok((scalar @ora_oci == grep { DBI::looks_like_number($_) } @ora_oci),
'version looks like numbers');
is($ora_oci[0], int($ora_oci), 'first number is int');
-
-exit 0;