[gentoo-commits] repo/gentoo:master commit in: dev-perl/DBD-mysql/, dev-perl/DBD-mysql/files/
commit: 7a0bdecc24d03a76129348278503ca00d617322a Author: Kent Fredric gentoo org> AuthorDate: Fri Jul 21 21:50:15 2017 + Commit: Kent Fredric gentoo org> CommitDate: Fri Jul 21 21:50:15 2017 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a0bdecc dev-perl/DBD-mysql: -r1 bump for fix for type conversions for amvisd Earlier versions break type conversions that amvisd uses, and though the fix for this landed in 4.42.0, 4.42.0 also introduced a more serious change that breaks existing code, and the entire thing was reverted for 4.43.0 So this is borrowing debians patch for 4.41.0 Package-Manager: Portage-2.3.6, Repoman-2.3.2 dev-perl/DBD-mysql/DBD-mysql-4.41.0-r1.ebuild | 68 ++ .../files/4.041-amvis-type-conversions.patch | 47 +++ 2 files changed, 115 insertions(+) diff --git a/dev-perl/DBD-mysql/DBD-mysql-4.41.0-r1.ebuild b/dev-perl/DBD-mysql/DBD-mysql-4.41.0-r1.ebuild new file mode 100644 index 000..1c899123f57 --- /dev/null +++ b/dev-perl/DBD-mysql/DBD-mysql-4.41.0-r1.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +DIST_AUTHOR=MICHIELB +DIST_VERSION=4.041 +inherit eutils perl-module + +DESCRIPTION="MySQL driver for the Perl5 Database Interface (DBI)" + +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" + +# embedded=on disables ssl support +# https://metacpan.org/source/MICHIELB/DBD-mysql-4.036/dbdimp.c#L1886 +REQUIRED_USE="?? ( embedded ssl )" +IUSE="embedded test +ssl" + +RDEPEND=">=dev-perl/DBI-1.609.0 + virtual/libmysqlclient:= + embedded? ( virtual/mysql[embedded] ) +" +DEPEND="${RDEPEND} + virtual/perl-ExtUtils-MakeMaker + virtual/perl-Data-Dumper + test? ( + dev-perl/Test-Deep + >=virtual/perl-Test-Simple-0.900.0 + virtual/perl-Time-HiRes + ) +" +PATCHES=( + "${FILESDIR}/${DIST_VERSION}-no-dot-inc.patch" + "${FILESDIR}/${DIST_VERSION}-amvis-type-conversions.patch" +) +src_configure() { + if use test; then + myconf="${myconf} --testdb=test \ + --testhost=localhost \ + --testuser=test \ + --testpassword=test" + fi + myconf="${myconf} --$(usex ssl ssl nossl)" + use embedded && myconf="${myconf} --force-embedded --embedded=mysql_config" + perl-module_src_configure +} + +# Parallel testing is broken as 2 tests create the same table +# and mysql isn't acid compliant and can't limit visibility of tables +# to a transaction... +DIST_TEST="do" + +src_test() { + einfo + einfo "If tests fail, you have to configure your MySQL instance to create" + einfo "and grant some privileges to the test user." + einfo "You can run the following commands at the MySQL prompt: " + einfo "> CREATE USER 'test'@'localhost' IDENTIFIED BY 'test';" + einfo "> CREATE DATABASE test;" + einfo "> GRANT ALL PRIVILEGES ON test.* TO 'test'@'localhost';" + einfo + sleep 5 + perl_rm_files t/pod.t t/manifest.t + # Don't be a hero and try to do EXTENDED_TESTING=1 unless you can figure + # out why 60leaks.t fails + perl-module_src_test +} diff --git a/dev-perl/DBD-mysql/files/4.041-amvis-type-conversions.patch b/dev-perl/DBD-mysql/files/4.041-amvis-type-conversions.patch new file mode 100644 index 000..041ba0a496a --- /dev/null +++ b/dev-perl/DBD-mysql/files/4.041-amvis-type-conversions.patch @@ -0,0 +1,47 @@ +From: Pali+Date: Fri, 24 Feb 2017 19:51:36 +0100 +Subject: [PATCH] Fix type conversions + +Calling SvNV() for magical scalar is not enough for float type conversion. +It caused problem for Amavis in tainted mode -- all float values were zero. +On the other hand SvIV() and SvUV() seems to work fine. To be sure that +correct value of float is in scalar use sv_setnv() with explicit NV float +value. Similar code is changed also for integers IV/UV. + +This patch should fix reported Amavis bug: +https://github.com/perl5-dbi/DBD-mysql/issues/78 + +See also reported perl bug about SvNV(): +https://rt.perl.org/Public/Bug/Display.html?id=130801 + +Bugs: https://github.com/perl5-dbi/DBD-mysql/issues/78 +Bugs-Debian: https://bugs.debian.org/856064 + +--- a/dbdimp.c b/dbdimp.c +@@ -4250,8 +4250,7 @@ + switch (mysql_to_perl_type(fields[i].type)) { + case MYSQL_TYPE_DOUBLE: + /* Coerce to dobule and set scalar as NV */ +- (void) SvNV(sv); +- SvNOK_only(sv); ++ sv_setnv(sv, SvNV(sv)); + break; + + case MYSQL_TYPE_LONG: +@@ -4259,13 +4258,11 @@ + /* Coerce to integer and set scalar as UV resp. IV */ + if
[gentoo-commits] repo/gentoo:master commit in: dev-perl/DBD-mysql/, dev-perl/DBD-mysql/files/
commit: 1bc4c8bb8aebffe75e54c261e115080498143cc6 Author: Kent Fredric gentoo org> AuthorDate: Sat Jun 10 17:32:10 2017 + Commit: Kent Fredric gentoo org> CommitDate: Sat Jun 10 18:31:55 2017 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1bc4c8bb dev-perl/DBD-mysql: Fix tests for '.' in @INC re bug #613608 Apply modified patche(s) from upstream to fix dependency on '.' in @INC during tests. Bug: https://bugs.gentoo.org/613608 Package-Manager: Portage-2.3.6, Repoman-2.3.2 dev-perl/DBD-mysql/DBD-mysql-4.41.0.ebuild | 2 +- dev-perl/DBD-mysql/DBD-mysql-4.42.0.ebuild | 2 +- dev-perl/DBD-mysql/files/4.041-no-dot-inc.patch | 103 ++ dev-perl/DBD-mysql/files/4.042-no-dot-inc.patch | 178 4 files changed, 283 insertions(+), 2 deletions(-) diff --git a/dev-perl/DBD-mysql/DBD-mysql-4.41.0.ebuild b/dev-perl/DBD-mysql/DBD-mysql-4.41.0.ebuild index 928fc38218f..25b0b306ccc 100644 --- a/dev-perl/DBD-mysql/DBD-mysql-4.41.0.ebuild +++ b/dev-perl/DBD-mysql/DBD-mysql-4.41.0.ebuild @@ -30,7 +30,7 @@ DEPEND="${RDEPEND} virtual/perl-Time-HiRes ) " - +PATCHES=( "${FILESDIR}/${DIST_VERSION}-no-dot-inc.patch" ) src_configure() { if use test; then myconf="${myconf} --testdb=test \ diff --git a/dev-perl/DBD-mysql/DBD-mysql-4.42.0.ebuild b/dev-perl/DBD-mysql/DBD-mysql-4.42.0.ebuild index 91fa6f7a5e0..2e632cb8f4a 100644 --- a/dev-perl/DBD-mysql/DBD-mysql-4.42.0.ebuild +++ b/dev-perl/DBD-mysql/DBD-mysql-4.42.0.ebuild @@ -31,7 +31,7 @@ DEPEND="${RDEPEND} virtual/perl-Time-HiRes ) " - +PATCHES=( "${FILESDIR}/${DIST_VERSION}-no-dot-inc.patch" ) src_configure() { if use test; then myconf="${myconf} --testdb=test \ diff --git a/dev-perl/DBD-mysql/files/4.041-no-dot-inc.patch b/dev-perl/DBD-mysql/files/4.041-no-dot-inc.patch new file mode 100644 index 000..f26837f548a --- /dev/null +++ b/dev-perl/DBD-mysql/files/4.041-no-dot-inc.patch @@ -0,0 +1,103 @@ +From 497224cad8b6469913c61ee856228bc1d0280980 Mon Sep 17 00:00:00 2001 +From: Pali+Date: Mon, 17 Apr 2017 21:38:58 +0200 +Subject: [PATCH] Fix tests on Perl On 5.25.10 or greater with + -Ddefault_inc_excludes_dot + +Some tests do not include dot in %INC and fails with error: +Can't locate t/lib.pl in @INC + +Fixes: https://rt.cpan.org/Public/Bug/Display.html?id=120709 +--- + t/40server_prepare_crash.t | 3 ++- + t/rt25389-bin-case.t | 3 ++- + t/rt50304-column_info_parentheses.t| 3 ++- + t/rt61849-bind-param-buffer-overflow.t | 3 ++- + t/rt75353-innodb-lock-timeout.t| 3 ++- + t/rt83494-quotes-comments.t| 3 ++- + 11 files changed, 22 insertions(+), 11 deletions(-) + +diff --git a/t/40server_prepare_crash.t b/t/40server_prepare_crash.t +index e3777b9..d04eb9c 100644 +--- a/t/40server_prepare_crash.t b/t/40server_prepare_crash.t +@@ -5,7 +5,8 @@ use Test::More; + use DBI; + + use vars qw($test_dsn $test_user $test_password); +-require "t/lib.pl"; ++use lib 't', '.'; ++require "lib.pl"; + + my $dbh = DbiTestConnect($test_dsn, $test_user, $test_password, { PrintError => 1, RaiseError => 1, AutoCommit => 0, mysql_server_prepare => 1, mysql_server_prepare_disable_fallback => 1 }); + plan skip_all => "You must have MySQL version 4.1.3 and greater for this test to run" if $dbh->{mysql_clientversion} < 40103 or $dbh->{mysql_serverversion} < 40103; +diff --git a/t/rt25389-bin-case.t b/t/rt25389-bin-case.t +index cbda8b7..3aee41b 100644 +--- a/t/rt25389-bin-case.t b/t/rt25389-bin-case.t +@@ -4,7 +4,8 @@ use warnings; + use DBI; + + use vars qw($test_dsn $test_user $test_password); +-require "t/lib.pl"; ++use lib 't', '.'; ++require "lib.pl"; + + use Test::More; + +diff --git a/t/rt50304-column_info_parentheses.t b/t/rt50304-column_info_parentheses.t +index 76f9eff..6c3aac5 100644 +--- a/t/rt50304-column_info_parentheses.t b/t/rt50304-column_info_parentheses.t +@@ -4,7 +4,8 @@ use warnings; + use DBI; + + use vars qw($test_dsn $test_user $test_password $state); +-require "t/lib.pl"; ++use lib 't', '.'; ++require "lib.pl"; + + use Test::More; + +diff --git a/t/rt61849-bind-param-buffer-overflow.t b/t/rt61849-bind-param-buffer-overflow.t +index 82baf2f..a3c75de 100644 +--- a/t/rt61849-bind-param-buffer-overflow.t b/t/rt61849-bind-param-buffer-overflow.t +@@ -5,7 +5,8 @@ use Test::More; + use DBI; + + use vars qw($test_dsn $test_user $test_password); +-require "t/lib.pl"; ++use lib 't', '.'; ++require "lib.pl"; + + my $INSECURE_VALUE_FROM_USER = ""; + +diff --git a/t/rt75353-innodb-lock-timeout.t b/t/rt75353-innodb-lock-timeout.t +index a1f437d..95694db 100644 +--- a/t/rt75353-innodb-lock-timeout.t b/t/rt75353-innodb-lock-timeout.t +@@ -5,7 +5,8 @@ use Test::More; + use DBI; + + use vars qw($test_dsn $test_user $test_password); +-require
[gentoo-commits] repo/gentoo:master commit in: dev-perl/DBD-mysql/, dev-perl/DBD-mysql/files/
commit: f2b6b0f0106efe89395009da132bca115984dfd7 Author: Mikle Kolyada gentoo org> AuthorDate: Sun Sep 27 15:39:41 2015 + Commit: Mikle Kolyada gentoo org> CommitDate: Sun Sep 27 15:39:41 2015 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2b6b0f0 dev-perl/DBD-mysql: Fix compilation with embedded USE flag wrt bug #560314 Package-Manager: portage-2.2.20.1 dev-perl/DBD-mysql/DBD-mysql-4.31.0.ebuild | 4 dev-perl/DBD-mysql/DBD-mysql-4.32.0.ebuild | 4 .../files/DBD-mysql-print_embedded_options.patch | 20 3 files changed, 28 insertions(+) diff --git a/dev-perl/DBD-mysql/DBD-mysql-4.31.0.ebuild b/dev-perl/DBD-mysql/DBD-mysql-4.31.0.ebuild index 339d0c6..d9af44c 100644 --- a/dev-perl/DBD-mysql/DBD-mysql-4.31.0.ebuild +++ b/dev-perl/DBD-mysql/DBD-mysql-4.31.0.ebuild @@ -25,6 +25,10 @@ else SRC_TEST="skip" fi +src_prepare() { + epatch "${FILESDIR}"/${PN}-print_embedded_options.patch +} + src_configure() { if use test; then myconf="${myconf} --testdb=test \ diff --git a/dev-perl/DBD-mysql/DBD-mysql-4.32.0.ebuild b/dev-perl/DBD-mysql/DBD-mysql-4.32.0.ebuild index d6bc3e4..a6c1c39 100644 --- a/dev-perl/DBD-mysql/DBD-mysql-4.32.0.ebuild +++ b/dev-perl/DBD-mysql/DBD-mysql-4.32.0.ebuild @@ -25,6 +25,10 @@ else SRC_TEST="skip" fi +src_prepare() { +epatch "${FILESDIR}"/${PN}-print_embedded_options.patch +} + src_configure() { if use test; then myconf="${myconf} --testdb=test \ diff --git a/dev-perl/DBD-mysql/files/DBD-mysql-print_embedded_options.patch b/dev-perl/DBD-mysql/files/DBD-mysql-print_embedded_options.patch new file mode 100644 index 000..d205b43 --- /dev/null +++ b/dev-perl/DBD-mysql/files/DBD-mysql-print_embedded_options.patch @@ -0,0 +1,20 @@ +diff -ubBr old/dbdimp.c new/dbdimp.c +--- old/dbdimp.c 2015-09-12 17:52:41.328543844 -0400 new/dbdimp.c 2015-09-12 23:21:52.848371578 -0400 +@@ -443,14 +443,14 @@ + Print out embbedded option settings + + */ +-int print_embedded_options(char ** options_list, int options_count) ++int print_embedded_options(PerlIOl ** Log, char ** options_list, int options_count) + { + int i; + + for (i=0; i