summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
authorAlistair Bush <ali_bush@gentoo.org>2010-03-09 10:31:29 +0000
committerAlistair Bush <ali_bush@gentoo.org>2010-03-09 10:31:29 +0000
commitaae5c38d562c0cae152f5e0e8d6efb6f674467ce (patch)
tree854e8fcfc87a938bfa10bb0aab511c3ea81aef6c /dev-db
parentAutomated update of use.local.desc (diff)
downloadgentoo-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')
-rw-r--r--dev-db/hsqldb/ChangeLog8
-rw-r--r--dev-db/hsqldb/files/TestBug1191815.java129
-rw-r--r--dev-db/hsqldb/hsqldb-1.8.1.2.ebuild182
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
+}