diff --git a/hsqldb-1.8.0-scripts.patch b/hsqldb-1.8.0-scripts.patch deleted file mode 100644 index 389cae7..0000000 --- a/hsqldb-1.8.0-scripts.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- bin/runUtil.sh -+++ bin/runUtil.sh -@@ -31,7 +31,7 @@ - progname=`basename $0` - - # ../ will lead us to the home --dbhome="$progdir/.." -+dbhome=/var/lib/hsqldb - - # absolutize dbhome - -@@ -40,7 +40,7 @@ - # - # bring in needed functions - --. ${dbhome}/lib/functions -+. /var/lib/hsqldb/lib/functions - - #-------------------------------------------------------------------------------------------------------------- - pre_main diff --git a/hsqldb-1.8.0.10-suse-initscript.patch b/hsqldb-1.8.0.10-suse-initscript.patch deleted file mode 100644 index d442fb2..0000000 --- a/hsqldb-1.8.0.10-suse-initscript.patch +++ /dev/null @@ -1,523 +0,0 @@ -Index: bin/hsqldb -=================================================================== ---- bin/hsqldb.orig 2011-01-14 13:55:34.636488672 +0100 -+++ bin/hsqldb 2011-01-14 14:05:37.464628070 +0100 -@@ -50,7 +50,7 @@ - ### BEGIN INIT INFO - # Provides: HSQLDB-Server - # Required-Start: $syslog $remote_fs $network $named --# Required-Stop: -+# Required-Stop: $syslog $remote_fs $network $named - # Default-Start: 3 5 - # Default-Stop: 0 1 2 6 - # Short-Description: HSQLDB-Server -@@ -89,19 +89,73 @@ - - # -- blaine.simpson@admc.com - -+# Shell functions sourced from /etc/rc.status: -+# rc_check check and set local and overall rc status -+# rc_status check and set local and overall rc status -+# rc_status -v ditto but be verbose in local rc status -+# rc_status -v -r ditto and clear the local rc status -+# rc_failed set local and overall rc status to failed -+# rc_failed set local and overall rc status to -+# rc_reset clear local rc status (overall remains) -+# rc_exit exit appropriate to overall rc status -+. /etc/rc.status -+ -+# First reset status of this service -+rc_reset -+ -+# Return values acc. to LSB for all commands but status: -+# 0 - success -+# 1 - generic or unspecified error -+# 2 - invalid or excess argument(s) -+# 3 - unimplemented feature (e.g. "reload") -+# 4 - insufficient privilege -+# 5 - program is not installed -+# 6 - program is not configured -+# 7 - program is not running -+# -+# Note that starting an already running service, stopping -+# or restarting a not-running service as well as the restart -+# with force-reload (in case signalling is not supported) are -+# considered a success. -+ - set +u - -+# "chown" lives in /usr on some UNIXes. -+PATH="/bin:/sbin:/usr/sbin" -+ -+ -+NAME="$(/bin/basename $0)" -+unset ISBOOT -+if [ "${NAME:0:1}" = "S" -o "${NAME:0:1}" = "K" ]; then -+ NAME="${NAME:3}" -+ ISBOOT="1" -+fi -+ -+# remove SUSE's rc name -+if [ "${NAME:0:2}" = "rc" ]; then -+ NAME="${NAME:2}" -+fi -+ -+# For SELinux we need to use 'runuser' not 'su' -+if [ -x "/sbin/runuser" ]; then -+ SU="/sbin/runuser" -+else -+ SU="/bin/su" -+fi -+ - # This is only used for recursive invocations. - # Will not necessarily be set correctly at system bootup invocations - # (where it is sometimes invoked like "sh... /path/to/hsqldb start"), - # but, in those cases there will be no recursion. --INVOC_PATH=`dirname "$0"` || { -+INVOC_PATH=`/usr/bin/dirname "$0"` || { - echo "'dirname' failed" 1>&2 -- exit 2 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - [ -n "$INVOC_PATH" ] && INVOC_PATH="${INVOC_PATH}/" - --SYNTAX_MSG="SYNTAX: ${INVOC_PATH}hsqldb start|stop|stopcompact|restart|restartcmpacted|status" -+SYNTAX_MSG="Usage: ${INVOC_PATH}/${NAME} start|stop|status|try-restart|restart|force-reload|reload|probe" - - # You can override any of these default values in your config file: - -@@ -110,9 +164,12 @@ - SU_ECHO_SECS=1 - # File used as semaphore. If file is removed, a running pid checker - # process will exit. --PIDCHECKER_FLAGFILE=`mktemp /tmp/hsqldb.XXXXXXXX` -+PIDCHECKER_FLAGFILE=`/bin/mktemp /tmp/hsqldb.XXXXXXXX` - if [ x"$PIDCHECKER_FLAGFILE" = "x" ] ; then -- echo "unable to create tmp file"; exit 1 -+ echo "unable to create tmp file" -+ rc_failed 1 -+ rc_status -v -+ rc_exit - fi - # The following settings get overridden by optional setting in the config file. - # Time to allow for JVM to die after all HSQLDB instances stopped. -@@ -168,25 +225,31 @@ - done - [ -n "$CFGFILE" ] || { - echo "No global config file found in any of allowed locations" 1>&2 -- exit 11 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - - # Sanity check - [ -n "$LOGFILE" ] && [ -n "$PIDFILE" ] || { - echo "Internal problem in init script" 1>&2 -- exit 11 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - - [ $# -eq 1 ] || { - echo "$SYNTAX_MSG" 1>&2 -- exit 4 -+ exit 1 - } - - # It would be nice to permit some uses, like "status" by non-root users, - # but for now our goal is a superuser init script. - [ -w / ] || { # Very portable, but perhaps not perfect, test for superuser. - echo "Only 'root' may use this init script" 1>&2 -- exit 4 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - - # Use bsd-style enable/disable if it's in place. -@@ -209,11 +272,15 @@ - - [ -r "$CFGFILE" ] || { - echo "Unable to read config file '$CFGFILE'" 1>&2 -- exit 2 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - [ -f "$CFGFILE" ] || { - echo "'$CFGFILE' is not a regular file" 1>&2 -- exit 2 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - HSQLDB_OWNER= - JAVA_EXECUTABLE= -@@ -221,6 +288,28 @@ - SERVER_HOME= - SHUTDOWN_URLIDS= - . "$CFGFILE" -+ -+[ -z "$JAVA_EXECUTABLE" ] && { -+ # JPackage source Java config -+ . /etc/java/java.conf -+ -+ if [ -n "$JAVA_HOME" ]; then -+ JAVA_EXECUTABLE=${JAVA_HOME}/bin/java -+ else -+ JAVA_EXECUTABLE=${JVM_ROOT}/java/bin/java -+ fi -+ -+ if [ -z "$JAVA_HOME" ]; then -+ if [ -d "$JVM_ROOT/java" ]; then -+ JAVA_EXECUTABLE=$JVM_ROOT/java/bin/java -+ else -+ JAVA_EXECUTABLE=$JVM_ROOT/jre/bin/java -+ fi -+ else -+ JAVA_EXECUTABLE=$JAVA_HOME/bin/java -+ fi -+} -+ - # Suffix delimiter to $SERVER_ADDL_CLASSPATH, if it is set. - [ -n "$SERVER_ADDL_CLASSPATH" ] && - SERVER_ADDL_CLASSPATH="${SERVER_ADDL_CLASSPATH}:" -@@ -229,15 +318,21 @@ - [ -n "$SERVER_HOME" ] || { - echo "Config file '$CFGFILE' does not set one or more of following variables - JAVA_EXECUTABLE, HSQLDB_JAR_PATH, SERVER_HOME" 1>&2 -- exit 2 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - [ -d "$SERVER_HOME" ] || { - echo "SERVER_HOME variable in '$CFGFILE' is set to a non-directory." 1>&2 -- exit 2 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - [ -f "$JAVA_EXECUTABLE" ] && [ -f "$HSQLDB_JAR_PATH" ] || { - echo "JAVA_EXECUTABLE or HSQLDB_JAR_PATH in '$CFGFILE' is set to a non-file." 1>&2 -- exit 2 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - - # PROPERTY_FILE is a derived value. -@@ -246,28 +341,36 @@ - WebServer) PROPERTY_FILE="$SERVER_HOME"/webserver.properties;; - *) - echo 'Unsupported value for $TARGET_CLASS: '"$TARGET_CLASS" 1>&2 -- exit 2;; -+ rc_failed 2 -+ rc_status -v -+ rc_exit -+ ;; - esac - [ -f "$PROPERTY_FILE" ] || { - echo "'$PROPERTY_FILE' is missing" 1>&2 -- exit 2 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - [ -r "$PROPERTY_FILE" ] || { - echo "'$PROPERTY_FILE' isn't readable" 1>&2 -- exit 2 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - [ -r "$HSQLDB_JAR_PATH" ] || { - echo "'$HSQLDB_JAR_PATH' isn't readable" 1>&2 -- exit 2 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - [ -x "$JAVA_EXECUTABLE" ] || { - echo "No Java executable found at '$JAVA_EXECUTABLE'" 1>&2 -- exit 2 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - --# "chown" lives here on some UNIXes. --PATH="$PATH:/usr/sbin" -- - # Make a good effort (but not bullet-proof) check on permissions of the - # auth file. Unfortunately, if auth-file is not specified, this depends - # upon both (a) $HOME being set; and (b) SqlToolSprayer and SqlTool defaults. -@@ -279,15 +382,21 @@ - [ -n "${_AUTH_TEST_PATH}" ] || _AUTH_TEST_PATH="$HOME/sqltool.rc" - [ -f "$_AUTH_TEST_PATH" ] || { - echo "No auth file found at '$_AUTH_TEST_PATH'" 1>&2 -- exit 2 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - [ -r "$_AUTH_TEST_PATH" ] || { - echo "Auth file '$_AUTH_TEST_PATH' not readable" 1>&2 -- exit 2 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - 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 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - fi - -@@ -296,29 +405,37 @@ - [ -r "$PIDFILE" ] && { - [ -f "$PIDFILE" ] || { - echo "'$PIDFILE' is not a regular file" 1>&2 -- exit 6 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - [ -w "$PIDFILE" ] || { - echo "'$PIDFILE' is not writable" 1>&2 -- exit 6 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - HSQLDB_PID="`cat $PIDFILE`" || { - echo "Failed to read pid file '$PIDFILE'" 1>&2 -- exit 6 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - case "$HSQLDB_PID" in - *[a-zA-Z/!@#$%*+=_~]*) HSQLDB_PID=;; - *'^'*) HSQLDB_PID=;; - esac - [ -n "$HSQLDB_PID" ] || { -- echo "Pid file '$PIDFILE' does not contain a valid process identifier" 1>&2 -- exit 6 -+ rc_failed 7 -+ rc_status -v -+ rc_exit - } - kill -0 "$HSQLDB_PID" > /dev/null 2>&1 || { - echo 'Removing stale pid file' - rm -f "$PIDFILE" || { -- echo "Failed to remove pid file '$PIDFILE'" 1>&2 -- exit 6 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - HSQLDB_PID= - } -@@ -329,7 +446,9 @@ - status) - [ -n "$HSQLDB_PID" ] || { - echo "I don't know of any running hsqldb server." -- exit 0 -+ rc_failed 7 -+ rc_status -v -+ rc_exit - } - echo "There is an hsqldb server loaded from $HSQLDB_JAR_PATH - running with pid $HSQLDB_PID." -@@ -348,32 +467,42 @@ - "-Dsqltoolsprayer.propfile=$PROPERTY_FILE" \ - "-Dsqltoolsprayer.monfile=$PIDFILE" \ - org.hsqldb.util.SqlToolSprayer '--;' -+ rc_failed 0 -+ rc_status -v -+ rc_exit - ;; - start) - [ -n "$HSQLDB_PID" ] && { - echo "There is already a hsqldb server running with pid $HSQLDB_PID." 1>&2 -- exit 1 -+ rc_failed 0 -+ rc_status -v -+ rc_exit - } - TLS_SWITCHES= - [ -n "$TLS_KEYSTORE" ] && - TLS_SWITCHES="-Djavax.net.ssl.keyStore=$TLS_KEYSTORE -Djavax.net.ssl.keyStorePassword=$TLS_PASSWORD" - if [ -n "$HSQLDB_OWNER" ]; then - touch "$PIDFILE" || { -- echo "Failed to create pid file" 1>&2 -- exit 1 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - chown "$HSQLDB_OWNER" "$PIDFILE" || { - echo "Failed to chown pid file to '$HSQLDB_OWNER'" 1>&2 -- exit 1 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - # Some OSes choke if there are newlines in this string. - # N.b.!!! The shell of the -c command is the target user's default - # login shell, so keep this command shell-independent! -- nohup su "$HSQLDB_OWNER" -c "cd '$SERVER_HOME' && echo "'$$'" > '$PIDFILE' && exec '$JAVA_EXECUTABLE' $SERVER_JVMARGS $TLS_SWITCHES -classpath '${SERVER_ADDL_CLASSPATH}${HSQLDB_JAR_PATH}' org.hsqldb.util.MainInvoker org.hsqldb.$TARGET_CLASS $INVOC_ADDL_ARGS" >> "$LOGFILE" 2>&1 & -+ /usr/bin/nohup $SU "$HSQLDB_OWNER" -s /bin/sh -c "cd '$SERVER_HOME' && echo "'$$'" > '$PIDFILE' && exec '$JAVA_EXECUTABLE' $SERVER_JVMARGS $TLS_SWITCHES -classpath '${SERVER_ADDL_CLASSPATH}${HSQLDB_JAR_PATH}' org.hsqldb.util.MainInvoker org.hsqldb.$TARGET_CLASS $INVOC_ADDL_ARGS" >> "$LOGFILE" 2>&1 & - else - cd "$SERVER_HOME" || { - echo "Failed to cd to '$SERVER_HOME'" 1>&2 -- exit 1 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - export JAVA_EXECUTABLE - export HSQLDB_JAR_PATH -@@ -382,10 +511,12 @@ - export SERVER_JVMARGS - export TARGET_CLASS - export INVOC_ADDL_ARGS -- nohup sh -c ' -+ /usr/bin/nohup sh -c ' - echo $$ > "$PIDFILE" || { - echo "Failed to write pid to pid file" 1>&2 -- exit 1 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - eval exec "$JAVA_EXECUTABLE" $SERVER_JVMARGS $TLS_SWITCHES -classpath "${SERVER_ADDL_CLASSPATH}${HSQLDB_JAR_PATH}" org.hsqldb.util.MainInvoker org.hsqldb.$TARGET_CLASS $INVOC_ADDL_ARGS - ' >> "$LOGFILE" 2>&1 & -@@ -404,7 +535,9 @@ - # but regardless of why, the pid file does not contain a valid pid. - touch "$PIDCHECKER_FLAGFILE" || { - echo "Failed to touch file '$PIDCHECKER_FLAGFILE'" 1>&2 -- exit 1 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - export PIDCHECKER_FLAGFILE - export PIDFILE -@@ -414,7 +547,9 @@ - [ -f "$PIDCHECKER_FLAGFILE" ] || exit 0 - kill -0 "`cat $PIDFILE`" > /dev/null 2>&1 || { - rm -f "$PIDFILE" "$PIDCHECKER_FLAGFILE" -- exit 1 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - sleep 1 - done -@@ -426,18 +561,24 @@ - org.hsqldb.util.SqlToolSprayer '--;' && { - rm -f "$PIDCHECKER_FLAGFILE" - echo "org.hsqldb.$TARGET_CLASS started with pid `cat $PIDFILE`" -- exit 0 -+ rc_failed 0 -+ rc_status -v -+ rc_exit - } - rm -f "$PIDCHECKER_FLAGFILE" - echo "Failed to start org.hsqldb.$TARGET_CLASS. - See log file '$LOGFILE'." 1>&2 -- exit 1 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - ;; - stop|stopcompact) - [ "$COMMAND" = stopcompact ] && SHUTDOWN_OPTION='compact' - [ -n "$HSQLDB_PID" ] || { - echo "I don't know of any running hsqldb server." 1>&2 -- exit 1 -+ rc_failed 7 -+ rc_status -v -+ rc_exit - } - AUTH_FILE_SWITCH= - # N.b., there will be a problem if there are special characters or -@@ -455,23 +596,64 @@ - sleep $MAX_TERMINATE_SECS # Give the JVM a sec. or 2 to fully exit. - kill -0 "$HSQLDB_PID" > /dev/null 2>&1 && { - echo "WARNING: hsqldb is still running!" 1>&2 -- exit 1 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - rm -f "$PIDFILE" || { - echo "Failed to remove pid file '$PIDFILE'" 1>&2 -- exit 1 -+ rc_failed 1 -+ rc_status -v -+ rc_exit - } - echo "Successful shutdown ${SHUTDOWN_OPTION} (for the $TARGET_CLASS process)!" -- exit 0 -+ rc_failed 0 -+ rc_status -v -+ rc_exit - ;; - restart|restartcompacted) - STOP_COMMAND=stop - [ "$COMMAND" = restartcompacted ] && STOP_COMMAND=stopcompact -- "${INVOC_PATH}"hsqldb $STOP_COMMAND || exit $? -+ "${INVOC_PATH}"hsqldb $STOP_COMMAND || { -+ rc_failed $? -+ rc_status -s -+ rc_exit -+ } - exec "${INVOC_PATH}"/hsqldb start -+ rc_failed $? -+ rc_status -s -+ rc_exit - ;; -+ try-restart) -+ ## Stop the service and if this succeeds (i.e. the -+ ## service was running before), start it again. -+ ## Note: try-restart is not (yet) part of LSB (as of 0.7.5) -+ $0 status >/dev/null && $0 restart -+ -+ # Remember status and be quiet -+ rc_status -+ ;; -+ force-reload) -+ ## Signal the daemon to reload its config. Most daemons -+ ## do this on signal 1 (SIGHUP). -+ ## If it does not support it, restart. -+ -+ echo -n "Reload service hsqldb" -+ ## if it supports it: -+ #killproc -HUP $TOMCAT_BIN -+ #touch /var/run/FOO.pid -+ #rc_status -v -+ -+ ## Otherwise: -+ $0 stop && $0 start -+ rc_status -+ ;; -+ reload|probe) -+ rc_failed 3 -+ rc_status -v -+ ;; - *) - echo "$SYNTAX_MSG" 1>&2 -- exit 5 -+ exit 1 - ;; - esac diff --git a/hsqldb-1.8.0.10.pom b/hsqldb-1.8.0.10.pom deleted file mode 100644 index 10fcd10..0000000 --- a/hsqldb-1.8.0.10.pom +++ /dev/null @@ -1,22 +0,0 @@ - - 4.0.0 - hsqldb - hsqldb - jar - HSQLDB - 1.8.0.10 - http://hsqldb.org/ - Lightweight 100% Java SQL Database Engine - - - HSQLDB License - http://hsqldb.org/web/hsqlLicense.html - repo - - - - http://sourceforge.net/cvs/?group_id=23316 - - - - diff --git a/hsqldb-2.2.9.pom b/hsqldb-2.2.9.pom new file mode 100644 index 0000000..372dac5 --- /dev/null +++ b/hsqldb-2.2.9.pom @@ -0,0 +1,27 @@ + + + 4.0.0 + org.hsqldb + hsqldb + 2.2.9 + HyperSQL Database + HSQLDB - Lightweight 100% Java SQL Database Engine + http://hsqldb.org + 2001 + + The HSQL Development Group + http://hsqldb.org + + + + HSQLDB License, a BSD open source license + http://hsqldb.org/web/hsqlLicense.html + repo + + + + scm:svn:http://hsqldb.svn.sourceforge.net/svnroot/hsqldb/base + http://hsqldb.svn.sourceforge.net/viewvc/hsqldb/base/trunk + + diff --git a/hsqldb-2.2.9.zip b/hsqldb-2.2.9.zip new file mode 100644 index 0000000..6e06940 --- /dev/null +++ b/hsqldb-2.2.9.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b60decdb59513f52b915abed2223e287ba19360fa77fc8141c4fc6af90c5e72 +size 7450194 diff --git a/hsqldb-apidocs.patch b/hsqldb-apidocs.patch new file mode 100644 index 0000000..1b19c59 --- /dev/null +++ b/hsqldb-apidocs.patch @@ -0,0 +1,12 @@ +diff --git a/build/build.xml b/build/build.xml +index 3a2b77f..c18fda0 100644 +--- a/build/build.xml ++++ b/build/build.xml +@@ -130,6 +130,7 @@ examples: + There is no performance penalty, since the javadoc task regenerates + everything each run. + --> ++ + + diff --git a/hsqldb-cmdline.patch b/hsqldb-cmdline.patch new file mode 100644 index 0000000..4547b0e --- /dev/null +++ b/hsqldb-cmdline.patch @@ -0,0 +1,21 @@ +diff --git a/build/build.xml b/build/build.xml +index ae8b37b..f3453fd 100644 +--- a/build/build.xml ++++ b/build/build.xml +@@ -493,7 +493,7 @@ examples: + + + +- + + + +- + + + diff --git a/hsqldb-jdbc-4.1.patch b/hsqldb-jdbc-4.1.patch deleted file mode 100644 index abf684a..0000000 --- a/hsqldb-jdbc-4.1.patch +++ /dev/null @@ -1,293 +0,0 @@ -diff -ur hsqldb.orig/build/build.xml hsqldb/build/build.xml ---- hsqldb.orig/build/build.xml 2010-06-23 08:49:15.000000000 -0400 -+++ hsqldb/build/build.xml 2012-01-24 15:09:43.000000000 -0500 -@@ -98,7 +98,11 @@ - - - -- -+ -+ -+ -+ -+ - - - -@@ -210,6 +214,7 @@ - - - -+ - - - -@@ -244,6 +249,7 @@ - - - -+ - - - -@@ -279,10 +285,47 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -- - 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 -ur hsqldb.orig/src/org/hsqldb/jdbc/jdbcConnection.java hsqldb/src/org/hsqldb/jdbc/jdbcConnection.java ---- hsqldb.orig/src/org/hsqldb/jdbc/jdbcConnection.java 2010-02-27 12:04:52.000000000 -0500 -+++ hsqldb/src/org/hsqldb/jdbc/jdbcConnection.java 2012-01-24 14:53:02.000000000 -0500 -@@ -50,6 +50,14 @@ - */ - - //#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 +2802,33 @@ - */ - - //#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 -ur hsqldb.orig/src/org/hsqldb/jdbc/jdbcDatabaseMetaData.java hsqldb/src/org/hsqldb/jdbc/jdbcDatabaseMetaData.java ---- hsqldb.orig/src/org/hsqldb/jdbc/jdbcDatabaseMetaData.java 2010-02-27 12:04:52.000000000 -0500 -+++ hsqldb/src/org/hsqldb/jdbc/jdbcDatabaseMetaData.java 2012-01-24 15:03:07.000000000 -0500 -@@ -5697,4 +5697,21 @@ - */ - - //#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 -ur hsqldb.orig/src/org/hsqldb/jdbc/jdbcDataSource.java hsqldb/src/org/hsqldb/jdbc/jdbcDataSource.java ---- hsqldb.orig/src/org/hsqldb/jdbc/jdbcDataSource.java 2010-02-27 12:04:52.000000000 -0500 -+++ hsqldb/src/org/hsqldb/jdbc/jdbcDataSource.java 2012-01-24 15:08:29.000000000 -0500 -@@ -47,6 +47,13 @@ - //#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 - - /** -@@ -325,4 +332,14 @@ - */ - - //#endif JAVA6 -+ -+//#ifdef JAVA7 -+/* -+ public Logger getParentLogger() throws SQLFeatureNotSupportedException -+ { -+ throw new SQLFeatureNotSupportedException("Not supported yet."); -+ } -+*/ -+ -+//#endif JAVA7 - } -diff -ur hsqldb.orig/src/org/hsqldb/jdbc/jdbcResultSet.java hsqldb/src/org/hsqldb/jdbc/jdbcResultSet.java ---- hsqldb.orig/src/org/hsqldb/jdbc/jdbcResultSet.java 2010-06-23 08:49:19.000000000 -0400 -+++ hsqldb/src/org/hsqldb/jdbc/jdbcResultSet.java 2012-01-24 14:55:16.000000000 -0500 -@@ -5332,4 +5332,21 @@ - */ - - //#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 JAVA6 - } -diff -ur hsqldb.orig/src/org/hsqldb/jdbc/jdbcStatement.java hsqldb/src/org/hsqldb/jdbc/jdbcStatement.java ---- hsqldb.orig/src/org/hsqldb/jdbc/jdbcStatement.java 2010-02-27 12:04:52.000000000 -0500 -+++ hsqldb/src/org/hsqldb/jdbc/jdbcStatement.java 2012-01-24 14:58:14.000000000 -0500 -@@ -1610,4 +1610,18 @@ - } - */ - //#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 -ur hsqldb.orig/src/org/hsqldb/jdbcDriver.java hsqldb/src/org/hsqldb/jdbcDriver.java ---- hsqldb.orig/src/org/hsqldb/jdbcDriver.java 2009-02-16 19:29:55.000000000 -0500 -+++ hsqldb/src/org/hsqldb/jdbcDriver.java 2012-01-24 15:08:44.000000000 -0500 -@@ -42,6 +42,13 @@ - 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 +328,14 @@ - 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/hsqldb-post b/hsqldb-post new file mode 100644 index 0000000..1e6991a --- /dev/null +++ b/hsqldb-post @@ -0,0 +1,76 @@ +#!/bin/sh + +# This file was created with portions of the original SysV init script shipped +# with hsqldb + +# Copyright (c) 2001-2004, 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. + + +# $MAX_START_SECS from when the Server/WebServer is started. +MAX_START_SECS=60 + +# Class in the org.hsqldb package to start. +# At this time, only the values "Server" or "WebServer" will work. +TARGET_CLASS=Server + +. /etc/sysconfig/hsqldb + +# PROPERTY_FILE is a derived value. +case "$TARGET_CLASS" in + Server) PROPERTY_FILE="$SERVER_HOME"/server.properties;; + WebServer) PROPERTY_FILE="$SERVER_HOME"/webserver.properties;; + *) + echo 'Unsupported value for $TARGET_CLASS: '"$TARGET_CLASS" 1>&2 + exit 2;; +esac +[ -f "$PROPERTY_FILE" ] || { + echo "'$PROPERTY_FILE' is missing" 1>&2 + exit 2 +} +[ -r "$PROPERTY_FILE" ] || { + echo "'$PROPERTY_FILE' isn't readable" 1>&2 + exit 2 +} + +AUTH_FILE_SWITCH= +# N.b., there will be a problem if there are special characters or +# spaces inside of $AUTH_FILE. +[ -n "$AUTH_FILE" ] && AUTH_FILE_SWITCH="-Dsqltoolsprayer.rcfile=$AUTH_FILE" + +# Might as well set CLASSPATH for a cleaner command. +CLASSPATH="$HSQLDB_JAR_PATH" +export CLASSPATH + +sleep 1 + +"$JAVA_EXECUTABLE" $AUTH_FILE_SWITCH $CLIENT_JVMARGS \ + "-Dsqltoolsprayer.propfile=$PROPERTY_FILE" \ + "-Dsqltoolsprayer.maxtime=${MAX_START_SECS}000" \ + org.hsqldb.cmdline.SqlToolSprayer '' db0-url diff --git a/hsqldb-stop b/hsqldb-stop new file mode 100644 index 0000000..45329bf --- /dev/null +++ b/hsqldb-stop @@ -0,0 +1,84 @@ +#!/bin/sh + +# This file was created with portions of the original SysV init script shipped +# with hsqldb + +# Copyright (c) 2001-2004, 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. + +# Class in the org.hsqldb package to start. +# At this time, only the values "Server" or "WebServer" will work. +TARGET_CLASS=Server +MAX_TERMINATE_SECS=1 + +# To customize settings, edit this file: +. /etc/sysconfig/hsqldb + +# PROPERTY_FILE is a derived value. +case "$TARGET_CLASS" in + Server) PROPERTY_FILE="$SERVER_HOME"/server.properties;; + WebServer) PROPERTY_FILE="$SERVER_HOME"/webserver.properties;; + *) + echo 'Unsupported value for $TARGET_CLASS: '"$TARGET_CLASS" 1>&2 + exit 6;; +esac +[ -f "$PROPERTY_FILE" ] || { + echo "'$PROPERTY_FILE' is missing" 1>&2 + exit 6 +} +[ -r "$PROPERTY_FILE" ] || { + echo "'$PROPERTY_FILE' isn't readable" 1>&2 + exit 6 +} +[ -r "$HSQLDB_JAR_PATH" ] || { + echo "'$HSQLDB_JAR_PATH' isn't readable" 1>&2 + exit 6 +} +[ -x "$JAVA_EXECUTABLE" ] || { + echo "No Java executable found at '$JAVA_EXECUTABLE'" 1>&2 + exit 6 +} + +AUTH_FILE_SWITCH= +# N.b., there will be a problem if there are special characters or +# spaces inside of $AUTH_FILE. +[ -n "$AUTH_FILE" ] && +AUTH_FILE_SWITCH="-Dsqltoolsprayer.rcfile=$AUTH_FILE" +# Might as well set CLASSPATH for a cleaner command. +CLASSPATH="$HSQLDB_JAR_PATH" +export CLASSPATH +export PATH # Required only for some funny init environments. +"$JAVA_EXECUTABLE" $AUTH_FILE_SWITCH $CLIENT_JVMARGS \ + "-Dsqltoolsprayer.propfile=$PROPERTY_FILE" \ + org.hsqldb.cmdline.SqlToolSprayer '' \ + db0-url $SHUTDOWN_URLIDS +sleep $MAX_TERMINATE_SECS # Give the JVM a sec. or 2 to fully exit. +echo "Successful shutdown ${SHUTDOWN_OPTION} (for the $TARGET_CLASS process)!" +exit 0 + diff --git a/hsqldb-tmp.patch b/hsqldb-tmp.patch deleted file mode 100644 index cd46ed5..0000000 --- a/hsqldb-tmp.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- hsqldb/bin/hsqldb -+++ hsqldb/bin/hsqldb -@@ -110,7 +110,10 @@ - SU_ECHO_SECS=1 - # File used as semaphore. If file is removed, a running pid checker - # process will exit. --PIDCHECKER_FLAGFILE=/tmp/pidchecker.run -+PIDCHECKER_FLAGFILE=`mktemp /tmp/hsqldb.XXXXXXXX` -+if [ x"$PIDCHECKER_FLAGFILE" = "x" ] ; then -+ echo "unable to create tmp file"; exit 1 -+fi - # The following settings get overridden by optional setting in the config file. - # Time to allow for JVM to die after all HSQLDB instances stopped. - MAX_TERMINATE_SECS=1 diff --git a/hsqldb-wrapper b/hsqldb-wrapper new file mode 100644 index 0000000..2a2f50f --- /dev/null +++ b/hsqldb-wrapper @@ -0,0 +1,97 @@ +#!/bin/sh + +# This file was created with portions of the original SysV init script shipped +# with hsqldb + +# Copyright (c) 2001-2004, 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. + + +# Class in the org.hsqldb package to start. +# At this time, only the values "Server" or "WebServer" will work. +TARGET_CLASS=Server + +. /etc/sysconfig/hsqldb + +# Suffix delimiter to $SERVER_ADDL_CLASSPATH, if it is set. +[ -n "$SERVER_ADDL_CLASSPATH" ] && +SERVER_ADDL_CLASSPATH="${SERVER_ADDL_CLASSPATH}:" +# Validate that config file sets all required variables. +[ -n "$JAVA_EXECUTABLE" ] && [ -n "$HSQLDB_JAR_PATH" ] && +[ -n "$SERVER_HOME" ] || { + echo "Config file '$CFGFILE' does not set one or more of following variables + JAVA_EXECUTABLE, HSQLDB_JAR_PATH, SERVER_HOME" 1>&2 + exit 2 +} +[ -d "$SERVER_HOME" ] || { + echo "SERVER_HOME variable in '$CFGFILE' is set to a non-directory." 1>&2 + exit 2 +} +[ -f "$JAVA_EXECUTABLE" ] && [ -f "$HSQLDB_JAR_PATH" ] || { + echo "JAVA_EXECUTABLE or HSQLDB_JAR_PATH in '$CFGFILE' is set to a non-file." 1>&2 + exit 2 +} +[ -r "$HSQLDB_JAR_PATH" ] || { + echo "'$HSQLDB_JAR_PATH' isn't readable" 1>&2 + exit 2 +} +[ -x "$JAVA_EXECUTABLE" ] || { + echo "No Java executable found at '$JAVA_EXECUTABLE'" 1>&2 + exit 2 +} + +# Make a good effort (but not bullet-proof) check on permissions of the +# auth file. Unfortunately, if auth-file is not specified, this depends +# upon both (a) $HOME being set; and (b) SqlToolSprayer and SqlTool defaults. +# On the other hand, it works great if AUTH_FILE is set explicitly by user. +if [ -z "$AUTH_FILE" ] && [ -z "$HOME" ]; then + : # Lousy init environment didn't set $HOME, so can't find dflt cfg file. +else + _AUTH_TEST_PATH="$AUTH_FILE" + [ -n "${_AUTH_TEST_PATH}" ] || _AUTH_TEST_PATH="$HOME/sqltool.rc" + [ -f "$_AUTH_TEST_PATH" ] || { + echo "No auth file found at '$_AUTH_TEST_PATH'" 1>&2 + exit 2 + } + [ -r "$_AUTH_TEST_PATH" ] || { + echo "Auth file '$_AUTH_TEST_PATH' not readable" 1>&2 + exit 2 + } + 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 + } +fi + +TLS_SWITCHES= +[ -n "$TLS_KEYSTORE" ] && +TLS_SWITCHES="-Djavax.net.ssl.keyStore=$TLS_KEYSTORE -Djavax.net.ssl.keyStorePassword=$TLS_PASSWORD" + +cd "$SERVER_HOME" && +exec "$JAVA_EXECUTABLE" $SERVER_JVMARGS $TLS_SWITCHES -classpath "${SERVER_ADDL_CLASSPATH}${HSQLDB_JAR_PATH}" org.hsqldb.util.MainInvoker org.hsqldb.$TARGET_CLASS $INVOC_ADDL_ARGS diff --git a/hsqldb.changes b/hsqldb.changes index ae15557..66a18fa 100644 --- a/hsqldb.changes +++ b/hsqldb.changes @@ -1,3 +1,35 @@ +------------------------------------------------------------------- +Wed Sep 4 12:42:55 UTC 2013 - mvyskocil@suse.com + +- Update to 2.2.9 + * new core fully multithreaded core supports 2PL (two-phased locking) + and MVCC (multiversion concurrency control), plus a hybrid 2PL+MVCC + transaction control mode + * Massive high performance LOB store for BLOBs and CLOBs up to multi-gigabyte + size, with total storage capacity of 64 terabytes. + * Increased default storage space of 16GB for ordinary data, with fast + startup and shutdown. Storage space can be extended to 2TB. + * Large result sets, views and subqueries can now be stored on disk (on the + server side) while being generated and accessed. The threshold to store + a result on disk, as well as the actual fetch size in client-server + configurations can be specified per connection. + * All query conditions, whether in a JOIN or WHERE clause, are now + allocated to an index if possible. + * HyperSQL supports schema-based stored procedures and functions written + entirely in SQL and JAVA. + * Support for BIT, BIT VARYING, CLOB, BLOB, INTERVAL according to the + SQL Standards + * and many more - see http://hsqldb.sourceforge.net/web/features200.html +- Dropped patches + * hsqldb-1.8.0-scripts.patch + * hsqldb-1.8.0.10-suse-initscript.patch + * hsqldb-jdbc-4.1.patch + * hsqldb-tmp.patch +- New patches + * hsqldb-apidocs.patch + * hsqldb-cmdline.patch +- systemd integration and drop init script + ------------------------------------------------------------------- Mon May 21 12:19:01 UTC 2012 - mvyskocil@suse.cz diff --git a/hsqldb.spec b/hsqldb.spec index 6bd9729..011d47f 100644 --- a/hsqldb.spec +++ b/hsqldb.spec @@ -1,7 +1,7 @@ # # spec file for package hsqldb # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,38 +17,46 @@ Name: hsqldb -Version: 1.8.1.13 +Version: 2.2.9 Release: 0 -Summary: HYperSQL Database Engine +Summary: HyperSQL Database Engine License: BSD-3-Clause -Group: Development/Libraries/Java +Group: Productivity/Databases/Servers Url: http://hsqldb.sourceforge.net/ -Source0: %{name}_1_8_1_3.zip -Source1: %{name}-1.8.0-standard.cfg -Source2: %{name}-1.8.0-standard-server.properties -Source3: %{name}-1.8.0-standard-webserver.properties -Source4: %{name}-1.8.0-standard-sqltool.rc -Source5: %{name}-1.8.0.10.pom -Patch0: %{name}-1.8.0-scripts.patch -Patch1: hsqldb-tmp.patch -Patch3: hsqldb-jdbc-4.1.patch -Patch1000: hsqldb-1.8.0.10-suse-initscript.patch +Source0: http://downloads.sourceforge.net/hsqldb/%{name}-%{version}.zip +Source1: hsqldb-1.8.0-standard.cfg +Source2: hsqldb-1.8.0-standard-server.properties +Source3: hsqldb-1.8.0-standard-webserver.properties +Source4: hsqldb-1.8.0-standard-sqltool.rc +Source5: http://www.hsqldb.org/repos/org/hsqldb/hsqldb/%{version}/hsqldb-%{version}.pom + +# Custom systemd files - talking with upstream about incorporating them, see +# http://sourceforge.net/projects/hsqldb/forums/forum/73673/topic/5367103 +Source6: hsqldb.systemd +Source7: hsqldb-wrapper +Source8: hsqldb-post +Source9: hsqldb-stop + +# Javadoc fails to create since apidocs folder is deleted and not recreated +Patch0: %{name}-apidocs.patch +# Package org.hsqldb.cmdline was only compiled with java 1.5 +Patch1: %{name}-cmdline.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch Requires: java Requires: servletapi5 +%{systemd_requires} BuildRequires: ant BuildRequires: fdupes BuildRequires: jpackage-utils >= 1.5 BuildRequires: junit BuildRequires: servletapi5 +BuildRequires: systemd BuildRequires: unzip -PreReq: %fillup_prereq - %description HSQLdb is a relational database engine written in JavaTM , with a JDBC driver, supporting a subset of ANSI-92 SQL. It offers a small (about @@ -68,108 +76,52 @@ database management system that is completely free under the Modified BSD License. Yes, that's right, completely free of cost or restrictions! - - %package manual -Summary: Hsqldb Database Engine -Group: Development/Libraries/Java +Summary: Manual for %{name} +Group: Documentation/Other %description manual -HSQLdb is a relational database engine written in JavaTM , with a JDBC -driver, supporting a subset of ANSI-92 SQL. It offers a small (about -100k), fast database engine which offers both in memory and disk based -tables. Embedded and server modes are available. Additionally, it -includes tools such as a minimal web server, in-memory query and -management tools (can be run as applets or servlets, too) and a number -of demonstration examples. - -Downloaded code should be regarded as being of production quality. The -product is currently being used as a database and persistence engine in -many Open Source Software projects and even in commercial projects and -products! In it's current version it is extremely stable and reliable. -It is best known for its small size, ability to execute completely in -memory and its speed. Yet it is a completely functional relational -database management system that is completely free under the Modified -BSD License. Yes, that's right, completely free of cost or -restrictions! - +Manual for %{name}. %package javadoc -Summary: Hsqldb Database Engine -Group: Development/Libraries/Java +Summary: Javadoc for %{name} +Group: Documentation/HTML %description javadoc -HSQLdb is a relational database engine written in JavaTM , with a JDBC -driver, supporting a subset of ANSI-92 SQL. It offers a small (about -100k), fast database engine which offers both in memory and disk based -tables. Embedded and server modes are available. Additionally, it -includes tools such as a minimal web server, in-memory query and -management tools (can be run as applets or servlets, too) and a number -of demonstration examples. - -Downloaded code should be regarded as being of production quality. The -product is currently being used as a database and persistence engine in -many Open Source Software projects and even in commercial projects and -products! In it's current version it is extremely stable and reliable. -It is best known for its small size, ability to execute completely in -memory and its speed. Yet it is a completely functional relational -database management system that is completely free under the Modified -BSD License. Yes, that's right, completely free of cost or -restrictions! - +Javadoc for %{name}. %package demo -Summary: Hsqldb Database Engine +Summary: Demo for %{name} Group: Development/Libraries/Java Requires: %{name} = %{version} %description demo -HSQLdb is a relational database engine written in JavaTM , with a JDBC -driver, supporting a subset of ANSI-92 SQL. It offers a small (about -100k), fast database engine which offers both in memory and disk based -tables. Embedded and server modes are available. Additionally, it -includes tools such as a minimal web server, in-memory query and -management tools (can be run as applets or servlets, too) and a number -of demonstration examples. - -Downloaded code should be regarded as being of production quality. The -product is currently being used as a database and persistence engine in -many Open Source Software projects and even in commercial projects and -products! In it's current version it is extremely stable and reliable. -It is best known for its small size, ability to execute completely in -memory and its speed. Yet it is a completely functional relational -database management system that is completely free under the Modified -BSD License. Yes, that's right, completely free of cost or -restrictions! - - +Demonstrations and samples for %{name}. %prep -%setup -T -c -n %{name} -(cd ..; unzip -q %{SOURCE0}) +%setup -q -n %{name}-%{version}/%{name} # set right permissions -find . -name "*.sh" -exec chmod 755 \{\} \; +find . -name "*.sh" -exec chmod 755 {} + # remove all _notes directories -for dir in `find . -name _notes`; do rm -rf $dir; done +find . -name _notes -exec rm -rf {} + # remove all binary libs -find . -name "*.jar" -exec rm -f {} \; -find . -name "*.class" -exec rm -f {} \; -find . -name "*.war" -exec rm -f {} \; +find . -name "*.jar" -exec rm -f {} + +find . -name "*.class" -exec rm -f {} + +find . -name "*.war" -exec rm -f {} + # correct silly permissions chmod -R go=u-w * -%patch0 -p0 -%patch1 -p1 -%patch3 -p1 -%patch1000 -b .suse-initscript +# Fix doc location +sed -i -e 's/doc-src/doc/g' build/build.xml -cp %{SOURCE5} pom.xml +%patch0 -p1 +%patch1 -p1 %build export CLASSPATH=$(build-classpath \ @@ -177,73 +129,72 @@ servletapi5 \ junit) pushd build -ant jar javadoc +export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8 +ant hsqldb javadoc popd %install - # jar -install -d -m 755 $RPM_BUILD_ROOT%{_javadir} -install -m 644 lib/%{name}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar +install -d -m 755 %{buildroot}%{_javadir} +install -m 644 lib/%{name}.jar %{buildroot}%{_javadir}/%{name}.jar -# bin -install -d -m 755 $RPM_BUILD_ROOT%{_bindir} -install -m 755 bin/runUtil.sh $RPM_BUILD_ROOT%{_bindir}/%{name}RunUtil +# systemd +install -d -m 755 %{buildroot}%{_unitdir} +install -d -m 755 %{buildroot}%{_prefix}/lib/%{name} +install -m 644 %{SOURCE6} %{buildroot}%{_unitdir}/%{name}.service +install -m 755 %{SOURCE7} %{buildroot}%{_prefix}/lib/%{name}/%{name}-wrapper +install -m 755 %{SOURCE8} %{buildroot}%{_prefix}/lib/%{name}/%{name}-post +install -m 755 %{SOURCE9} %{buildroot}%{_prefix}/lib/%{name}/%{name}-stop -# sysv init -install -d -m 755 $RPM_BUILD_ROOT%{_initrddir} -install -m 755 bin/%{name} $RPM_BUILD_ROOT%{_initrddir}/%{name} # rchsqldb link -install -d -m 0755 $RPM_BUILD_ROOT/%{_sbindir}/ -ln -sf %{_sysconfdir}/init.d/%{name} $RPM_BUILD_ROOT/%{_sbindir}/rc%{name} +install -d -m 0755 %{buildroot}/%{_sbindir}/ +ln -sf ../../sbin/service %{buildroot}/%{_sbindir}/rc%{name} # sysconfig -#install -d -m 0755 $RPM_BUILD_ROOT/var/adm/fillup-templates -#install -m 700 %{SOURCE1} $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.%{name} +#install -d -m 0755 %{buildroot}/var/adm/fillup-templates +#install -m 700 %{SOURCE1} %{buildroot}/var/adm/fillup-templates/sysconfig.%{name} +install -d -m 0755 %{buildroot}/%{_sysconfdir} install -m 0644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/%{name}.conf # serverconfig -install -d -m 755 $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name} -install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/server.properties -install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/webserver.properties -install -m 600 %{SOURCE4} $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/sqltool.rc +install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name} +install -m 644 %{SOURCE2} %{buildroot}%{_localstatedir}/lib/%{name}/server.properties +install -m 644 %{SOURCE3} %{buildroot}%{_localstatedir}/lib/%{name}/webserver.properties +install -m 600 %{SOURCE4} %{buildroot}%{_localstatedir}/lib/%{name}/sqltool.rc # lib -install -d -m 755 $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/lib -install -m 644 lib/functions $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/lib - -# data -install -d -m 755 $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/data - -# demo -install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/demo -install -m 755 demo/*.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/demo -install -m 644 demo/*.html $RPM_BUILD_ROOT%{_datadir}/%{name}/demo +install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name}/lib # javadoc -install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name} -cp -r doc/src/* $RPM_BUILD_ROOT%{_javadocdir}/%{name} -rm -rf doc/src +install -d -m 755 %{buildroot}%{_javadocdir}/%{name} +cp -r doc/apidocs/* %{buildroot}%{_javadocdir}/%{name} + +# data +install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name}/data + +# demo +install -d -m 755 %{buildroot}%{_datadir}/%{name}/sample +rm -f sample/%{name}.init +install -m 644 sample/* %{buildroot}%{_datadir}/%{name}/sample # manual -install -d -m 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} -cp -pr doc/* $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} -cp -p index.html $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} -%fdupes -s %{buildroot} +install -d -m 755 %{buildroot}%{_docdir}/%{name}-%{version} +cp -pr doc/* %{buildroot}%{_docdir}/%{name}-%{version} +cp -p index.html %{buildroot}%{_docdir}/%{name}-%{version} +cd .. # Maven metadata -install -pD -T -m 644 pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-%{name}.pom -%add_to_maven_depmap %{name} %{name} %{version} JPP %{name} +install -pD -T -m 644 %{SOURCE5} %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom +%add_maven_depmap -pushd $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/lib +pushd %{buildroot}%{_localstatedir}/lib/%{name}/lib # build-classpath can not be used as the jar is not # yet present during the build ln -s %{_javadir}/hsqldb.jar hsqldb.jar ln -s $(build-classpath servletapi5) servletapi5.jar popd -%clean -rm -rf $RPM_BUILD_ROOT +%fdupes -s %{buildroot} %pre # Add the "hsqldb" user and group @@ -259,36 +210,38 @@ else %{_sbindir}/useradd -r -g %{name} -c "Hsqldb" -s /bin/sh \ -d %{_localstatedir}/lib/%{name} -o %{name} 2> /dev/null || : fi +%service_add_pre %{name}.service %post -%{fillup_and_insserv %{name}} -rm -f %{_localstatedir}/lib/%{name}/lib/hsqldb.jar -rm -f %{_localstatedir}/lib/%{name}/lib/servlet.jar - -%postun -%restart_on_update %{name} -%insserv_cleanup +%{fillup_only %{name}} +%service_add_post %{name}.service %preun -%stop_on_removal %{name} +%service_del_preun %{name}.service + +%postun +%service_del_postun %{name}.service %files %defattr(0644,root,root,0755) %dir %{_docdir}/%{name}-%{version} %doc %{_docdir}/%{name}-%{version}/hsqldb_lic.txt %{_javadir}/* -%attr(0755,root,root) %{_bindir}/* -%attr(0755,root,root) %{_sbindir}/rc%{name} -%attr(0755,root,root) %{_initrddir}/%{name} -%attr(0700,hsqldb,hsqldb) %{_localstatedir}/lib/%{name}/data +%{_sbindir}/rc%{name} +%{_unitdir}/%{name}.service +%dir %{_prefix}/lib/%{name}/ +%attr(0755,root,root) %{_prefix}/lib/%{name}/%{name}-post +%attr(0755,root,root) %{_prefix}/lib/%{name}/%{name}-stop +%attr(0755,root,root) %{_prefix}/lib/%{name}/%{name}-wrapper %{_localstatedir}/lib/%{name}/lib +%attr(0700,hsqldb,hsqldb) %{_localstatedir}/lib/%{name}/data %attr(0644,root,root) %{_localstatedir}/lib/%{name}/server.properties %attr(0644,root,root) %{_localstatedir}/lib/%{name}/webserver.properties %attr(0600,hsqldb,hsqldb) %{_localstatedir}/lib/%{name}/sqltool.rc %dir %{_localstatedir}/lib/%{name} %config(noreplace) %{_sysconfdir}/%{name}.conf %dir %{_mavenpomdir} -%{_mavenpomdir}/JPP-%{name}.pom +%{_mavenpomdir}/* %{_mavendepmapfragdir}/%{name} %files manual diff --git a/hsqldb.systemd b/hsqldb.systemd new file mode 100644 index 0000000..259e760 --- /dev/null +++ b/hsqldb.systemd @@ -0,0 +1,14 @@ +[Unit] +Description=HyperSQL Database Engine + + +[Service] +Type=simple +User=hsqldb +Group=hsqldb +ExecStart=-/usr/lib/hsqldb/hsqldb-wrapper +ExecStartPost=/usr/lib/hsqldb/hsqldb-post +ExecStop=/usr/lib/hsqldb/hsqldb-stop + +[Install] +WantedBy=multi-user.target diff --git a/hsqldb_1_8_1_3.zip b/hsqldb_1_8_1_3.zip deleted file mode 100644 index aa51c9f..0000000 --- a/hsqldb_1_8_1_3.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c3669bbebcb5c722b273f20c316af744d4e263bc90cc20fd1e6296dff7cc3d07 -size 3170550