diff options
author | Alistair Bush <ali_bush@gentoo.org> | 2010-03-09 10:31:29 +0000 |
---|---|---|
committer | Alistair Bush <ali_bush@gentoo.org> | 2010-03-09 10:31:29 +0000 |
commit | aae5c38d562c0cae152f5e0e8d6efb6f674467ce (patch) | |
tree | 854e8fcfc87a938bfa10bb0aab511c3ea81aef6c /dev-db/hsqldb | |
parent | Automated update of use.local.desc (diff) | |
download | gentoo-2-aae5c38d562c0cae152f5e0e8d6efb6f674467ce.tar.gz gentoo-2-aae5c38d562c0cae152f5e0e8d6efb6f674467ce.tar.bz2 gentoo-2-aae5c38d562c0cae152f5e0e8d6efb6f674467ce.zip |
Version Bump to 1.8.1.2
(Portage version: 2.1.8.1/cvs/Linux x86_64)
Diffstat (limited to 'dev-db/hsqldb')
-rw-r--r-- | dev-db/hsqldb/ChangeLog | 8 | ||||
-rw-r--r-- | dev-db/hsqldb/files/TestBug1191815.java | 129 | ||||
-rw-r--r-- | dev-db/hsqldb/hsqldb-1.8.1.2.ebuild | 182 |
3 files changed, 318 insertions, 1 deletions
diff --git a/dev-db/hsqldb/ChangeLog b/dev-db/hsqldb/ChangeLog index 71baeb2f9374..26f79c1aacce 100644 --- a/dev-db/hsqldb/ChangeLog +++ b/dev-db/hsqldb/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-db/hsqldb # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/hsqldb/ChangeLog,v 1.53 2010/01/15 17:43:33 grobian Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/hsqldb/ChangeLog,v 1.54 2010/03/09 10:31:28 ali_bush Exp $ + +*hsqldb-1.8.1.2 (08 Mar 2010) + + 08 Mar 2010; Alistair Bush <ali_bush@gentoo.org> + +files/TestBug1191815.java, +hsqldb-1.8.1.2.ebuild: + Version Bump to 1.8.1.2 15 Jan 2010; Fabian Groffen <grobian@gentoo.org> hsqldb-1.8.0.10.ebuild: Marked ~x64-solaris diff --git a/dev-db/hsqldb/files/TestBug1191815.java b/dev-db/hsqldb/files/TestBug1191815.java new file mode 100644 index 000000000000..06c606401cdd --- /dev/null +++ b/dev-db/hsqldb/files/TestBug1191815.java @@ -0,0 +1,129 @@ +/* Copyright (c) 2001-2009, The HSQL Development Group + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * Neither the name of the HSQL Development Group nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG, + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +package org.hsqldb.test; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.Statement; +import java.sql.Timestamp; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.TimeZone; + +import junit.framework.TestCase; +import junit.framework.TestResult; + +/** + * Created on Apr 28, 2005 + * @author Antranig Basman (antranig@caret.cam.ac.uk) + */ +public class TestBug1191815 extends TestBase { + + public TestBug1191815(String name) { + super(name); + } + + public void test() throws Exception { + + try { + Connection conn = newConnection(); + Statement stmt = conn.createStatement(); + + stmt.executeUpdate("drop table testA if exists;"); + stmt.executeUpdate("create table testA(data timestamp);"); + + TimeZone pst = TimeZone.getTimeZone("PST"); + Calendar cal = new GregorianCalendar(pst); + + cal.clear(); + cal.set(2005, 0, 1, 0, 0, 0); + + + // yyyy-mm-dd hh:mm:ss.fffffffff + Timestamp ts = new Timestamp(cal.getTimeInMillis()); + ts.setNanos(1000); + PreparedStatement ps = + conn.prepareStatement("insert into testA values(?)"); + + ps.setTimestamp(1, ts, cal); + ps.execute(); + ps.setTimestamp(1, ts, null); + ps.execute(); + + String sql = "select * from testA"; + + stmt = conn.createStatement(); + + ResultSet rs = stmt.executeQuery(sql); + + rs.next(); + + Timestamp returned = rs.getTimestamp(1, cal); + + rs.next(); + + Timestamp def = rs.getTimestamp(1, null); + + assertEquals(ts, returned); + assertEquals(ts, def); + } catch (Exception e) { + e.printStackTrace(); + fail(); + } + } + + public static void main(String[] args) throws Exception { + + TestResult result; + TestCase test; + java.util.Enumeration exceptions; + java.util.Enumeration failures; + int count; + + result = new TestResult(); + test = new TestBug1191815("test"); + + test.run(result); + + count = result.failureCount(); + + System.out.println("TestBug1192000 failure count: " + count); + + failures = result.failures(); + + while (failures.hasMoreElements()) { + System.out.println(failures.nextElement()); + } + } +} + diff --git a/dev-db/hsqldb/hsqldb-1.8.1.2.ebuild b/dev-db/hsqldb/hsqldb-1.8.1.2.ebuild new file mode 100644 index 000000000000..9e0e8fbf6e7e --- /dev/null +++ b/dev-db/hsqldb/hsqldb-1.8.1.2.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/hsqldb/hsqldb-1.8.1.2.ebuild,v 1.1 2010/03/09 10:31:28 ali_bush Exp $ + +EAPI=1 +JAVA_PKG_IUSE="doc source test" +inherit eutils versionator java-pkg-2 java-ant-2 + +MY_PV=$(replace_all_version_separators _ ) +MY_P="${PN}_${MY_PV}" + +DESCRIPTION="The leading SQL relational database engine written in Java." +HOMEPAGE="http://hsqldb.org" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd ~x64-solaris" +IUSE="java6" + +CDEPEND="java-virtuals/servlet-api:2.3" +RDEPEND="java6? ( >=virtual/jre-1.6 ) + !java6? ( >=virtual/jre-1.4 ) + ${CDEPEND}" +DEPEND="java6? ( >=virtual/jdk-1.6 ) + !java6? ( || ( =virtual/jdk-1.5* =virtual/jdk-1.4* ) ) + test? ( dev-java/junit:0 ) + app-arch/unzip + ${CDEPEND}" + +S="${WORKDIR}/${PN}" + +HSQLDB_JAR=/usr/share/hsqldb/lib/hsqldb.jar +HSQLDB_HOME=/var/lib/hsqldb + +pkg_setup() { + enewgroup hsqldb + enewuser hsqldb -1 /bin/sh /dev/null hsqldb + + java-pkg-2_pkg_setup +} + +src_unpack() { + unpack ${A} + cd "${S}" + + rm -v lib/*.jar || die + java-pkg_jar-from --virtual --into lib servlet-api-2.3 + + sed -i -r \ + -e "s#etc/sysconfig#etc/conf.d#g" \ + bin/hsqldb || die + + java-pkg_filter-compiler jikes + + eant -q -f "${EANT_BUILD_XML}" cleanall > /dev/null + + epatch "${FILESDIR}/resolve-config-softlinks.patch" + + mkdir conf + sed -e "s/^HSQLDB_JAR_PATH=.*$/HSQLDB_JAR_PATH=${HSQLDB_JAR//\//\\/}/g" \ + -e "s/^SERVER_HOME=.*$/SERVER_HOME=\/var\/lib\/hsqldb/g" \ + -e "s/^HSQLDB_OWNER=.*$/HSQLDB_OWNER=hsqldb/g" \ + -e 's/^#AUTH_FILE=.*$/AUTH_FILE=${SERVER_HOME}\/sqltool.rc/g' \ + src/org/hsqldb/sample/sample-hsqldb.cfg > conf/hsqldb || die + cp "${FILESDIR}/server.properties" conf/ || die + cp "${FILESDIR}/sqltool.rc" conf/ || die + + # Missing source file - needed for tests + # http://hsqldb.cvs.sourceforge.net/*checkout*/hsqldb/hsqldb-dev/src/org/hsqldb/lib/StringComparator.java?revision=1.1&pathrev=hsqldb_1_8_0_10 + # http://sourceforge.net/tracker/index.php?func=detail&aid=2008754&group_id=23316&atid=378131 + cp "${FILESDIR}/StringComparator.java" src/org/hsqldb/lib || die + cp "${FILESDIR}/TestBug1191815.java" src/org/hsqldb/test/ || die +} + +# EANT_BUILD_XML used also in src_unpack +EANT_BUILD_XML="build/build.xml" +EANT_BUILD_TARGET="jar jarclient jarsqltool jarutil" +EANT_DOC_TARGET="javadocdev" + +src_test() { + java-pkg_jar-from --into lib junit + eant -f ${EANT_BUILD_XML} jartest + cd testrun/hsqldb || die + ./runTest.sh TestSelf || die "TestSelf hsqldb tests failed" + # TODO. These fail. Investigate why. + #cd "${S}/testrun/sqltool" || die + #CLASSPATH="${S}/lib/hsqldb.jar" ./runtests.bash || die "sqltool test failed" +} + +src_install() { + java-pkg_dojar lib/hsql*.jar + + if use doc; then + dodoc doc/*.txt + dohtml -r doc/zaurus + dohtml -r doc/src + fi + use source && java-pkg_dosrc src/* + + # Install env file for CONFIG_PROTECT support + doenvd "${FILESDIR}/35hsqldb" || die + + # Put init, configuration and authorization files in /etc + doinitd "${FILESDIR}/hsqldb" || die + doconfd conf/hsqldb || die + dodir /etc/hsqldb + insinto /etc/hsqldb + # Change the ownership of server.properties and sqltool.rc + # files to hsqldb:hsqldb. (resolves Bug #111963) + insopts -m0600 -o hsqldb -g hsqldb + doins conf/server.properties || die + insopts -m0600 -o hsqldb -g hsqldb + doins conf/sqltool.rc || die + + # Install init script + dodir "${HSQLDB_HOME}/bin" + keepdir "${HSQLDB_HOME}" + exeinto "${HSQLDB_HOME}/bin" + doexe bin/hsqldb || die + + # Create symlinks to authorization files in the server home dir + # (required by the hqldb init script) + insinto "${HSQLDB_HOME}" + dosym /etc/hsqldb/server.properties "${HSQLDB_HOME}/server.properties" || die + dosym /etc/hsqldb/sqltool.rc "${HSQLDB_HOME}/sqltool.rc" || die + + # Make sure that files have correct permissions + chown -R hsqldb:hsqldb "${D}${HSQLDB_HOME}" + chmod o-rwx "${D}${HSQLDB_HOME}" +} + +pkg_postinst() { + ewarn "If you intend to run Hsqldb in Server mode and you want to create" + ewarn "additional databases, remember to put correct information in both" + ewarn "'server.properties' and 'sqltool.rc' files." + ewarn "(read the 'Init script Setup Procedure' section of the 'Chapter 3." + ewarn "UNIX Quick Start' in the Hsqldb docs for more information)" + echo + elog "Example:" + echo + elog "/etc/hsqldb/server.properties" + elog "=============================" + elog "server.database.1=file:xdb/xdb" + elog "server.dbname.1=xdb" + elog "server.urlid.1=xdb" + elog + elog "/etc/hsqldb/sqltool.rc" + elog "======================" + elog "urlid xdb" + elog "url jdbc:hsqldb:hsql://localhost/xdb" + elog "username sa" + elog "password " + echo + elog "Also note that each hsqldb server can serve only up to 10" + elog "different databases simultaneously (with consecutive {0-9}" + elog "suffixes in the 'server.properties' file)." + echo + ewarn "For data manipulation use:" + ewarn + ewarn "# java -classpath ${HSQLDB_JAR} org.hsqldb.util.DatabaseManager" + ewarn "# java -classpath ${HSQLDB_JAR} org.hsqldb.util.DatabaseManagerSwing" + ewarn "# java -classpath ${HSQLDB_JAR} org.hsqldb.util.SqlTool \\" + ewarn " --rcFile /var/lib/hsqldb/sqltool.rc <dbname>" + echo + elog "The Hsqldb can be run in multiple modes - read 'Chapter 1. Running'" + elog "and Using Hsqldb' in the Hsqldb docs at:" + elog " http://hsqldb.org/web/hsqlDocsFrame.html" + elog "If you intend to run it in the Server mode, it is suggested to add the" + elog "init script to your start-up scripts, this should be done like this:" + elog " \`rc-update add hsqldb default\`" + echo + + # Enable CONFIG_PROTECT for hsqldb + env-update + elog "Hsqldb stores its database files in ${HSQLDB_HOME} and this directory" + elog "is added to the CONFIG_PROTECT list. In order to immediately activate" + elog "these settings please do:" + elog " \`env-update && source /etc/profile\`" + elog "Otherwise the settings will become active next time you login" + echo +} |