From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- dev-db/hsqldb/Manifest | 10 + dev-db/hsqldb/files/StringComparator.java | 53 +++ dev-db/hsqldb/files/TestBug1191815.java | 129 +++++++ dev-db/hsqldb/files/hsqldb | 19 ++ dev-db/hsqldb/files/hsqldb-1.8.1.3-java7.patch | 380 +++++++++++++++++++++ dev-db/hsqldb/files/resolve-config-softlinks.patch | 22 ++ dev-db/hsqldb/files/server.properties | 20 ++ dev-db/hsqldb/files/sqltool.rc | 18 + dev-db/hsqldb/hsqldb-1.8.1.3-r2.ebuild | 173 ++++++++++ dev-db/hsqldb/metadata.xml | 11 + 10 files changed, 835 insertions(+) create mode 100644 dev-db/hsqldb/Manifest create mode 100644 dev-db/hsqldb/files/StringComparator.java create mode 100644 dev-db/hsqldb/files/TestBug1191815.java create mode 100644 dev-db/hsqldb/files/hsqldb create mode 100644 dev-db/hsqldb/files/hsqldb-1.8.1.3-java7.patch create mode 100644 dev-db/hsqldb/files/resolve-config-softlinks.patch create mode 100644 dev-db/hsqldb/files/server.properties create mode 100644 dev-db/hsqldb/files/sqltool.rc create mode 100644 dev-db/hsqldb/hsqldb-1.8.1.3-r2.ebuild create mode 100644 dev-db/hsqldb/metadata.xml (limited to 'dev-db/hsqldb') diff --git a/dev-db/hsqldb/Manifest b/dev-db/hsqldb/Manifest new file mode 100644 index 000000000000..f292963781ab --- /dev/null +++ b/dev-db/hsqldb/Manifest @@ -0,0 +1,10 @@ +AUX StringComparator.java 1986 BLAKE2B e86079c260e0732c8828626de3c3d1611376377c228c8efb28739dff5f82cbe26ed2a06f9bf6c2214e44a291c1af51e6cb2044fc639aaafb54e356fe6b978dc8 SHA512 a0103b0b8445bfbbe325c73ab65dcf4c22c8fd4dab89cd9d60809b4323263e62da2c20a0c1f2900ee97eb9ca2549730e1d37b7f1bffdfce3d116ca802fe8beaa +AUX TestBug1191815.java 4112 BLAKE2B f8418d564f7489e3dd256e9783624ef66994875d2509ccd66972ed5704281ae9770df7f7521ec56ab66b44af142ff4a6a846fb9d04d768b2a0b2c5f78b9c6b7f SHA512 c37491e2fcea0b4ce6bd641ffe128deaa9a8e38533ec3e607415cb1325a975dd8317c212c0fbf9f42b25de7808869df6ac63dacd53c773455f5d2ca0a58f1f62 +AUX hsqldb 364 BLAKE2B 236ae5fff19eaf9c4aa184bf1228bd96c7841c8c1849d35d72be02d43b955be003c54a96fc9d792208a38c388609d3dce34a5ef1e2c36b9283dd69a545cc3e2d SHA512 6cd0a4a26739960536192a9dda36324e10a16e4ed51028515f07ca5542c68a9f13d9ee9456faf7f797071476747b2026cdf5872ebdf20c1fbfda1079c4164716 +AUX hsqldb-1.8.1.3-java7.patch 13842 BLAKE2B afb8a9ade41e830242cea603f0464462ef4abcf732b1e8ee0419925d37207579114baccf6862663ffe4c653f8954f5e64264729d66991c187690516fc8badb6a SHA512 b5e67c3a6e883b50ed74bbc18b81e5244b43161612d2114b645a16c1405c355555740daf8774a3347ae3721f607ca2eb7570117c1ca93ccbe925d34d4968b6e2 +AUX resolve-config-softlinks.patch 846 BLAKE2B 257d552458e7d4b59d45fa6827e081dfc8101ddef1f9928551834c9ffecb36f43610422dc7c482eae201b210005ed839eafb4cbb7403ad66d619e638153abc58 SHA512 5510a6f70647bb50d4c8ef6c8341b8d4bf38119fd8849b4086b4548ef19abbbaaa12d552f5602bd91ec24e96d7c4ef51efd8e83b38a841f3276ac478bd2480f4 +AUX server.properties 686 BLAKE2B 6b4482dfe6187adada772cffb1a46e39bacd9fa8ca5501dd58414f9815dc6b118d3f9de909953f88f1055ae1984ef3f9aee479c339920bf182f31f4265cdb6f1 SHA512 c36a1d2e387762f96872d94bdb3a6a2af9edb949be9d33321f9ea4e3fb996baecff6fc3875b6bef8f73a54a6a1cedd71dcdf97c881819cb130b1a2b43ec7e842 +AUX sqltool.rc 560 BLAKE2B 5f5e4bd1e9fe9759c2e2d5b6b5274343caa5028b29cfa4597c3a3348a1b07e4540d608d3dea5b189cf471b85721f15018490a7e4f8c56cc48ce648a07f0b7a45 SHA512 80ce53ad07c2091113787cb41232e5900426b042dcc3f62157569588538ad26d471e5d17aac62052902789065efb01647bfbc3488ff3d0f3c9e3df513895f57c +DIST hsqldb_1_8_1_3.zip 3170550 BLAKE2B 0664bfa259af5091e3e76ca804e9c9890457ecc982ab07ee37640dc713053fb63d6dd295e9db4adb5e5436fac6275745526d3e830dd84e5daa3a32162627dc76 SHA512 0483ca3299b63b4931b07d49588c729231efca76a317b9620abbd5039127f3f79449eaa1e9d29c52782c58bdb0cc4879b1e3f30f669d2c02c880818f531a8442 +EBUILD hsqldb-1.8.1.3-r2.ebuild 5598 BLAKE2B 9a4d53b5e21ac4064140a94e7f0d53ae5bfab87d7a3dfae7611132f238e41b8daea394a0aee8eb3aa4ed06ec14438ac3ebe36d7d3749a111bd9b1ed94927e75c SHA512 06572f67b9027c4a999df509f0a7a5592c88fb98bd7168df750296543f456c644fcfdba03a6691ffbeda6e47490844cf8e4b7cd0b7a67e65667fd0d1cac6ae5c +MISC metadata.xml 312 BLAKE2B 175d7bb3c54ffcc616117749062b16130ca8cf394ffd780991bd8bd5a21509527e2844cd4f1aaeba70b498274131d786b9a16d48d5ee8dca176e949e334093a6 SHA512 2b9fff35bd58701cd4992ddc02f6bc7a2027d90616a5b886ef352ad6c6781949a68478bb17bbc22382189ec73ddd1798f67c27941323cb0b727dfead38c7f975 diff --git a/dev-db/hsqldb/files/StringComparator.java b/dev-db/hsqldb/files/StringComparator.java new file mode 100644 index 000000000000..ae0f7b0fb979 --- /dev/null +++ b/dev-db/hsqldb/files/StringComparator.java @@ -0,0 +1,53 @@ +/* Copyright (c) 2001-2008, 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.lib; + +public class StringComparator implements ObjectComparator { + + public int compare(Object a, Object b) { + + // handle nulls + if (a == b) { + return 0; + } + + if (a == null) { + return -1; + } + + if (b == null) { + return 1; + } + + return ((String) a).compareTo((String) b); + } +} 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/files/hsqldb b/dev-db/hsqldb/files/hsqldb new file mode 100644 index 000000000000..69920b07f868 --- /dev/null +++ b/dev-db/hsqldb/files/hsqldb @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + use net +} + +start() { + ebegin "Starting HSQL Database" + hsqldb_enable=yes /var/lib/hsqldb/bin/hsqldb start + eend $? +} + +stop() { + ebegin "Stopping HSQL Database" + hsqldb_enable=yes /var/lib/hsqldb/bin/hsqldb stop + eend $? +} diff --git a/dev-db/hsqldb/files/hsqldb-1.8.1.3-java7.patch b/dev-db/hsqldb/files/hsqldb-1.8.1.3-java7.patch new file mode 100644 index 000000000000..7f9245597182 --- /dev/null +++ b/dev-db/hsqldb/files/hsqldb-1.8.1.3-java7.patch @@ -0,0 +1,380 @@ +diff --git a/build/build.xml b/build/build.xml +index 68c446f..e82f00f 100644 +--- a/build/build.xml ++++ b/build/build.xml +@@ -98,16 +98,24 @@ examples: + + + +- ++ ++ ++ ++ ++ ++ + ++ + + +- ++ + ++ + + +- ++ + ++ + + + +@@ -166,6 +174,7 @@ examples: + + + ++ + + + +@@ -183,6 +192,7 @@ examples: + + + ++ + + + +@@ -210,6 +220,7 @@ examples: + + + ++ + + + +@@ -218,6 +229,7 @@ examples: + + + ++ + + + +@@ -244,6 +256,7 @@ examples: + + + ++ + + + +@@ -253,6 +266,43 @@ examples: + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + +@@ -279,10 +329,11 @@ examples: + + + ++ + + + +- + T getObject(String columnLabel, Class type) throws SQLException ++ { ++ throw new UnsupportedOperationException("Not supported yet."); ++ } ++ ++ public T getObject(int ColumnIndex, Class type) throws SQLException ++ { ++ throw new UnsupportedOperationException("Not supported yet."); ++ } ++ ++ ++//#endif JAVA7 + } +diff --git a/src/org/hsqldb/jdbc/jdbcConnection.java b/src/org/hsqldb/jdbc/jdbcConnection.java +index 5d59464..0c7e08a 100644 +--- a/src/org/hsqldb/jdbc/jdbcConnection.java ++++ b/src/org/hsqldb/jdbc/jdbcConnection.java +@@ -43,13 +43,17 @@ import java.sql.Connection; + import java.sql.DatabaseMetaData; + + //#ifdef JAVA6 +-/* + import java.sql.NClob; + import java.sql.SQLClientInfoException; + import java.sql.SQLXML; +-*/ + + //#endif JAVA6 ++ ++//#ifdef JAVA7 ++import java.util.concurrent.Executor; ++ ++//#endif JAVA7 ++ + import java.sql.PreparedStatement; + import java.sql.SQLException; + import java.sql.SQLWarning; +@@ -2794,4 +2798,31 @@ public class jdbcConnection implements Connection { + */ + + //#endif JAVA6 ++ ++//#ifdef JAVA7 ++ public int getNetworkTimeout() throws SQLException ++ { ++ throw new UnsupportedOperationException("Not supported yet."); ++ } ++ ++ public void setNetworkTimeout(Executor executor, int millis) throws SQLException ++ { ++ throw new UnsupportedOperationException("Not supported yet."); ++ } ++ ++ public void abort(Executor executor) throws SQLException ++ { ++ throw new UnsupportedOperationException("Not supported yet."); ++ } ++ ++ public String getSchema() throws SQLException ++ { ++ throw new UnsupportedOperationException("Not supported yet."); ++ } ++ ++ public void setSchema(String schema) throws SQLException ++ { ++ throw new UnsupportedOperationException("Not supported yet."); ++ } ++//#endif JAVA7 + } +diff --git a/src/org/hsqldb/jdbc/jdbcDataSource.java b/src/org/hsqldb/jdbc/jdbcDataSource.java +index 9f79a37..d0ab49b 100644 +--- a/src/org/hsqldb/jdbc/jdbcDataSource.java ++++ b/src/org/hsqldb/jdbc/jdbcDataSource.java +@@ -47,6 +47,11 @@ import javax.sql.DataSource; + //#endif JAVA4 + import org.hsqldb.jdbcDriver; + ++//#ifdef JAVA7 ++import java.sql.SQLFeatureNotSupportedException; ++import java.util.logging.Logger; ++//#endif JAVA7 ++ + // boucherb@users 20040411 - doc 1.7.2 - javadoc updates toward 1.7.2 final + + /** +@@ -312,7 +317,6 @@ public class jdbcDataSource implements Serializable { + } + + //#ifdef JAVA6 +-/* + public T unwrap(Class iface) throws SQLException + { + throw new UnsupportedOperationException("Not supported yet."); +@@ -322,7 +326,14 @@ public class jdbcDataSource implements Serializable { + { + throw new UnsupportedOperationException("Not supported yet."); + } +-*/ + + //#endif JAVA6 ++ ++//#ifdef JAVA7 ++ public Logger getParentLogger() throws SQLFeatureNotSupportedException ++ { ++ throw new SQLFeatureNotSupportedException("Not supported yet."); ++ } ++ ++//#endif JAVA7 + } +diff --git a/src/org/hsqldb/jdbc/jdbcDatabaseMetaData.java b/src/org/hsqldb/jdbc/jdbcDatabaseMetaData.java +index ffa238d..0480228 100644 +--- a/src/org/hsqldb/jdbc/jdbcDatabaseMetaData.java ++++ b/src/org/hsqldb/jdbc/jdbcDatabaseMetaData.java +@@ -5650,7 +5650,6 @@ public class jdbcDatabaseMetaData implements DatabaseMetaData { + } + + //#ifdef JAVA6 +-/* + public RowIdLifetime getRowIdLifetime() throws SQLException + { + throw new UnsupportedOperationException("Not supported yet."); +@@ -5694,7 +5693,23 @@ public class jdbcDatabaseMetaData implements DatabaseMetaData { + { + throw new UnsupportedOperationException("Not supported yet."); + } +-*/ + + //#endif JAVA6 ++ ++ ++//#ifdef JAVA7 ++ public boolean generatedKeyAlwaysReturned() throws SQLException ++ { ++ throw new UnsupportedOperationException("Not supported yet."); ++ } ++ ++ public ResultSet getPseudoColumns(String catalog, String schemaPattern, ++ String tableNamePattern, String columnNamePattern) throws SQLException ++ { ++ throw new UnsupportedOperationException("Not supported yet."); ++ } ++ ++ ++//#endif JAVA7 ++ + } +diff --git a/src/org/hsqldb/jdbc/jdbcResultSet.java b/src/org/hsqldb/jdbc/jdbcResultSet.java +index 2a6567e..81aecf3 100644 +--- a/src/org/hsqldb/jdbc/jdbcResultSet.java ++++ b/src/org/hsqldb/jdbc/jdbcResultSet.java +@@ -5332,4 +5332,19 @@ public class jdbcResultSet implements ResultSet { + */ + + //#endif JAVA6 ++ ++//#ifdef JAVA7 ++ ++ public T getObject(String columnLabel, Class type) throws SQLException ++ { ++ throw new UnsupportedOperationException("Not supported yet."); ++ } ++ ++ public T getObject(int columnNum, Class type) throws SQLException ++ { ++ throw new UnsupportedOperationException("Not supported yet."); ++ } ++ ++//#endif JAVA7 ++ + } +diff --git a/src/org/hsqldb/jdbc/jdbcStatement.java b/src/org/hsqldb/jdbc/jdbcStatement.java +index f84f2e2..38bf8d0 100644 +--- a/src/org/hsqldb/jdbc/jdbcStatement.java ++++ b/src/org/hsqldb/jdbc/jdbcStatement.java +@@ -1588,7 +1588,6 @@ public class jdbcStatement implements Statement { + } + } + //#ifdef JAVA6 +-/* + public void setPoolable(boolean poolable) throws SQLException + { + throw new UnsupportedOperationException("Not supported yet."); +@@ -1608,6 +1607,17 @@ public class jdbcStatement implements Statement { + { + throw new UnsupportedOperationException("Not supported yet."); + } +-*/ + //#endif JAVA6 ++ ++//#ifdef JAVA7 ++ public boolean isCloseOnCompletion() throws SQLException ++ { ++ throw new UnsupportedOperationException("Not supported yet."); ++ } ++ ++ public void closeOnCompletion() throws SQLException ++ { ++ throw new UnsupportedOperationException("Not supported yet."); ++ } ++//#endif JAVA7 + } +diff --git a/src/org/hsqldb/jdbcDriver.java b/src/org/hsqldb/jdbcDriver.java +index a377b36..361c074 100644 +--- a/src/org/hsqldb/jdbcDriver.java ++++ b/src/org/hsqldb/jdbcDriver.java +@@ -42,6 +42,11 @@ import org.hsqldb.jdbc.jdbcConnection; + import org.hsqldb.persist.HsqlDatabaseProperties; + import org.hsqldb.persist.HsqlProperties; + ++//#ifdef JAVA7 ++import java.sql.SQLFeatureNotSupportedException; ++import java.util.logging.Logger; ++//#endif JAVA7 ++ + // fredt@users 20011220 - patch 1.7.0 by fredt + // new version numbering scheme + // fredt@users 20020320 - patch 1.7.0 - JDBC 2 support and error trapping +@@ -321,4 +326,12 @@ public class jdbcDriver implements Driver { + DriverManager.registerDriver(new jdbcDriver()); + } catch (Exception e) {} + } ++ ++//#ifdef JAVA7 ++ public Logger getParentLogger() throws SQLFeatureNotSupportedException ++ { ++ throw new SQLFeatureNotSupportedException("Not supported yet."); ++ } ++ ++//#endif JAVA7 + } diff --git a/dev-db/hsqldb/files/resolve-config-softlinks.patch b/dev-db/hsqldb/files/resolve-config-softlinks.patch new file mode 100644 index 000000000000..5a716e6dc3a2 --- /dev/null +++ b/dev-db/hsqldb/files/resolve-config-softlinks.patch @@ -0,0 +1,22 @@ +diff -urpN hsqldb.orig/bin/hsqldb hsqldb/bin/hsqldb +--- hsqldb.orig/bin/hsqldb 2006-07-08 15:55:55.000000000 +0200 ++++ hsqldb/bin/hsqldb 2006-07-08 16:03:28.000000000 +0200 +@@ -282,6 +282,18 @@ else + echo "Auth file '$_AUTH_TEST_PATH' not readable" 1>&2 + exit 2 + } ++ ++ # resolve links - $_AUTH_TEST_PATH may be a softlink ++ while [ -h "$_AUTH_TEST_PATH" ]; do ++ ls=`ls -ld "$_AUTH_TEST_PATH"` ++ link=`expr "$ls" : '.*-> \(.*\)$'` ++ if expr "$link" : '.*/.*' > /dev/null; then ++ _AUTH_TEST_PATH="$link" ++ else ++ _AUTH_TEST_PATH=`dirname "$_AUTH_TEST_PATH"`/"$link" ++ fi ++ done ++ + ls -ld "$_AUTH_TEST_PATH" | grep '^-..------' > /dev/null 2>&1 || { + echo "Fix permissions on '$_AUTH_TEST_PATH' like 'chmod 600 $_AUTH_TEST_PATH'" 1>&2 + exit 2 diff --git a/dev-db/hsqldb/files/server.properties b/dev-db/hsqldb/files/server.properties new file mode 100644 index 000000000000..4827d1cb6ec0 --- /dev/null +++ b/dev-db/hsqldb/files/server.properties @@ -0,0 +1,20 @@ +# Hsqldb Server cfg file. +# See the UNIX Quick Start and the Advanced Topics chapters +# of the Hsqldb User Guide. + +server.database.0=file:/var/lib/hsqldb/db1 +server.urlid.0=localhost + +# Warning! +# When running hsqldb in Server mode, for each additional database +# the server.urlid.X entry must have a proper corresponding urlid +# section in the 'sqltool.rc' file. +# Otherwise you may have problems with shutting down the server. +# +# Note that each server can serve only up to 10 different +# databases simultaneously (with consecutive {0-9} suffixes). + +# An example of additional database. +#server.database.1=file:/var/lib/hsqldb/newdb/newdb +#server.dbname.1=newdb +#server.urlid.1=newdb diff --git a/dev-db/hsqldb/files/sqltool.rc b/dev-db/hsqldb/files/sqltool.rc new file mode 100644 index 000000000000..2e65a6816f3d --- /dev/null +++ b/dev-db/hsqldb/files/sqltool.rc @@ -0,0 +1,18 @@ +# This is a sample SqlTool configuration file, a.k.a. rc file. + +# This is for a hsqldb Server running with default settings on your local +# computer (and for which you have not changed the password for "sa"). +urlid localhost +url jdbc:hsqldb:hsql://localhost +username sa +password + +# Each urlid section in this file corresponds to one of the +# server.urlid.X entries in the 'server.properties' file. +# This is required by the hsqldb init script. + +# An example of additional database. +#urlid newdb +#url jdbc:hsqldb:hsql://localhost/newdb +#username sa +#password diff --git a/dev-db/hsqldb/hsqldb-1.8.1.3-r2.ebuild b/dev-db/hsqldb/hsqldb-1.8.1.3-r2.ebuild new file mode 100644 index 000000000000..3a136fca2315 --- /dev/null +++ b/dev-db/hsqldb/hsqldb-1.8.1.3-r2.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +JAVA_PKG_IUSE="doc source test" + +inherit eutils user 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 GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="" + +CDEPEND=" + java-virtuals/servlet-api:2.5" +RDEPEND="${CDEPEND} + >=virtual/jre-1.5" +DEPEND="${CDEPEND} + >=virtual/jdk-1.5 + app-arch/unzip + test? ( dev-java/junit:0 )" + +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 +} + +java_prepare() { + rm -v lib/*.jar || die + + sed -i -r \ + -e "s#/etc/sysconfig#${EPREFIX}/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" + epatch "${FILESDIR}/${P}-java7.patch" + + mkdir conf + sed -e "s/^HSQLDB_JAR_PATH=.*$/HSQLDB_JAR_PATH=${EPREFIX//\//\\/}${HSQLDB_JAR//\//\\/}/g" \ + -e "s/^SERVER_HOME=.*$/SERVER_HOME=${EPREFIX//\//\\/}\/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 + # https://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 +} + +JAVA_ANT_REWRITE_CLASSPATH="yes" + +# EANT_BUILD_XML used also in src_prepare +EANT_BUILD_XML="build/build.xml" +EANT_BUILD_TARGET="jar jarclient jarsqltool jarutil" +EANT_DOC_TARGET="javadocdev" +EANT_GENTOO_CLASSPATH="servlet-api-2.5" + +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/* + + echo "CONFIG_PROTECT=\"${HSQLDB_HOME}\"" > "${T}"/35hsqldb || die + doenvd "${T}"/35hsqldb + + # Put init, configuration and authorization files in /etc + doinitd "${FILESDIR}/hsqldb" + doconfd conf/hsqldb + dodir /etc/hsqldb + insinto /etc/hsqldb + # Change the ownership of server.properties and sqltool.rc + # files to hsqldb:hsqldb. (resolves Bug #111963) + use prefix || insopts -m0600 -o hsqldb -g hsqldb + doins conf/server.properties + use prefix || insopts -m0600 -o hsqldb -g hsqldb + doins conf/sqltool.rc + + # Install init script + dodir "${HSQLDB_HOME}/bin" + keepdir "${HSQLDB_HOME}" + exeinto "${HSQLDB_HOME}/bin" + doexe bin/hsqldb + + # Make sure that files have correct permissions + use prefix || chown -R hsqldb:hsqldb "${ED}${HSQLDB_HOME}" + chmod o-rwx "${ED}${HSQLDB_HOME}" + + # 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" + dosym ../../../etc/hsqldb/sqltool.rc "${HSQLDB_HOME}/sqltool.rc" +} + +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 "${EPREFIX}/etc/hsqldb/server.properties" + elog "=============================" + elog "server.database.1=file:xdb/xdb" + elog "server.dbname.1=xdb" + elog "server.urlid.1=xdb" + elog + elog "${EPREFIX}/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 ${EPREFIX}${HSQLDB_JAR} org.hsqldb.util.DatabaseManager" + ewarn "# java -classpath ${EPREFIX}${HSQLDB_JAR} org.hsqldb.util.DatabaseManagerSwing" + ewarn "# java -classpath ${EPREFIX}${HSQLDB_JAR} org.hsqldb.util.SqlTool \\" + ewarn " --rcFile ${EPREFIX}/var/lib/hsqldb/sqltool.rc " + 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 +} diff --git a/dev-db/hsqldb/metadata.xml b/dev-db/hsqldb/metadata.xml new file mode 100644 index 000000000000..90ae84e29855 --- /dev/null +++ b/dev-db/hsqldb/metadata.xml @@ -0,0 +1,11 @@ + + + + + java@gentoo.org + Java + + + hsqldb + + -- cgit v1.2.3