summaryrefslogtreecommitdiff
path: root/databases/p5-DBD-Sybase
diff options
context:
space:
mode:
authorsno <sno>2009-07-17 06:46:41 +0000
committersno <sno>2009-07-17 06:46:41 +0000
commit3c1eda95f1144a0c045f5c67b46874fcb527b053 (patch)
tree1267ed29c519723bfaf90aff0e0bffb426f52c13 /databases/p5-DBD-Sybase
parent9836dd0b1e96fa3e86800316a25fb5da70e7f6a6 (diff)
downloadpkgsrc-3c1eda95f1144a0c045f5c67b46874fcb527b053.tar.gz
pkgsrc changes:
- Updating package for p5 module DBD::Sybase from 0.94nb9 to 1.09 - Adjusting build patches - Set license to ${PERL5_LICENSE} Upstream changes: Release 1.09 Behavior change: A new connection level attribute (syb_disconnect_in_child) has been added to allow automatical handling of InactiveDestroy across forks. By default in 1.09 a connection will NOT get closed if the process ID of the process that is exiting is not the same as the PID of the process that created the connection. Detect ASE error 5702 (The server is terminating this process) as a fatal error for the connection. Bug Fixes 645 - Spurious COMMIT calls sent to the dataserver during the login/connect calls. 628 - Increase size of Kerberos Principal string buffer 627 - Spurious sigset_t declaration. Release 1.08 Detect missing libblk.a library, and disable the BLK api calls if necessary. Added code to force dlopen() to use RTLD_GLOBAL. Corrected ct_option() functionality detection. Fixed incorrect handling of bind_params() (Thanks to Tim Bunce). Added serverType DSN parameter. Added tds_keepalive DSN parameter. Fixed incorrect handling of multiple result sets with DBI 1.53 and later. Re-wrote $dbh->ping() in C, it's now four times faster. Allow automated build without prompts. Improved nsql(). Added corrected handling of DATE and TIME values (ASE 12.5.2 and later). Added handling of UNSIGNED INT and BIGINT (ASE 15 and later). Added PERL_NO_GET_CONTEXT #define. Bug Fixes 624 - Empty strings incorrectly passed as NULL. 616 - Spurious error message when the login request times out. 614 - Documentation improvement for syb_xxx methods. 610 - Segfault when using signals with the threaded libraries and perl >= 5.8. Release 1.07 Changed the t/xblk.t test to lookup the charset used by the server and specify this in the connect() string. This should avoid failures when the client and server uses charsets of different sizes (utf8 vs. iso_1, for example). Better error reporting when the connection data is incorrect for the test scripts. Modified $dbh->ping() slightly. Bug Fixes 604 - Add missing mode parameter to mkdir in t/xblob.t 606 - Memory leak in the BLK API. Release 1.06 Fix off-by-one error for ISO date format. Clear error/warning when connecting to a Replication Server. Fix AutoCommit "off" behavior when CHAINED mode is turned off. Fix $dbh->begin_work() behavior. Note: This version fails 4 tests in t/xblk.t when building against the 15.0 Beta OCS libraries. Bug Fixes 582 - ISO date formatting off by one for months. 591 - NUM_OF_PARAMS isn't handled properly 593 - Connection can become unusable due a bug in get_server_version(). 597 - Prepared stored procs with placeholders return corrupted recordset on second fetch. 599 - The call to "prepare" also executes the statement. 600 - $sth->finish sometimes fails to properly clean up the handle. Release 1.05 BEHAVIOR CHANGE - $dbh->{LongReadLen} must now be called before $dbh->prepare(). Previously you could call this after the $dbh->prepare() but before the $sth->execute(). Install private statement handle methods for TEXT/IMAGE handling to avoid $h->func() calls, and update documentation. Implement experimental BLK API via prepare/execute loop. Change default "AutoCommit" off mode from explicit transactions to using the "chained" mode if it is available. Add $sth->syb_describe() call, taken from Sybase::CTlib's ct_describe(). Add ISO8601 date/time format for output. Fix $sth->finish() behavior when syb_flush_finish is turned on. Changed do { } while($sth->{syb_more_results}); idiom to use redo instead. Better/more consistent handling of multiple sth on a single dbh, and new test file. Bugs Fixed: 580 - Binding binary/varbinary values to placeholders sometimes fails. 575 - Fails three tests under Tru-64. 577 - perl Makefile.PL fails if umask is 0. 578 - Better warning for calling $dbh->{LongReadLen} if $dbh is busy. 572 - Minor documentation update for bind_param(). Release 1.04 Bugs Fixed: 566 - $sth->{NAME} fails right after prepare(). Release 1.03 Added linking of threaded Sybase libs if perl is built with threading turned on. Added CLONE() method. Minor changes to dbdimp.c to be thread-safe. Added t/thread.t test script. Changes to Makefile.PL to make configuration easier. Add support for Kerberos-based network login. Handle new library names (libsybct vs. libct). Make sure that cached statement handle attributes (NAME_lc, etc) are cleared when multiple result sets are processed. Add host and port connection properties, to allow connections to ASE servers that are not defined in the interfaces file (requires OCS 12.5.1) Add ability to dynamically increase the maximum number of connections (thanks to Ed Avis). Add ability to ignore stored proc return status in nsql() (thanks to Merijn Broeren) Fix Makefile.PL umask() issue on Win32 (thanks to Darin Delegal). Bugs Fixed: 541 - $sth->{NAME} fails right after prepare(). 551 - Tests fail when using perl 5.6.1. 556 - Add support for user-supplied SSL certificate file. 557 - type_info_all broken with ASE 11.0.x 562 - syb_flush_finish doesn't work during the connect() phase. 563 - Memory leak when syb_binary_images is set. Release 1.02 Added syb_server_version attribute. This is filled in at connect() time with the numeric version number (11.0.3.3, 12.5.1, etc) of the server that you are connected to. Bugs Fixed: 520 - t/exec.t fails on Win32. 533 - logic error in deadlock retry in nsql(). 532 - t/xblob.t test provides false positive for win32. 534 - Placeholder prepare() fails with ASE 11.0.x Release 1.01 Automatically finish() statement handles if they are re-executed before all the rows have been fetched. Added support for new tables() syntax, thanks to Stephen Wilcoxon. Added support for DATE and TIME datatypes (available in the ASE 12.5.1 release, currently undergoing beta testing). Allow user to specify a database to use for the tests instead of using "tempdb" (useful if user does not have SA privileges). Bugs Fixed: 517 - getpwnam() isn't portable. 493 - Second execute on a prepared handle fails. 487 - Add connection information to error messages. 407 - Second+ statement does not use db from "use database". Release 1.00 Added data_sources(). Allow "SQL_BINARY" placeholder parameters to be passed either as a hex string (with or without leading 0x), or as raw binary data. Bugs Fixed: 477 - segfault when servermsg_cb is called with a null connection 480 - Makefile.PL searches system dirs before PERL5LIB dirs when looking for DBI installation. 485 - Incorrect handling of large varbinary columns on fetches. 489 - (same as 497, see below). 492 - Can't compile on Win2k. 494 - Do not try to use the ocs.cfg file if it exists. 495 - Incorrect handling of parameters when using placeholders & stored procs. 497 - implicit type conversions with prepared statements often fail 503 - Binary placeholders with stored procedures. 506 - Default scriptName/hostname connect() params. 508 - DBD::Sybase doesn't build under Win2k. Release 0.95 Support for building DBD::Sybase in 64 bit mode with the 64 bit version of OpenClient on Solaris, HP-UX, AIX, etc. (note that perl itself must also be built in 64 bit mode for this to work!) Added column_info() method. Added G_EVAL flag to syb_err_handler calls. Improved syb_err_handler handling (thanks to Matthew Persico) Fixed memory leak when opening additional connections for multiple statement handles on a single database handle (thanks to Stefan Harbeck) Applied minor patch by Alex Fridman to get to build on WinNT. Force a ct_cancel() if, due to syb_do_proc_status, we force a failure on a request that could have more results pending (Blaise Lepeuple) Added syb_cancel_request_on_error attribute (see bug 471). Warning - the default value for this attribute changes the behavior of $sth->execute() when there is a failure that is detected in multi-statement requests. Added syb_bind_empty_string_as_null attribute (see bug 446) to allow user configurable empty string binding semantics (convert to single space [default] or to NULL). Bugs Fixed: 431 - fetchrow_hashref() has incorrect keys when retrieving multiple result sets. 437 - imp_sth->numRows in st_next_result not always set. 444 - Incorrect example for ct_get_data(). ct_get_data() SEGV if passed a non-reference for $image. 394 - $sth->{CursorName} fails hard. 449 - ct_get_data() limited to 32k 450 - Fix incorrect NULLABLE handling. 452 - Incorrect $sth->finish() handling in syb_flush_finish mode (thanks to Steve Willer). 443 - $sth->fetch produces error if called after $sth->execute on statement that doesn't return any rows. 411 - statement handle attributes do not change between result sets. 430 - $dbh->prepare can return undef without triggering RaiseError. 436 - Problems with make test generating errors creating Makefile.aperl. 441 - amadmin who,sqm fails while in a transaction. 446 - Empty string converts to a space (fixed by making this configurable). 448 - define strncasecmp as strnicmp for Win32 systems. 454 - syb_err_handler won't catch connect-time error. 456 - ping still fails if connection is dead. 461 - Memory leak if NOT using placeholders in selects and calling execute() multiple times. 464 - Binding an empty string for a date field causes "1/1/1900" to be inserted (instead of NULL). 469 - nsql error handling bug. 447 - syb_db_disconnect(): ct_con_drop() failed. 471 - Certain class of errors isn't detected by DBD::Sybase. Documentation changes to explain why ... WHERE (product_code = ? OR (? IS NULL AND product_code IS NULL)) doesn't work with Sybase.
Diffstat (limited to 'databases/p5-DBD-Sybase')
-rw-r--r--databases/p5-DBD-Sybase/Makefile17
-rw-r--r--databases/p5-DBD-Sybase/distinfo11
-rw-r--r--databases/p5-DBD-Sybase/patches/patch-aa32
-rw-r--r--databases/p5-DBD-Sybase/patches/patch-ab43
-rw-r--r--databases/p5-DBD-Sybase/patches/patch-ac30
5 files changed, 48 insertions, 85 deletions
diff --git a/databases/p5-DBD-Sybase/Makefile b/databases/p5-DBD-Sybase/Makefile
index d722eb63409..f076c410a85 100644
--- a/databases/p5-DBD-Sybase/Makefile
+++ b/databases/p5-DBD-Sybase/Makefile
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.28 2008/10/19 19:17:44 he Exp $
+# $NetBSD: Makefile,v 1.29 2009/07/17 06:46:41 sno Exp $
#
-DISTNAME= DBD-Sybase-0.94
+DISTNAME= DBD-Sybase-1.09
PKGNAME= p5-${DISTNAME}
-PKGREVISION= 9
SVR4_PKGNAME= p5dsy
CATEGORIES= databases perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=DBD/}
@@ -11,6 +10,7 @@ MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=DBD/}
MAINTAINER= rh@NetBSD.org
HOMEPAGE= http://www.peppler.org/freeware/dbd-sybase.html
COMMENT= Perl DBI/DBD driver for Sybase/MS-SQL databases
+LICENSE= ${PERL5_LICENSE}
PKG_DESTDIR_SUPPORT= user-destdir
@@ -32,12 +32,21 @@ _SYBASE= ${BUILDLINK_PREFIX.freetds}
PERL5_LDFLAGS+= ${COMPILER_RPATH_FLAG}${_SYBASE}/lib
MAKE_ENV+= SYBASE=${_SYBASE:Q}
+MAKE_PARAMS+= --accept_test_defaults
+MAKE_PARAMS+= --chained Y
.if !defined(USE_SYBASE_OPENCLIENT)
. include "../../databases/freetds/buildlink3.mk"
.endif
+.include "../../lang/perl5/module.mk"
+
+.if !empty(PKG_BUILD_OPTIONS.perl:Mthreads)
+MAKE_PARAMS+= --threaded_libs Y
+.else
+MAKE_PARAMS+= --threaded_libs N
+.endif
+
.include "../../databases/p5-DBI/buildlink3.mk"
.include "../../devel/gettext-lib/buildlink3.mk"
-.include "../../lang/perl5/module.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/databases/p5-DBD-Sybase/distinfo b/databases/p5-DBD-Sybase/distinfo
index be872596882..dfd126568a9 100644
--- a/databases/p5-DBD-Sybase/distinfo
+++ b/databases/p5-DBD-Sybase/distinfo
@@ -1,7 +1,6 @@
-$NetBSD: distinfo,v 1.7 2005/02/23 16:33:07 agc Exp $
+$NetBSD: distinfo,v 1.8 2009/07/17 06:46:41 sno Exp $
-SHA1 (DBD-Sybase-0.94.tar.gz) = e11d85b31751253a0da3ccee5336504b1edc59de
-RMD160 (DBD-Sybase-0.94.tar.gz) = d76291f58331cc8c302881ecac56345635e7d3b9
-Size (DBD-Sybase-0.94.tar.gz) = 98551 bytes
-SHA1 (patch-aa) = 741edae7aaa75cf65ec00bae22692bc12f5e4c9f
-SHA1 (patch-ab) = 942ed3c795d33a2d9dcd4dfb4b784f0a7b8a3a42
+SHA1 (DBD-Sybase-1.09.tar.gz) = 23cad59ab7892732175336087093b1e3c2bda09a
+RMD160 (DBD-Sybase-1.09.tar.gz) = 6328d65c955956aa4c68dedf5d10aaf882ccc949
+Size (DBD-Sybase-1.09.tar.gz) = 194414 bytes
+SHA1 (patch-ac) = 17211c406ce1784da5d637fd0430a960c513704d
diff --git a/databases/p5-DBD-Sybase/patches/patch-aa b/databases/p5-DBD-Sybase/patches/patch-aa
deleted file mode 100644
index 945d4069c36..00000000000
--- a/databases/p5-DBD-Sybase/patches/patch-aa
+++ /dev/null
@@ -1,32 +0,0 @@
-$NetBSD: patch-aa,v 1.2 2002/10/27 19:41:54 seb Exp $
-
---- Makefile.PL.orig Tue Nov 20 21:04:06 2001
-+++ Makefile.PL
-@@ -39,9 +39,6 @@ WriteMakefile('NAME' => 'DBD::Sy
- 'LDDLFLAGS' => $lddlflags,
- 'LDFLAGS' => $ldflags,
- LINKTYPE => $LINKTYPE,
-- ($^O eq 'VMS' ?
-- (MAN3PODS => { 'Sybase.pm' => 'blib/man3/DBD_Sybase.3' }) :
-- (MAN3PODS => { 'Sybase.pm' => 'blib/man3/DBD::Sybase.3' })),
- ($] >= 5.005 ?
- (ABSTRACT => 'DBI driver for Sybase datasources',
- AUTHOR => 'Michael Peppler (mpeppler@peppler.org)') : ()),
-@@ -197,17 +194,6 @@ sub configPwd {
- $pwd{$key} = $val || "undef";
- }
- close(IN);
-- select(STDOUT); $| = 1;
--
-- print "The DBD::Sybase module need access to a Sybase server to run the tests.\n";
-- print "To clear an entry please enter 'undef'\n";
-- print "Sybase server to use (default: $pwd{SRV}): ";
-- $pwd{SRV} = getAns() || $pwd{SRV};
-- print "User ID to log in to Sybase (default: $pwd{UID}): ";
-- $pwd{UID} = getAns() || $pwd{UID};
-- print "Password (default: $pwd{PWD}): ";
-- $pwd{PWD} = getAns() || $pwd{PWD};
--
- open(OUT, ">PWD") || die "Can't open PWD: $!";
- print OUT <<EOF;
- # This file contains optional login id, passwd and server info for the test
diff --git a/databases/p5-DBD-Sybase/patches/patch-ab b/databases/p5-DBD-Sybase/patches/patch-ab
deleted file mode 100644
index 61a87863b63..00000000000
--- a/databases/p5-DBD-Sybase/patches/patch-ab
+++ /dev/null
@@ -1,43 +0,0 @@
-$NetBSD: patch-ab,v 1.1 2004/05/14 18:49:52 wiz Exp $
-
---- dbdimp.c.orig 2001-12-13 02:05:26.000000000 +0100
-+++ dbdimp.c
-@@ -1970,23 +1970,23 @@ static int syb_st_describe_proc(imp_sth,
- PerlIO_printf(DBILOGFP, " describe_proc: %s %s %s\n", db, owner, proc);
-
- if(db && *db) {
-- sprintf(sql, "
--select c.colid, c.name, c.usertype, c.prec, c.scale
-- from %s..sysobjects o, %s..syscolumns c, %s..sysusers u
-- where c.id = o.id
-- and o.name = '%s'
-- and o.type = 'P'
-- and o.uid = u.uid
-- and u.name = '%s'
-+ sprintf(sql, "\
-+select c.colid, c.name, c.usertype, c.prec, c.scale \
-+ from %s..sysobjects o, %s..syscolumns c, %s..sysusers u\
-+ where c.id = o.id \
-+ and o.name = '%s'\
-+ and o.type = 'P'\
-+ and o.uid = u.uid\
-+ and u.name = '%s'\
- ", db, db, db, proc, owner);
- } else {
-- sprintf(sql, "
--select c.colid, c.name, c.usertype, c.prec, c.scale
-- from sysobjects o, syscolumns c
-- where c.id = o.id
-- and o.name = '%s'
-- and o.type = 'P'
-- and o.uid = user_id(u.uid
-+ sprintf(sql, "\
-+select c.colid, c.name, c.usertype, c.prec, c.scale \
-+ from sysobjects o, syscolumns c\
-+ where c.id = o.id \
-+ and o.name = '%s'\
-+ and o.type = 'P'\
-+ and o.uid = user_id(u.uid\
- and u.name = '%s'", proc, owner);
- }
- #endif
diff --git a/databases/p5-DBD-Sybase/patches/patch-ac b/databases/p5-DBD-Sybase/patches/patch-ac
new file mode 100644
index 00000000000..a8c335f88a2
--- /dev/null
+++ b/databases/p5-DBD-Sybase/patches/patch-ac
@@ -0,0 +1,30 @@
+--- dbdimp.c.orig 2009-07-07 14:58:51.000000000 +0000
++++ dbdimp.c 2009-07-07 14:59:26.000000000 +0000
+@@ -774,22 +774,22 @@
+
+ #if defined(CS_VERSION_150)
+ if(cs_ver == CS_VERSION_150)
+- BLK_VERSION = BLK_VERSION_150;
++ BLK_VERSION = CS_VERSION_150;
+ #endif
+ #if defined(CS_VERSION_125)
+ if(cs_ver == CS_VERSION_125)
+- BLK_VERSION = BLK_VERSION_125;
++ BLK_VERSION = CS_VERSION_125;
+ #endif
+ #if defined(CS_VERSION_120)
+ if(cs_ver == CS_VERSION_120)
+- BLK_VERSION = BLK_VERSION_120;
++ BLK_VERSION = CS_VERSION_120;
+ #endif
+ #if defined(CS_VERSION_110)
+ if(cs_ver == CS_VERSION_110)
+- BLK_VERSION = BLK_VERSION_110;
++ BLK_VERSION = CS_VERSION_110;
+ #endif
+ if (cs_ver == CS_VERSION_100)
+- BLK_VERSION = BLK_VERSION_100;
++ BLK_VERSION = CS_VERSION_100;
+
+ #if USE_CSLIB_CB
+ if (cs_config(context, CS_SET, CS_MESSAGE_CB,