diff options
author | Michael Hanselmann <hansmi@gentoo.org> | 2006-11-28 20:50:38 +0000 |
---|---|---|
committer | Michael Hanselmann <hansmi@gentoo.org> | 2006-11-28 20:50:38 +0000 |
commit | 4e5fd91d7ce332a87ecac294ff8f6f345ccdfc06 (patch) | |
tree | a6874757dc654d1081f9d01271ae16016a0b2d17 /dev-db/mysql++ | |
parent | stable x86, security bug #154650 (diff) | |
download | historical-4e5fd91d7ce332a87ecac294ff8f6f345ccdfc06.tar.gz historical-4e5fd91d7ce332a87ecac294ff8f6f345ccdfc06.tar.bz2 historical-4e5fd91d7ce332a87ecac294ff8f6f345ccdfc06.zip |
My first patch broke the ABI, which is bad. Fix it.
Package-Manager: portage-2.1.2_rc2-r2
Diffstat (limited to 'dev-db/mysql++')
-rw-r--r-- | dev-db/mysql++/ChangeLog | 13 | ||||
-rw-r--r-- | dev-db/mysql++/files/digest-mysql++-2.1.1-r2 | 3 | ||||
-rw-r--r-- | dev-db/mysql++/files/mysql++-signed-char-fix-try2.diff | 51 | ||||
-rw-r--r-- | dev-db/mysql++/mysql++-2.1.1-r2.ebuild | 53 |
4 files changed, 119 insertions, 1 deletions
diff --git a/dev-db/mysql++/ChangeLog b/dev-db/mysql++/ChangeLog index a6cac2c26c4b..54a46a824f5f 100644 --- a/dev-db/mysql++/ChangeLog +++ b/dev-db/mysql++/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for dev-db/mysql++ # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql++/ChangeLog,v 1.37 2006/11/23 14:44:19 vivo Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql++/ChangeLog,v 1.38 2006/11/28 20:50:37 hansmi Exp $ + + 28 Nov 2006; Michael Hanselmann <hansmi@gentoo.org> + -files/mysql++-signed-char-fix.diff, + +files/mysql++-signed-char-fix-try2.diff, -mysql++-2.1.1-r1.ebuild, + +mysql++-2.1.1-r2.ebuild: + My first patch broke the ABI, which is bad. Fix it. + +*mysql++-2.1.1-r2 (28 Nov 2006) + + 28 Nov 2006; <> mysql++-2.1.1-r2.ebuild files/digest-mysql++-2.1.1-r2 + # INSERT ENTRY HERE 23 Nov 2006; Francesco Riosa <vivo@gentoo.org> mysql++-1.7.26.ebuild, mysql++-1.7.34.ebuild, mysql++-2.0.4.ebuild, mysql++-2.1.1.ebuild, diff --git a/dev-db/mysql++/files/digest-mysql++-2.1.1-r2 b/dev-db/mysql++/files/digest-mysql++-2.1.1-r2 new file mode 100644 index 000000000000..5fc16a885b3d --- /dev/null +++ b/dev-db/mysql++/files/digest-mysql++-2.1.1-r2 @@ -0,0 +1,3 @@ +MD5 3a42b3422b37c65f88be9162a969d164 mysql++-2.1.1.tar.gz 1855521 +RMD160 bfeeade2be22e761c494e26f46059df2fbc858ac mysql++-2.1.1.tar.gz 1855521 +SHA256 fcd05ac5b4ef0b7b196636907f0ab14860a4b889bd3b3e4f2acc919e2bb05a53 mysql++-2.1.1.tar.gz 1855521 diff --git a/dev-db/mysql++/files/mysql++-signed-char-fix-try2.diff b/dev-db/mysql++/files/mysql++-signed-char-fix-try2.diff new file mode 100644 index 000000000000..2b14a39f66ab --- /dev/null +++ b/dev-db/mysql++/files/mysql++-signed-char-fix-try2.diff @@ -0,0 +1,51 @@ +diff -ru mysql++-2.1.1.orig/lib/qparms.h mysql++-2.1.1/lib/qparms.h +--- mysql++-2.1.1.orig/lib/qparms.h 2006-04-05 06:44:49.000000000 +0200 ++++ mysql++-2.1.1/lib/qparms.h 2006-11-28 21:40:36.000000000 +0100 +@@ -232,7 +232,7 @@ + /// \param b the 'before' value + /// \param o the 'option' value + /// \param n the 'num' value +- SQLParseElement(std::string b, char o, char n) : ++ SQLParseElement(std::string b, char o, signed char n) : + before(b), + option(o), + num(n) +@@ -241,7 +241,7 @@ + + std::string before; ///< string inserted before the parameter + char option; ///< the parameter option, or blank if none +- char num; ///< the parameter position to use ++ signed char num; ///< the parameter position to use + }; + + } // end namespace mysqlpp +diff -ru mysql++-2.1.1.orig/lib/query.cpp mysql++-2.1.1/lib/query.cpp +--- mysql++-2.1.1.orig/lib/query.cpp 2006-04-05 06:44:49.000000000 +0200 ++++ mysql++-2.1.1/lib/query.cpp 2006-11-28 21:40:52.000000000 +0100 +@@ -185,7 +185,7 @@ + else { + num[1] = 0; + } +- short int n = atoi(num); ++ signed char n = atoi(num); + + // Look for option character following position value. + char option = ' '; +@@ -220,7 +220,7 @@ + } + + // Finished parsing parameter; save it. +- parse_elems_.push_back(SQLParseElement(str, option, char(n))); ++ parse_elems_.push_back(SQLParseElement(str, option, n)); + str = ""; + name = ""; + } +@@ -304,7 +304,7 @@ + { + sbuffer_.str(""); + +- char num; ++ signed char num; + SQLString* ss; + SQLQueryParms* c; + diff --git a/dev-db/mysql++/mysql++-2.1.1-r2.ebuild b/dev-db/mysql++/mysql++-2.1.1-r2.ebuild new file mode 100644 index 000000000000..0407eaa60553 --- /dev/null +++ b/dev-db/mysql++/mysql++-2.1.1-r2.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql++/mysql++-2.1.1-r2.ebuild,v 1.1 2006/11/28 20:50:37 hansmi Exp $ + +inherit eutils gnuconfig + +DESCRIPTION="C++ API interface to the MySQL database" +# This is the download page but includes links to other places +HOMEPAGE="http://www.mysql.org/downloads/api-mysql++.html" +SRC_URI="http://www.tangentsoft.net/mysql++/releases/${P}.tar.gz" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~x86 ~alpha ~hppa ~mips ~sparc ~ppc ~amd64" +IUSE="" + +DEPEND=">=sys-devel/gcc-3" +RDEPEND="${DEPEND} + >=virtual/mysql-4.0" + +src_unpack() { + unpack "${A}" + cd "${S}" + + epatch "${FILESDIR}/mysql++-signed-char-fix-try2.diff" +} + +src_compile() { + gnuconfig_update + local myconf + # we want C++ exceptions turned on + myconf="--enable-exceptions" + # give threads a try + myconf="${myconf} --enable-thread-check" + # not including the directives to where MySQL is because it seems to + # find it just fine without + + # force the cflags into place otherwise they get totally ignored by + # configure + CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \ + econf ${myconf} || die "econf failed" + + emake || die "unable to make" +} + +src_install() { + make DESTDIR="${D}" install || die + # install the docs and HTML pages + dodoc README LGPL + dodoc doc/* + dohtml doc/man-html/* + prepalldocs +} |