Index: unix_installer/patch-package/ant-scripts/update_db.xml =================================================================== diff -u --- unix_installer/patch-package/ant-scripts/update_db.xml (revision 0) +++ unix_installer/patch-package/ant-scripts/update_db.xml (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + \ No newline at end of file Index: unix_installer/patch-package/ant/bin/ant =================================================================== diff -u --- unix_installer/patch-package/ant/bin/ant (revision 0) +++ unix_installer/patch-package/ant/bin/ant (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,326 @@ +#! /bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Extract launch and ant arguments, (see details below). +ant_exec_args= +no_config=false +use_jikes_default=false +ant_exec_debug=false +show_help=false +for arg in "$@" ; do + if [ "$arg" = "--noconfig" ] ; then + no_config=true + elif [ "$arg" = "--usejikes" ] ; then + use_jikes_default=true + elif [ "$arg" = "--execdebug" ] ; then + ant_exec_debug=true + elif [ my"$arg" = my"--h" -o my"$arg" = my"--help" ] ; then + show_help=true + ant_exec_args="$ant_exec_args -h" + else + if [ my"$arg" = my"-h" -o my"$arg" = my"-help" ] ; then + show_help=true + fi + ant_exec_args="$ant_exec_args \"$arg\"" + fi +done + +# Source/default ant configuration +if $no_config ; then + rpm_mode=false + usejikes=$use_jikes_default +else + # load system-wide ant configuration (ONLY if ANT_HOME has NOT been set) + if [ -z "$ANT_HOME" -o "$ANT_HOME" = "/usr/share/ant" ]; then + if [ -f "/etc/ant.conf" ] ; then + . /etc/ant.conf + fi + fi + + # load user ant configuration + if [ -f "$HOME/.ant/ant.conf" ] ; then + . $HOME/.ant/ant.conf + fi + if [ -f "$HOME/.antrc" ] ; then + . "$HOME/.antrc" + fi + + # provide default configuration values + if [ -z "$rpm_mode" ] ; then + rpm_mode=false + fi + if [ -z "$usejikes" ] ; then + usejikes=$use_jikes_default + fi +fi + +# Setup Java environment in rpm mode +if $rpm_mode ; then + if [ -f /usr/share/java-utils/java-functions ] ; then + . /usr/share/java-utils/java-functions + set_jvm + set_javacmd + fi +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +case "`uname`" in + CYGWIN*) cygwin=true ;; + Darwin*) darwin=true + if [ -z "$JAVA_HOME" ] ; then + JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home + fi + ;; +esac + +if [ -z "$ANT_HOME" -o ! -d "$ANT_HOME" ] ; then + ## resolve links - $0 may be a link to ant's home + PRG="$0" + progname=`basename "$0"` + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi + done + + ANT_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + ANT_HOME=`cd "$ANT_HOME" && pwd` +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$ANT_HOME" ] && + ANT_HOME=`cygpath --unix "$ANT_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` +fi + +# set ANT_LIB location +ANT_LIB="${ANT_HOME}/lib" + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + JAVACMD="$JAVA_HOME/jre/sh/java" + elif [ -x "$JAVA_HOME/jre/bin/java" ] ; then + JAVACMD="$JAVA_HOME/jre/bin/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD=`which java 2> /dev/null ` + if [ -z "$JAVACMD" ] ; then + JAVACMD=java + fi + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." + echo " We cannot execute $JAVACMD" + exit 1 +fi + +# Build local classpath using just the launcher in non-rpm mode or +# use the Jpackage helper in rpm mode with basic and default jars +# specified in the ant.conf configuration. Because the launcher is +# used, libraries linked in ANT_HOME/lib will also be included, but this +# is discouraged as it is not java-version safe. A user should +# request optional jars and their dependencies via the OPT_JAR_LIST +# variable +if $rpm_mode && [ -x /usr/bin/build-classpath ] ; then + LOCALCLASSPATH="$(/usr/bin/build-classpath ant ant-launcher jaxp_parser_impl xml-commons-apis)" + + # If no optional jars have been specified then build the default list + if [ -z "$OPT_JAR_LIST" ] ; then + for file in /etc/ant.d/*; do + if [ -f "$file" ]; then + case "$file" in + *~) ;; + *#*) ;; + *.rpmsave) ;; + *.rpmnew) ;; + *) + for dep in `cat "$file"`; do + case "$OPT_JAR_LIST" in + *"$dep"*) ;; + *) OPT_JAR_LIST="$OPT_JAR_LIST${OPT_JAR_LIST:+ }$dep" + esac + done + esac + fi + done + fi + + # If the user requested to try to add some other jars to the classpath + if [ -n "$OPT_JAR_LIST" ] ; then + _OPTCLASSPATH="$(/usr/bin/build-classpath $OPT_JAR_LIST 2> /dev/null)" + if [ -n "$_OPTCLASSPATH" ] ; then + LOCALCLASSPATH="$LOCALCLASSPATH:$_OPTCLASSPATH" + fi + fi + + # Explicitly add javac path to classpath, assume JAVA_HOME set + # properly in rpm mode + if [ -f "$JAVA_HOME/lib/tools.jar" ] ; then + LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/tools.jar" + fi + if [ -f "$JAVA_HOME/lib/classes.zip" ] ; then + LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/classes.zip" + fi + + # if CLASSPATH_OVERRIDE env var is set, LOCALCLASSPATH will be + # user CLASSPATH first and ant-found jars after. + # In that case, the user CLASSPATH will override ant-found jars + # + # if CLASSPATH_OVERRIDE is not set, we'll have the normal behaviour + # with ant-found jars first and user CLASSPATH after + if [ -n "$CLASSPATH" ] ; then + # merge local and specified classpath + if [ -z "$LOCALCLASSPATH" ] ; then + LOCALCLASSPATH="$CLASSPATH" + elif [ -n "$CLASSPATH_OVERRIDE" ] ; then + LOCALCLASSPATH="$CLASSPATH:$LOCALCLASSPATH" + else + LOCALCLASSPATH="$LOCALCLASSPATH:$CLASSPATH" + fi + + # remove class path from launcher -cp option + CLASSPATH="" + fi +else + # not using rpm_mode; use launcher to determine classpaths + if [ -z "$LOCALCLASSPATH" ] ; then + LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar + else + LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar:$LOCALCLASSPATH + fi +fi + +if [ -n "$JAVA_HOME" ] ; then + # OSX hack to make Ant work with jikes + if $darwin ; then + OSXHACK="${JAVA_HOME}/../Classes" + if [ -d "${OSXHACK}" ] ; then + for i in "${OSXHACK}"/*.jar + do + JIKESPATH="$JIKESPATH:$i" + done + fi + fi +fi + +# Allow Jikes support (off by default) +if $usejikes; then + ANT_OPTS="$ANT_OPTS -Dbuild.compiler=jikes" +fi + +# For Cygwin, switch paths to appropriate format before running java +# For PATHs convert to unix format first, then to windows format to ensure +# both formats are supported. Probably this will fail on directories with ; +# in the name in the path. Let's assume that paths containing ; are more +# rare than windows style paths on cygwin. +if $cygwin; then + if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then + format=mixed + else + format=windows + fi + ANT_HOME=`cygpath --$format "$ANT_HOME"` + ANT_LIB=`cygpath --$format "$ANT_LIB"` + JAVA_HOME=`cygpath --$format "$JAVA_HOME"` + LCP_TEMP=`cygpath --path --unix "$LOCALCLASSPATH"` + LOCALCLASSPATH=`cygpath --path --$format "$LCP_TEMP"` + if [ -n "$CLASSPATH" ] ; then + CP_TEMP=`cygpath --path --unix "$CLASSPATH"` + CLASSPATH=`cygpath --path --$format "$CP_TEMP"` + fi + CYGHOME=`cygpath --$format "$HOME"` +fi + +# Show script help if requested +if $show_help ; then + echo $0 '[script options] [options] [target [target2 [target3] ..]]' + echo 'Script Options:' + echo ' --help, --h print this message and ant help' + echo ' --noconfig suppress sourcing of /etc/ant.conf,' + echo ' $HOME/.ant/ant.conf, and $HOME/.antrc' + echo ' configuration files' + echo ' --usejikes enable use of jikes by default, unless' + echo ' set explicitly in configuration files' + echo ' --execdebug print ant exec line generated by this' + echo ' launch script' + echo ' ' +fi +# add a second backslash to variables terminated by a backslash under cygwin +if $cygwin; then + case "$ANT_HOME" in + *\\ ) + ANT_HOME="$ANT_HOME\\" + ;; + esac + case "$CYGHOME" in + *\\ ) + CYGHOME="$CYGHOME\\" + ;; + esac + case "$JIKESPATH" in + *\\ ) + JIKESPATH="$JIKESPATH\\" + ;; + esac + case "$LOCALCLASSPATH" in + *\\ ) + LOCALCLASSPATH="$LOCALCLASSPATH\\" + ;; + esac + case "$CLASSPATH" in + *\\ ) + CLASSPATH="$CLASSPATH\\" + ;; + esac +fi +# Execute ant using eval/exec to preserve spaces in paths, +# java options, and ant args +ant_sys_opts= +if [ -n "$CYGHOME" ]; then + if [ -n "$JIKESPATH" ]; then + ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\" -Dcygwin.user.home=\"$CYGHOME\"" + else + ant_sys_opts="-Dcygwin.user.home=\"$CYGHOME\"" + fi +else + if [ -n "$JIKESPATH" ]; then + ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\"" + fi +fi +ant_exec_command="exec \"$JAVACMD\" $ANT_OPTS -classpath \"$LOCALCLASSPATH\" -Dant.home=\"$ANT_HOME\" -Dant.library.dir=\"$ANT_LIB\" $ant_sys_opts org.apache.tools.ant.launch.Launcher $ANT_ARGS -cp \"$CLASSPATH\" $ant_exec_args" +if $ant_exec_debug ; then + echo $ant_exec_command +fi +eval $ant_exec_command Index: unix_installer/patch-package/ant/bin/antRun =================================================================== diff -u --- unix_installer/patch-package/ant/bin/antRun (revision 0) +++ unix_installer/patch-package/ant/bin/antRun (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,24 @@ +#! /bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Args: DIR command +cd "$1" +CMD="$2" +shift +shift + +exec "$CMD" "$@" Index: unix_installer/patch-package/ant/bin/antRun.pl =================================================================== diff -u --- unix_installer/patch-package/ant/bin/antRun.pl (revision 0) +++ unix_installer/patch-package/ant/bin/antRun.pl (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,66 @@ +#!/usr/bin/perl +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +####################################################################### +# +# antRun.pl +# +# wrapper script for invoking commands on a platform with Perl installed +# this is akin to antRun.bat, and antRun the SH script +# +# created: 2001-10-18 +# author: Jeff Tulley jtulley@novell.com +####################################################################### +#be fussy about variables +use strict; + +#turn warnings on during dev; generates a few spurious uninitialised var access warnings +#use warnings; + +#and set $debug to 1 to turn on trace info (currently unused) +my $debug=1; + +####################################################################### +# change drive and directory to "%1" +my $ANT_RUN_CMD = @ARGV[0]; + +# assign current run command to "%2" +chdir (@ARGV[0]) || die "Can't cd to $ARGV[0]: $!\n"; +if ($^O eq "NetWare") { + # There is a bug in Perl 5 on NetWare, where chdir does not + # do anything. On NetWare, the following path-prefixed form should + # always work. (afaict) + $ANT_RUN_CMD .= "/".@ARGV[1]; +} +else { + $ANT_RUN_CMD = @ARGV[1]; +} + +# dispose of the first two arguments, leaving only the command's args. +shift; +shift; + +# run the command +my $returnValue = system $ANT_RUN_CMD, @ARGV; +if ($returnValue eq 0) { + exit 0; +} +else { + # only 0 and 1 are widely recognized as exit values + # so change the exit value to 1 + exit 1; +} Index: unix_installer/patch-package/ant/bin/complete-ant-cmd.pl =================================================================== diff -u --- unix_installer/patch-package/ant/bin/complete-ant-cmd.pl (revision 0) +++ unix_installer/patch-package/ant/bin/complete-ant-cmd.pl (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,114 @@ +#!/usr/bin/perl +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# A script to allow Bash or Z-Shell to complete an Ant command-line. +# +# To install for Bash 2.0 or better, add the following to ~/.bashrc: +# +# $ complete -C complete-ant-cmd ant build.sh +# +# To install for Z-Shell 2.5 or better, add the following to ~/.zshrc: +# +# function ant_complete () { +# local args_line args +# read -l args_line +# set -A args $args_line +# set -A reply $(COMP_LINE=$args_line complete-ant-cmd ${args[1]} $1) +# } +# compctl -K ant_complete ant build.sh +# +# @author Mike Williams + +my $cmdLine = $ENV{'COMP_LINE'}; +my $antCmd = $ARGV[0]; +my $word = $ARGV[1]; + +my @completions; +if ($word =~ /^-/) { + list( restrict( $word, getArguments() )); +} elsif ($cmdLine =~ /-(f|buildfile)\s+\S*$/) { + list( getBuildFiles($word) ); +} else { + list( restrict( $word, getTargets() )); +} + +exit(0); + +sub list { + for (@_) { + print "$_\n"; + } +} + +sub restrict { + my ($word, @completions) = @_; + grep( /^\Q$word\E/, @completions ); +} + +sub getArguments { + qw(-buildfile -debug -emacs -f -find -help -listener -logfile + -logger -projecthelp -quiet -verbose -version); +} + + +sub getBuildFiles { + my ($word) = @_; + grep( /\.xml$/, glob( "$word*" )); +} + +sub getTargets { + + # Look for build-file + my $buildFile = 'build.xml'; + if ($cmdLine =~ /-(f|buildfile)\s+(\S+)/) { + $buildFile = $2; + } + return () unless (-f $buildFile); + + # Run "ant -projecthelp" to list targets. Keep a cache of results in a + # cache-file. + my $cacheFile = $buildFile; + $cacheFile =~ s|(.*/)?(.*)|${1}.ant-targets-${2}|; + if ((!-e $cacheFile) || (-M $buildFile) < (-M $cacheFile)) { + open( CACHE, '>'.$cacheFile ) || die "can\'t write $cacheFile: $!\n"; + open( HELP, "$antCmd -projecthelp -f '$buildFile'|" ) || return(); + my %targets; + while( ) { + if (/^\s+(\S+)/) { + $targets{$1}++; + } + } + my @targets = sort keys %targets; + for (@targets) { print CACHE "$_\n"; } + return @targets; + } + + # Read the target-cache + open( CACHE, $cacheFile ) || die "can\'t read $cacheFile: $!\n"; + my @targets; + while () { + chop; + s/\r$//; # for Cygwin + push( @targets, $_ ); + } + close( CACHE ); + @targets; + +} + + + Index: unix_installer/patch-package/ant/bin/runant.pl =================================================================== diff -u --- unix_installer/patch-package/ant/bin/runant.pl (revision 0) +++ unix_installer/patch-package/ant/bin/runant.pl (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,153 @@ +#!/usr/bin/perl +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +####################################################################### +# +# runant.pl +# +# wrapper script for invoking ant in a platform with Perl installed +# this may include cgi-bin invocation, which is considered somewhat daft. +# (slo: that should be a separate file which can be derived from this +# and returns the XML formatted output) +# +# the code is not totally portable due to classpath and directory splitting +# issues. oops. (NB, use File::Spec::Functions will help and the code is +# structured for the catfile() call, but because of perl version funnies +# the code is not included. +# +# created: 2000-8-24 +# author: Steve Loughran steve_l@sourceforge.net +####################################################################### +# +# Assumptions: +# +# - the "java" executable/script is on the command path +# - ANT_HOME has been set +# - target platform uses ":" as classpath separator or perl indicates it is dos/win32 +# - target platform uses "/" as directory separator. + +#be fussy about variables +use strict; + +#platform specifics (disabled) +#use File::Spec::Functions; + +#turn warnings on during dev; generates a few spurious uninitialised var access warnings +#use warnings; + +#and set $debug to 1 to turn on trace info +my $debug=1; + +####################################################################### +# +# check to make sure environment is setup +# + +my $HOME = $ENV{ANT_HOME}; +if ($HOME eq "") + { + die "\n\nANT_HOME *MUST* be set!\n\n"; + } + +my $JAVACMD = $ENV{JAVACMD}; +$JAVACMD = "java" if $JAVACMD eq ""; + +my $onnetware = 0; +if ($^O eq "NetWare") +{ + $onnetware = 1; +} + +my $oncygwin = ($^O eq "cygwin"); + +#ISSUE: what java wants to split up classpath varies from platform to platform +#and perl is not too hot at hinting which box it is on. +#here I assume ":" 'cept on win32, dos, and netware. Add extra tests here as needed. +my $s=":"; +if(($^O eq "MSWin32") || ($^O eq "dos") || ($^O eq "cygwin") || + ($onnetware == 1)) + { + $s=";"; + } + +#build up standard classpath +my $localpath = "$HOME/lib/ant-launcher.jar"; +#set JVM options and Ant arguments, if any +my @ANT_OPTS=split(" ", $ENV{ANT_OPTS}); +my @ANT_ARGS=split(" ", $ENV{ANT_ARGS}); + +#jikes +if($ENV{JIKESPATH} ne "") + { + push @ANT_OPTS, "-Djikes.class.path=$ENV{JIKESPATH}"; + } + +#construct arguments to java +my @ARGS; +push @ARGS, @ANT_OPTS; + +my $CYGHOME = ""; + +my $classpath=$ENV{CLASSPATH}; +if ($oncygwin == 1) { + $localpath = `cygpath --path --windows $localpath`; + chomp ($localpath); + if (! $classpath eq "") + { + $classpath = `cygpath --path --windows "$classpath"`; + chomp ($classpath); + } + $HOME = `cygpath --path --windows $HOME`; + chomp ($HOME); + $CYGHOME = `cygpath --path --windows $ENV{HOME}`; + chomp ($CYGHOME); +} +push @ARGS, "-classpath", "$localpath"; +push @ARGS, "-Dant.home=$HOME"; +if ( ! $CYGHOME eq "" ) +{ + push @ARGS, "-Dcygwin.user.home=\"$CYGHOME\"" +} +push @ARGS, "org.apache.tools.ant.launch.Launcher", @ANT_ARGS; +push @ARGS, @ARGV; +if (! $classpath eq "") +{ + if ($onnetware == 1) + { + # make classpath literally $CLASSPATH + # this is to avoid pushing us over the 512 character limit + # even skip the ; - that is already in $localpath + push @ARGS, "-lib", "\$CLASSPATH"; + } + else + { + push @ARGS, "-lib", "$classpath"; + } +} +print "\n $JAVACMD @ARGS\n\n" if ($debug); + +my $returnValue = system $JAVACMD, @ARGS; +if ($returnValue eq 0) + { + exit 0; + } +else + { + # only 0 and 1 are widely recognized as exit values + # so change the exit value to 1 + exit 1; + } Index: unix_installer/patch-package/ant/lib/ant-contrib-1.0b3.jar =================================================================== diff -u Binary files differ Index: unix_installer/patch-package/ant/lib/ant-launcher.jar =================================================================== diff -u Binary files differ Index: unix_installer/patch-package/ant/lib/ant.jar =================================================================== diff -u Binary files differ Index: unix_installer/patch-package/ant/lib/mysql-connector-java-3.1.12-bin.jar =================================================================== diff -u Binary files differ Index: unix_installer/patch-package/assembly/lams-tool-lachat11.jar =================================================================== diff -u Binary files differ Index: unix_installer/patch-package/assembly/lams-tool-lachat11.war =================================================================== diff -u Binary files differ Index: unix_installer/patch-package/bin/backup.class =================================================================== diff -u Binary files differ Index: unix_installer/patch-package/bin/checkmysql.class =================================================================== diff -u Binary files differ Index: unix_installer/patch-package/bin/run-lams.sh =================================================================== diff -u --- unix_installer/patch-package/bin/run-lams.sh (revision 0) +++ unix_installer/patch-package/bin/run-lams.sh (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,32 @@ +# Copyright (C) 2005-2007 LAMS Foundation (http://lamsfoundation.org) +# License Information: http://lamsfoundation.org/licensing/lams/2.0/ +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2.0 +# as published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 +# USA +# +# http://www.gnu.org/licenses/gpl.txt +# + +# run script for LAMS unix version 2.0.2 and higher + +export JAVA_HOME="@JAVA_HOME@" +export JAVA_OPTS="-server -Xms256m -Xmx512m -XX:MaxPermSize=256m" + +echo " " +echo "LAMS will take a few minutes to startup..." +echo " " +echo "Check server/default/log/boot.log and server/default/log/server.log to see if LAMS has started correctly. The server.log will contain a line similar to 'JBoss (MX MicroKernel) [4.0.2 (build: CVSTag=JBoss_4_0_2 date=200505022023)] Started in 1m:6s:987ms' when LAMS has finished loading." +echo " " +nohup ./run.sh > /dev/null & + Index: unix_installer/patch-package/bin/shutdown.sh =================================================================== diff -u --- unix_installer/patch-package/bin/shutdown.sh (revision 0) +++ unix_installer/patch-package/bin/shutdown.sh (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1 @@ +/usr/local/jboss-4.0.2/bin/shutdown.sh -S \ No newline at end of file Index: unix_installer/patch-package/bin/testJava.class =================================================================== diff -u Binary files differ Index: unix_installer/patch-package/build.xml =================================================================== diff -u --- unix_installer/patch-package/build.xml (revision 0) +++ unix_installer/patch-package/build.xml (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Index: unix_installer/patch-package/createPackage.sh =================================================================== diff -u --- unix_installer/patch-package/createPackage.sh (revision 0) +++ unix_installer/patch-package/createPackage.sh (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,11 @@ +#!/bin/bash +#Removes all the CVS and *.bak files from the build directory + +. ./lams.properties + +cd build +find . -name CVS | xargs rm -rf +find . -name *.bak | xargs rm -rf +find . -name repository*.tar.gz | xargs rm -rf + +tar -czf lams-unix-patch-$LAMS_VERSION.tar.gz lams-unix-patch-$LAMS_VERSION Index: unix_installer/patch-package/install-lams-patch.sh =================================================================== diff -u --- unix_installer/patch-package/install-lams-patch.sh (revision 0) +++ unix_installer/patch-package/install-lams-patch.sh (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,265 @@ +#!/bin/bash +# Copyright (C) 2006-2008 LAMS Foundation (http://lamsfoundation.org) +# License Information: http://lamsfoundation.org/licensing/lams/2.0/ +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2.0 +# as published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 +# USA +# +# http://www.gnu.org/licenses/gpl.txt +# +# Author: Luke Foxton + +# Patch shell script for LAMS + +LAMS_VERSION_UPDATE=2.1.1 +LAMS_SERVER_VERSION=2.1.0.200806190000 +REQ_LAMS_VERSION=2.1 + +USE_ETC_PROPERTIES=0; + +# backup the lams.properties +if [ ! -r docs/lams.properties.backup.orig ] +then + cp lams.properties docs/lams.properties.backup.orig +fi + +if [ -r /etc/lams2/lams.properties ] +then + useproperties="" + clear + printf "\nThe LAMS updater has detected a lams.properties file in /etc/lams2.\n" + printf "Do you wish to use this file? (y)es (n)o (q)uit\n> " + read useproperties + + case "$useproperties" in + y) + printf "\nUsing lams.properties from /etc/lams2.\n" + . /etc/lams2/lams.properties + USE_ETC_PROPERTIES=1; + ;; + n) + . lams.properties + ;; + *) + installexit + ;; + esac +else + . lams.properties +fi + +#escaping & in jdbc url +VAR_SQL_URL=jdbc:mysql://${SQL_HOST}/${DB_NAME}?characterEncoding=utf8\&autoReconnect=true + + +# Invoked when the install is failed +installfailed() +{ + echo "" + cp lams.properties docs/lams.properties.backup.exec + cp docs/lams.properties.backup.orig lams.properties + #export JAVA_HOME=$ORIG_JAVA_HOME + exit 1 +} + +# Invoked when the install is exited +installexit() +{ + printf "\nLAMS update exited by user.\n\n" + cp lams.properties docs/lams.properties.backup.exec + cp docs/lams.properties.backup.orig lams.properties + #export JAVA_HOME=$ORIG_JAVA_HOME + exit 0 +} + +checklams() +{ + # Checking that the lams.properties points to a lams installation + if [ ! -r "$JBOSS_DIR/server/default/deploy/lams.ear/lams.jar" ] + then + printf "\nUpdate failed, Could not find lams.jar at $JBOSS_DIR/server/default/deploy/lams.ear.\nPlease check that have LAMS $REQ_LAMS_VERSION is installed and your lams.properties file is correct before running this update.\n" + installfailed + fi + + printf "Do you want to run the LAMS shutdown script before continuing? (Recommended)\n" + printf "(y)es I want to run the JBOSS shutdown script.\n" + printf "(n)o I have already shutdown LAMS. Continue with the upgrade.\n" + printf "(q)uit.\n" + printf "> " + shutdown="" + read shutdown + + case "$shutdown" in + q) + echo "Update aborted by user" + installexit + ;; + y) + printf "\nPlease wait a few moments while LAMS shuts down\n" + if [ -x "$JBOSS_DIR/bin/lams2" ] + then + $JBOSS_DIR/bin/lams2 stop + else + $JBOSS_DIR/bin/shutdown.sh -S + fi + + printf "\nWaiting for shutdown to finish.\n" + printf "..........." + sleep 3 + printf "....................." + sleep 3 + printf "..............................." + sleep 4 + printf ".................\n" + printf "Shutdown completed\n\n" + ;; + n) + + ;; + *) + printf "\nPlease enter y, n or q\n" + checklams + ;; + esac +} + +checkMysql() +{ + echo "" + $JDK_DIR/bin/java -cp .:bin/:assembly/mysql-connector-java-3.1.12-bin.jar checkmysql "$VAR_SQL_URL" "$DB_USER" "$DB_PASS" "$REQ_LAMS_VERSION" + + if [ "$?" -ne "0" ] + then + installfailed + fi +} + +backup() +{ + printf "\nDo you wish to automatically backup lams before updating? (Recommended. NOTE: Requires MySql to be installed at localhost)\n" + printf "Please check the below directories are correct before running this backup. If they are not, quit the installer and backup LAMS manually.\n" + printf "The space required to backup your LAMS installation:\n" + du -chs $LAMS_DIR $JBOSS_DIR + printf "(y)es I wish to backup LAMS.\n" + printf "(n)o I have already backed up LAMS, I am ready to update.\n" + printf "(q)uit.\n" + printf "> " + backup="" + read backup + + case "$backup" in + q) + printf "\nIf you would like manually backup LAMS, please complete the following steps:\n" + printf "\n1) Backup $JBOSS_DIR\n" + printf "2) Backup $LAMS_DIR\n" + printf "3) Backup /etc/lams2\n" + printf "4) Dump the database by executing the following command. Fill in your own backup \ndirectory.\n" + printf "> $sqldir/mysqldump -u$dbuser -p$dbpass $dbname > (backup dir)/dump.sql\n" + installexit + ;; + y) + + + $JDK_DIR/bin/java -cp bin backup + if [ "$?" -ne "0" ] + then + echo "Update failed, Failed to backup LAMS." + installfailed + fi + + chmod 755 bin/lamsdump.sql + bin/lamsdump.sql + if [ "$?" -ne "0" ] + then + echo "Update failed, problem dumping database for backup." + installfailed + fi + + ;; + n) + + ;; + *) + printf "\nPlease enter y, n or q\n" + backup + ;; + esac +} + +clear +printf "\n--------------------------------------------------------------------------------\n\n" +printf "WELCOME to the LAMS $REQ_LAMS_VERSION to $LAMS_VERSION_UPDATE Unix Patch! \n\n" +printf "Please ensure you have read and accepted the licence agreement before continuing\n\n" +printf "This installer will prompt you to enter many configurations and locations\n" +printf "on your computer so please make sure you are ready.\n" +printf "You should read the installation guide before continuing.\n" +printf "\nJAVA_HOME = $JDK_DIR\n" +printf "\n--------------------------------------------------------------------------------\n\n" + +printf "The patch can backup LAMS automatically for you, but if you would like to\n" +printf "backup LAMS manually before proceeding, please complete the following steps:\n" +printf "\n1) Backup $JBOSS_DIR\n" +printf "2) Backup $LAMS_DIR\n" +printf "3) Backup /etc/lams2\n" +printf "4) Dump the database by executing the following command. Fill in your own backup \ndirectory.\n" +printf "> $sqldir/mysqldump -u$DB_USER -p$DB_PASS $DB_NAME > (backup dir)/dump.sql\n" +printf "\n--------------------------------------------------------------------------------\n\n" + +checkMysql +checklams +backup + +printf "\nApplying $LAMS_VERSION_UPDATE patch, this may take a few moments...\n" + + +################################################################################ +# 2.1.1 Specific updates +################################################################################ + +printf "\nCopying files...\n" +cp -r assembly/* $EAR_DIR +printf "\nDone.\n" + +printf "\nUpdating database...\n" + +ant/bin/ant -logfile update_db.log -buildfile ant-scripts/update_db.xml update_db +if [ "$?" -ne "0" ] +then + printf "\nDatabase update failed, check update_db.log." + installfailed +else + printf "\n\nPatch update finished!\n" + + if [ $USE_ETC_PROPERTIES -ne 1 ] + then + mkdir -p /etc/lams2 + cp lams.properties /etc/lams2 + fi +fi + + + + + +#if [ -r $SQL_DIR/mysql ] +#then +# $SQL_DIR/mysql -v -h$SQL_HOST -u$DB_USER -p$DB_PASS $DB_NAME < sql-scripts/update-script.sql >> patchlog.txt +# printf "\nDone.\n" +# printf "\n\nPatch complete!\n" +#else +# printf "\nPatch update failed, could not find mysql executable at SQL_DIR: $SQL_DIR" +#fi + +################################################################################ + Index: unix_installer/patch-package/java/Alter21Integration.java =================================================================== diff -u --- unix_installer/patch-package/java/Alter21Integration.java (revision 0) +++ unix_installer/patch-package/java/Alter21Integration.java (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,198 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ +import java.sql.Connection; +import java.sql.Date; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.Statement; +import java.util.ArrayList; + +/** + * @author jliew + * + */ +public class Alter21Integration { + + /** + * Update 3rd party integration courses to classes, LDEV-1284. + * @throws Exception + */ + public static void main(String[] args) throws Exception { + Alter21Integration me = new Alter21Integration(); + + if (args.length < 4) + { + System.out.println("Usage: java Alter21Integration DB_NAME DB_USERNAME DB_PASSWORD DB_URL"); + System.out.println("Make sure mysql-connector-java-3.x.x-bin.jar is in your classpath."); + System.exit(1); + } + + String dbName = args[0]; + String dbUsername = args[1]; + String dbPassword = args[2]; + String dbUrl = args[3]; + me.execute(dbName, dbUsername, dbPassword, dbUrl); + } + + public void execute(String dbName, String dbUsername, String dbPassword, String dbDriverUrl) throws Exception { + + String dbDriverClass = "com.mysql.jdbc.Driver"; + //String dbDriverUrl = "jdbc:mysql://localhost/" + dbName + "?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useUnicode=true"; + + Class.forName(dbDriverClass); + Connection conn = DriverManager.getConnection(dbDriverUrl, dbUsername, dbPassword); + conn.setAutoCommit(false); + + // change integration orgs from classes to courses, with root org as parent. + String updateToCourseType = "UPDATE lams_organisation " + + "SET organisation_type_id=2, " + + "parent_organisation_id=1 " + + "WHERE organisation_id IN ( " + + "SELECT classid " + + "FROM lams_ext_course_class_map " + + ")"; + + // we want to give these newly converted courses their own workspaces; + String getCoursesWithoutWorkspaces = "SELECT organisation_id, name " + + "FROM lams_organisation " + + "WHERE organisation_type_id=2 " + + "AND workspace_id IS NULL"; + + // normal folder; + String insertNormalFolder = "INSERT INTO lams_workspace_folder (name, user_id, create_date_time, " + + "last_modified_date_time, lams_workspace_folder_type_id) " + + "VALUES (?, ?, ?, ?, ?)"; + + // and run sequence folder + String insertRunSequencesFolder = "INSERT INTO lams_workspace_folder (name, user_id, create_date_time, " + + "last_modified_date_time, lams_workspace_folder_type_id, parent_folder_id) " + + "VALUES (?, ?, ?, ?, ?, ?)"; + + // insert workspace, links to its folders, and link to its org + String insertWorkspace = "INSERT INTO lams_workspace (name, default_fld_id, def_run_seq_fld_id) " + + "VALUES (?, ?, ?)"; + + String insertLinks = "INSERT INTO lams_wkspc_wkspc_folder (workspace_id, workspace_folder_id) " + + "VALUES (?, ?)"; + + String updateOrg = "UPDATE lams_organisation " + + "SET workspace_id=? " + + "WHERE organisation_id=?"; + + // Start update + + // update classes to courses + PreparedStatement query = conn.prepareStatement(updateToCourseType); + int numUpdatedCourses = query.executeUpdate(); + System.out.println("Set " + numUpdatedCourses + " integration organisations to courses."); + + // get courses without workspaces + ArrayList orgs = new ArrayList(); + query = conn.prepareStatement(getCoursesWithoutWorkspaces); + ResultSet results = query.executeQuery(); + while (results.next()) { + orgs.add(new OrgDTO(results.getLong("organisation_id"), results.getString("name"))); + } + + // create workspace and folders for each org + for (OrgDTO org : orgs) { + // insert normal folder + query = conn.prepareStatement(insertNormalFolder, Statement.RETURN_GENERATED_KEYS); + query.setString(1, org.getOrgName()); + query.setLong(2, new Long(1)); + query.setDate(3, new Date(System.currentTimeMillis())); + query.setDate(4, new Date(System.currentTimeMillis())); + query.setInt(5, new Integer(1)); + int numInsert = query.executeUpdate(); + results = query.getGeneratedKeys(); + long wkspcFolderId = -1; + if (results.next()) wkspcFolderId = results.getLong(1); + System.out.println("Inserted " + numInsert + " workspace folders, with id " + wkspcFolderId + "."); + + // insert run sequences folder + query = conn.prepareStatement(insertRunSequencesFolder, Statement.RETURN_GENERATED_KEYS); + query.setString(1, org.getOrgName()+" Run Sequences"); + query.setLong(2, new Long(1)); + query.setDate(3, new Date(System.currentTimeMillis())); + query.setDate(4, new Date(System.currentTimeMillis())); + query.setInt(5, new Integer(2)); + query.setLong(6, wkspcFolderId); + numInsert = query.executeUpdate(); + results = query.getGeneratedKeys(); + long wkspcRunFolderId = -1; + if (results.next()) wkspcRunFolderId = results.getLong(1); + System.out.println("Inserted " + numInsert + " workspace folders, with id " + wkspcRunFolderId + "."); + + // insert workspace + query = conn.prepareStatement(insertWorkspace, Statement.RETURN_GENERATED_KEYS); + query.setString(1, org.getOrgName()); + query.setLong(2, wkspcFolderId); + query.setLong(3, wkspcRunFolderId); + numInsert = query.executeUpdate(); + results = query.getGeneratedKeys(); + long wkspcId = -1; + if (results.next()) wkspcId = results.getLong(1); + System.out.println("Inserted " + numInsert + " workspaces, with id " + wkspcId + "."); + + // insert wkspc_wkspc_folder links + query = conn.prepareStatement(insertLinks); + query.setLong(1, wkspcId); + query.setLong(2, wkspcFolderId); + numInsert = query.executeUpdate(); + System.out.println("Inserted " + numInsert + " wkspc_wkspc_folder links."); + query.setLong(1, wkspcId); + query.setLong(2, wkspcRunFolderId); + numInsert = query.executeUpdate(); + System.out.println("Inserted " + numInsert + " wkspc_wkspc_folder links."); + + // update organisation with this workspace + query = conn.prepareStatement(updateOrg); + query.setLong(1, wkspcId); + query.setLong(2, org.getOrgId()); + numInsert = query.executeUpdate(); + System.out.println("Updated " + org.getOrgName() + " with workspace_id " + wkspcId + "."); + } + + conn.commit(); + conn.close(); + } + + public class OrgDTO { + private Long orgId; + private String orgName; + public OrgDTO(Long orgId, String orgName) { + this.orgId = orgId; + this.orgName = orgName; + } + public Long getOrgId() { + return orgId; + } + public String getOrgName() { + return orgName; + } + } + +} + Index: unix_installer/patch-package/java/backup.java =================================================================== diff -u --- unix_installer/patch-package/java/backup.java (revision 0) +++ unix_installer/patch-package/java/backup.java (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,213 @@ +import java.io.*; +import java.nio.channels.FileChannel; +import java.util.Properties; + +public class backup +{ + + private BufferedReader in; + + private String backupdir, jbossdir, repositoryDir, etcdir; + + public String mysqldir, dbuser, dbname, dbpass, dburl; + + public static void main(String args[]) + { + new backup(); + } + + public backup(boolean mysql) + { + + } + + public backup() + { + readProperties(); + promptUser(); + + try + { + System.out.println("Copying files from " + jbossdir + "/ to " + backupdir + "/jboss-4.0.2/ ..."); + copyFiles(jbossdir + "/", backupdir+"/jboss-4.0.2/"); + copyFiles(etcdir + "/", backupdir+"/ectlams2/"); + copyFiles(repositoryDir + "/", backupdir+"/repository/"); + System.out.println("Done.\n"); + } + catch (IOException e) + { + System.out.println("\nError copying files: " + e.getMessage()); + System.exit(1); + } + + + System.out.println("Dumping database to: " + backupdir + " ..."); + dumpDatabase(); + System.out.println("\nDone. \n"); + + } + + public void readProperties() + { + try + { + Properties lamsProperties = new Properties(); + lamsProperties.load(new FileInputStream("lams.properties")); + jbossdir = lamsProperties.getProperty("JBOSS_DIR"); + repositoryDir = lamsProperties.getProperty("LAMS_DIR") + "/repository"; + etcdir = "/etc/lams2"; + mysqldir = lamsProperties.getProperty("SQL_DIR"); + dbname = lamsProperties.getProperty("DB_NAME"); + dbuser = lamsProperties.getProperty("DB_USER"); + dbpass = lamsProperties.getProperty("DB_PASS"); + dburl = "jdbc:mysql://localhost/" +dbname+ "?characterEncoding=utf8"; + + File lams = new File(jbossdir + "/server/default/deploy/lams.ear/lams.jar"); + if (lams.exists() == false) + { + throw new IOException("The jboss directory in lams.properties does not contain a lams installation: " + jbossdir); + } + + } + catch (IOException e) + { + + System.out.println("Error: " + e.getMessage()); + System.out.println("Please ensure you have correctly configured the lams.properties file in your root package directory before you continue"); + System.exit(1); + + } + + } + + public void promptUser() + { + try + { + + in = new BufferedReader(new InputStreamReader(System.in)); + + System.out.println("Please enter the full path of where you wish to backup lams"); + System.out.print("> "); + backupdir = in.readLine(); + + File bak = new File(backupdir); + + if (bak.exists()==true) + { + System.out.print("A file or directory already exists at that location, do you wish to continue and remove existing files? (y/n/q): "); + String cont = null; + cont = in.readLine(); + + + switch (cont.charAt(0)) + { + case 'y': + if(!(deleteDir(bak))) + { + throw new IOException("Could not delete file or directory: " + backupdir + ". Please try an unused directory path to backup." ); + } + break; + + case 'n': + promptUser(); + break; + default: + System.out.println("Bye!"); + System.exit(1); + break; + } + + + + } + + + + } + catch (IOException e) + { + System.out.println(e.getMessage()); + System.exit(1); + } + } + + // deleting the backup directory if it already exists + public boolean deleteDir(File dir) + { + if (dir.isDirectory()) + { + String[] children = dir.list(); + for(int i=0; i " +backupdir+ "/dump.sql"); + outfile.close(); + } + catch (Exception e) + { + System.out.println("Error preparing sql dump: " + e.getMessage()); + System.exit(1); + } + + } + +} Index: unix_installer/patch-package/java/checkmysql.java =================================================================== diff -u --- unix_installer/patch-package/java/checkmysql.java (revision 0) +++ unix_installer/patch-package/java/checkmysql.java (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,84 @@ +import java.io.File; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.Statement; +import java.util.Properties; +import java.sql.SQLException; + +public class checkmysql +{ + private String version; + private String dbDriverClass; + private String dbDriverUrl; + private String dbUsername; + private String dbPassword; + + // Check that the mysql version is valid + public static void main(String[] args) throws SQLException + { + checkmysql me = new checkmysql(); + + if (args.length < 4) + { + System.out.println("Usage: Java checkmysql dbDriverUrl dbUsername dbPassword version"); + System.exit(1); + } + else + { + me.execute(args[0], args[1], args[2], args[3]); + } + } + + public void execute(String url, String user, String pass, String version) throws SQLException + { + + try{ + this.version = version; + this.dbDriverClass = "com.mysql.jdbc.Driver"; + this.dbDriverUrl = url; + this.dbUsername = user; + this.dbPassword = pass; + + Class.forName(dbDriverClass); + Connection conn = DriverManager.getConnection(dbDriverUrl, dbUsername, dbPassword); + conn.setAutoCommit(false); + PreparedStatement stmt = conn.prepareStatement("SELECT * FROM lams_configuration WHERE config_key= \"Version\""); + ResultSet results = stmt.executeQuery(); + + if (results.first() == false) + { + throw new SQLException("Could not find LAMS database using url: " + dbDriverUrl); + } + else + { + String dbVersion = results.getString("config_value"); + if (dbVersion.equals(version) == false) + { + throw new SQLException("Your current LAMS version: " +dbVersion+ " is not compatible with this upgrade. Required version: " +version); + } + else + { + System.out.println("LAMS version is compatible with this upgrade.\n"); + } + } + conn.close(); + } + catch (SQLException e) + { + System.out.println(e.getMessage()); + System.out.println("Upgrade failed. LAMS database check failed.\n"); + System.exit(1); + } + catch (Exception e) + { + System.out.println(e.getMessage()); + System.out.println("Upgrade failed. Unknown failure checking LAMS database version.\n"); + e.printStackTrace(); + System.exit(1); + } + + } + +} Index: unix_installer/patch-package/java/copyllid.java =================================================================== diff -u --- unix_installer/patch-package/java/copyllid.java (revision 0) +++ unix_installer/patch-package/java/copyllid.java (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,144 @@ +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.Properties; +import java.sql.SQLException; +import java.sql.DriverManager; +import java.io.*; +import java.lang.Runtime; + + + +public class copyllid +{ + public static void main(String args[]) throws Exception + { + System.out.println("Copying combined task language files"); + + if (args.length < 5) + { + System.out.println("Usage: java Alter21Integration JBOSS_DIR DB_USERNAME DB_PASSWORD DB_NAME DB_URL"); + System.out.println("Make sure mysql-connector-java-3.x.x-bin.jar is in your classpath."); + System.exit(1); + } + + String llid = args[0] + "/server/default/deploy/lams.ear/lams-dictionary.jar/org/lamsfoundation/lams/library/"; + + new copyllid(llid, args[1], args[2], args[3], args[4]); + } + + + private String dbname, dbuser, dbpass, dburl, dbdriver, lliddir; + + private String forumScribe, resourceForum, chatScribe; + + private Connection conn; + + public copyllid(String lliddir, String dbuser, String dbpass, String dbname, String dburl) + { + dbdriver = "com.mysql.jdbc.Driver"; + + try + { + Class.forName(dbdriver); + conn = DriverManager.getConnection(dburl, dbuser, dbpass); + + PreparedStatement stmt = null; + ResultSet result = null; + + + stmt = conn.prepareStatement ("select learning_library_id from lams_learning_library where title = \"Chat and Scribe\""); + result = stmt.executeQuery(); + + if (result.first()) + { + chatScribe = "llid" + result.getString("learning_library_id"); + } + + stmt = conn.prepareStatement ("select learning_library_id from lams_learning_library where title = \"Resources and Forum\""); + result = stmt.executeQuery(); + + if (result.first()) + { + resourceForum = "llid" + result.getString("learning_library_id"); + } + + stmt = conn.prepareStatement ("select learning_library_id from lams_learning_library where title = \"Forum and Scribe\""); + result = stmt.executeQuery(); + + if (result.first()) + { + forumScribe = "llid" + result.getString("learning_library_id"); + } + + } + catch (SQLException se) + { + System.out.println(se.getMessage()); + se.printStackTrace(); + } + catch (Exception e) + { + System.out.println(e.getMessage()); + e.printStackTrace(); + } + + + chatScribe = lliddir + chatScribe; + resourceForum = lliddir + resourceForum; + forumScribe = lliddir + forumScribe; + + try + { + Runtime run = Runtime.getRuntime(); + run.exec("mkdir " + chatScribe); + run.exec("mkdir " + resourceForum); + run.exec("mkdir " + forumScribe); + + + copyFiles("../language-pack/library/ChatAndScribe/", chatScribe); + copyFiles("../language-pack/library/ForumAndScribe/", forumScribe); + copyFiles("../language-pack/library/ResourcesAndForum/", resourceForum); + } + catch (IOException e) + { + System.out.println(e.getMessage()); + e.printStackTrace(); + } + + System.out.println("Language files for combined tasks successfully updated"); + } + + // The method copyFiles being defined + public static void copyFiles(String strPath, String dstPath) throws IOException + { + + File src = new File(strPath); + File dest = new File(dstPath); + + if (src.isDirectory()) + { + //if(dest.exists()!=true) + dest.mkdirs(); + String list[] = src.list(); + + for (int i = 0; i < list.length; i++) + { + String dest1 = dest.getAbsolutePath() + "/" + list[i]; + String src1 = src.getAbsolutePath() + "/" + list[i]; + copyFiles(src1 , dest1); + } + } + else + { + FileInputStream fin = new FileInputStream(src); + FileOutputStream fout = new FileOutputStream (dest); + int c; + while ((c = fin.read()) >= 0) + fout.write(c); + fin.close(); + fout.close(); + } + } + +} Index: unix_installer/patch-package/lams.properties =================================================================== diff -u --- unix_installer/patch-package/lams.properties (revision 0) +++ unix_installer/patch-package/lams.properties (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,132 @@ +# Copyright (C) 2008 LAMS Foundation (http://lamsfoundation.org) +# License Information: http://lamsfoundation.org/licensing/lams/2.0/ +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2.0 +# as published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 +# USA +# +# http://www.gnu.org/licenses/gpl.txt +# + +######################################################################################### +# Installation Options # +######################################################################################### + +# The lamshome directory, will contain repository, temp and dump files +# Make sure this location has sufficient disk space as several files will be stored +# here during run time +LAMS_DIR=/var/opt/lams + +# Username and password for the system admin for LAMS +LAMS_USER=sysadmin +LAMS_PASS=sysadmin + +# Default language locale and text direction for LAMS, see section 3 of the readme +LOCALE=en_AU +LOCALE_DIRECTION=LTR + + +# Database name, username and password for your LAMS database +DB_NAME=lams2 +DB_USER=lamsuser +DB_PASS=lamsdemo + + +# Wildfire configuration, used for chat tools. see the documentation under +# "Configuring the Chat Server" at: +# http://wiki.lamsfoundation.org/display/lams/Building+LAMS +WILDFIRE_DOMAIN=localhost +WILDFIRE_CONFERENCE=conference.localhost +WILDFIRE_USER=admin +WILDFIRE_PASS= + +######################################################################################### + + + +######################################################################################### +# Essential Settings # +# These setting must be correct in order for the install to complete successfully # +######################################################################################### + +# The port through which you want jboss to run +LAMS_PORT=8080 + +# The url you intend to use to run LAMS +# NOTE: Make sure the URL ends with a "/" or you will have problems running LAMS +SERVER_URL=http://localhost:8080/lams/ + +# Where your home directory of JBoss is +# This will contain your LAMS installation +JBOSS_DIR=/usr/local/jboss-4.0.2 + +# The directory that contains your JDK. (Must be 1.5 or higher) +JDK_DIR=/usr/lib/jvm/java-1.5.0-sun/ + +# The location of your mysql executable (Must be 5.0 or higher) +SQL_DIR=/usr/bin + +# The location of your MySql server, leave as localhost unless you are useing MySql on +# a separate server +SQL_HOST=localhost + +# The port that your MySql server is running through +SQL_PORT=3306 + +# The URL that your jdbc driver will be running through +SQL_URL=jdbc:mysql://${SQL_HOST}/${DB_NAME}?characterEncoding=utf8&autoReconnect=true + +# The root password to access the database +DB_ROOT_PASSWORD= + +######################################################################################### + + + +######################################################################################### +# Installation Settings # +# DO NOT CHANGE unless you require more disk space for repository, temp or dump dir # +######################################################################################### + +# Locations of the repository, temporary, and dump directories +# Used as storage locations for LAMS files +REPOSITORY_DIR=${LAMS_DIR}/repository +TEMP_DIR=${LAMS_DIR}/temp +DUMP_DIR=${LAMS_DIR}/dump + +# Execution directiories must be within the jboss-4.0.2 directory structure +BINDIR=${JBOSS_DIR}/bin +TOMCATDIR=${DEPLOY_DIR}/jbossweb-tomcat55.sar +DEPLOY_DIR=${JBOSS_DIR}/server/default/deploy +SERVER_DIR=${JBOSS_DIR}/server +DEFAULT_DIR=${JBOSS_DIR}/server/default +EAR_DIR=${DEPLOY_DIR}/lams.ear + +# Location of installation files within the package +LAMS_BUILD=${basedir}/lams_build +CONF_DIR=${basedir}/conf/unix +JBOSS_CONF=${CONF_DIR}/jboss +AUTH_CONF=${CONF_DIR}/authentication + +# Drivers for MySql during installation +SQL_DRIVER=com.mysql.jdbc.Driver +SQL_JAR=mysql-connector-java-3.1.12-bin.jar + +# The URL of the default mysql database +MYSQL_DB_URL=jdbc:mysql://${SQL_HOST}/mysql?characterEncoding=utf8 + +# The version of this lams installer +LAMS_VERSION=2.1.1 + +######################################################################################### + Index: unix_installer/patch-package/license =================================================================== diff -u --- unix_installer/patch-package/license (revision 0) +++ unix_installer/patch-package/license (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,2603 @@ +LAMS 2.1.1 is released under the GPL license detailed below. This package +also includes other libraries/packages, whose respective licenses are +detailed below. + +Library/Package License +-------------------------------------------------------------------------------- +antlr.jar Antlr 3 License +axis-ant.jar Apache License 2.0 +axis.jar Apache License 2.0 +cglib-nodep-2.1_2.jar Apache License 2.0 +cglib_jboss404GA.jar Apache License 2.0 +commons-beanutils.jar Apache License 2.0 +commons-codec-1.3.jar Apache License 2.0 +commons-collections.jar Apache License 2.0 +commons-digester.jar Apache License 2.0 +commons-discovery-0.2.jar Apache Software License 1.1 +commons-fileupload.jar Apache Software License 1.1 +commons-lang-2.0.jar Apache Software License 1.1 +commons-logging.jar Apache License 2.0 +commons-validator.jar Apache License 2.0 +FCKeditor-2.3.jar CDL Closed Distribution License +gnujaxp.jar GNU General Public License +hibernate3.jar GNU General Public License +jakarta-oro.jar Apache Software License 1.1 +jaxrpc.jar GNU Lesser General Public Licence +jboss-cache.jar GNU Lesser General Public Licence +jboss-common.jar GNU Lesser General Public Licence +jboss-jmx.jar GNU Lesser General Public Licence +jboss-system.jar GNU Lesser General Public Licence +jcommon-1.0.0.jar GNU Lesser General Public Licence +jdom.jar Jdom Jar License +jfreechart-1.0.1.jar GNU Lesser General Public Licence +jgroups.jar GNU Lesser General Public Licence +jmock-2003-03-19.jar jMock Project License +joda-time-0.98.jar Joda Software License 1.0 +jsMath Apache License 2.0 +jstl.jar JSTL License 1.1 +log4j-1.2.13.jar Apache Software License 1.1 +mysql-connector- (CDDL Common Development and + java-3.1.12-bin-jar Distribution License 1.0) +odmg-3.0.jar ODMG 2.0 +poi-2.5.1-final Apache Software License 1.1 + -20040804.jar +quartz.jar Apache License 2.0 +saaj.jar (CDDL Common Development and + Distribution License 1.0) +smack.jar Apache License 2.0 +smackx.jar Apache License 2.0 +spring.jar Apache License 2.0 +standard.jar Apache License 2.0 +struts-el.jar Apache License 2.0 +struts.jar Apache License 2.0 +wddx.jar GNU General Public License +wsdl4j-1.5.1.jar CPL Common Public License 0.5 +xml-writer-0.2.jar XML-Write License +xom-1.0.b3.jar GNU Lesser General Public License +xpp3-1.1.3.4d_b4.jar XPP3 License +xstream-1.1.jar xstream Licanse + +SHARE RECOURCES LIBRARY LICENSES +castor-0.9.5.3-xml.jar Castor License +jdom.jar Jdom Jar License +moonunitsrc.jar Reload License +reload-diva.jar Reload License +reload-editor.jar Reload License +reload-jdom.jar Reload License +reload-moonunit.jar Reload License +xercesImpl.jar Apache Software License 1.1 +xml-apis.jar Apache Software License 1.1 +jaxen-full.jar Jaxen Jar License (The Werken + Company) +sax.jar Public Domain +saxpath.jar Jaxen Jar License (The Werken + Company) +-------------------------------------------------------------------------------- + + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + + + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + +===================================================== +/* + * The Apache Software License, Version 1.1 + * + * Copyright (c) 2000 The Apache Software Foundation. All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. 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. + * + * 3. The end-user documentation included with the redistribution, + * if any, must include the following acknowledgment: + * "This product includes software developed by the + * Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowledgment may appear in the software itself, + * if and wherever such third-party acknowledgments normally appear. + * + * 4. The names "Apache" and "Apache Software Foundation" must + * not be used to endorse or promote products derived from this + * software without prior written permission. For written + * permission, please contact apache@apache.org. + * + * 5. Products derived from this software may not be called "Apache", + * nor may "Apache" appear in their name, without prior written + * permission of the Apache Software Foundation. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 THE APACHE SOFTWARE FOUNDATION OR + * ITS 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. + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation. For more + * information on the Apache Software Foundation, please see + * . + * + * Portions of this software are based upon public domain software + * originally written at the National Center for Supercomputing Applications, + * University of Illinois, Urbana-Champaign. + */ + ===================================================== + + + + + ===================================================== + + /* + * Joda Software License, Version 1.0 + * + * + * Copyright (c) 2001-2004 Stephen Colebourne. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. 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. + * + * 3. The end-user documentation included with the redistribution, + * if any, must include the following acknowledgment: + * "This product includes software developed by the + * Joda project (http://www.joda.org/)." + * Alternately, this acknowledgment may appear in the software itself, + * if and wherever such third-party acknowledgments normally appear. + * + * 4. The name "Joda" must not be used to endorse or promote products + * derived from this software without prior written permission. For + * written permission, please contact licence@joda.org. + * + * 5. Products derived from this software may not be called "Joda", + * nor may "Joda" appear in their name, without prior written + * permission of the Joda project. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 THE JODA AUTHORS OR THE PROJECT + * 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. + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Joda project and was originally + * created by Stephen Colebourne . For more + * information on the Joda project, please see . + */ + + ===================================================== + + + +===================================================== + +Closed Distribution License (CDL) + +Agreement +IMPORTANT - READ CAREFULLY: This End-User License Agreement ("EULA") is a legal +agreement between you (either an individual or a single entity) and FREDERICO +CALDEIRA KNABBEN (the "Owner") covering your use of FCKeditor (the �Software�). +Be sure to read the following agreement before using the Software. +TERMS AND CONDITIONS +1. This EULA uses the GNU Lesser General Public License (�LGPL�) as its base. +Agreeing to this license you are also agreeing to be bound to the LGPL license +terms, limited to the changes defined in this EULA. The terms defined in this +EULA override any term present in the LGPL license that conflicts with the EULA. +2. GRANT OF LICENSE. The Owner grants you the right to use the Software and any +related supplements or add-on components published by the Owner, unless +explicitly specified, on your one specific product (�Product�) with the +following special rights: there is no need to distribute the LGPL license with +the Product and no reference to it have to be done; no references to the +Software have to be done in any file distributed with the Product; the source +code of the Software doesn�t have to be distributed along with the Product; you +can remove any file from the Software when integrating it with the Product. It +is agreed that in exchange for the license set forth herein, you will pay a +one-time license fee of US$750 (Seven Hundred and Fifty U.S. Dollars). +3. LICENSE VALIDITY. This EULA is valid only if the Product is a work that uses +the Software, and doesn�t go in competition with the Software in the +marketplace. Whenever this license looses its validity, the LGPL license takes +its place. +4. RESERVATION OF RIGHTS AND OWNERSHIP. The Owner reserves all rights not +expressly granted to you in this EULA. The Software is protected by copyright +and other intellectual property laws and treaties. The Owner owns the title, +copyright, and other intellectual property rights in the Software. The Software +is licensed, not sold. This EULA does not grant you any rights to trademarks or +service the Software marks. +5. TERMINATION. Without prejudice to any other rights, the Owner may terminate +this EULA if you fail to comply with the terms and conditions of this EULA. In +such event, your right to use this Software and the rights to use the files +produced using the Software by third parties terminates automatically and you +must then destroy all copies of the Software in your possession. +6. WARRANTY. Owner represents and warrants that he has full title and ownership +to the Software and has the authority to grant the license hereunder. To the +best of Owner's knowledge the Software does not infringe upon the intellectual +property rights of any third party and that he did not receive any notice +regarding any alleged infringement thereof. +7. DISCLAIMER OF WARRANTIES. The Software and its related material are provided +�AS IS� and without warranty of any kind and the Owner expressly disclaims all +other warranties, expressed or implied, including, but not limited to, the +implied warranties of merchantability and fitness for a particular purpose. +8. EXCLUSION OF INCIDENTAL, CONSEQUENTIAL AND CERTAIN OTHER DAMAGES. +TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT +SHALL THE OWNER BE LIABLE FOR ANY SPECIAL, INCIDENTAL, PUNITIVE, +INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, BUT NOT +LIMITED TO, DAMAGES FOR LOSS OF PROFITS OR CONFIDENTIAL OR OTHER +INFORMATION, FOR BUSINESS INTERRUPTION, FOR PERSONAL INJURY, FOR +LOSS OF PRIVACY, FOR FAILURE TO MEET ANY DUTY INCLUDING OF GOOD +FAITH OR OF REASONABLE CARE, FOR NEGLIGENCE, AND FOR ANY OTHER +PECUNIARY OR OTHER LOSS WHATSOEVER) ARISING OUT OF OR IN ANY WAY +RELATED TO THE USE OF OR INABILITY TO USE THE SOFTWARE, THE +PROVISION OF OR FAILURE TO PROVIDE SUPPORT OR OTHER SERVICES, +INFORMATON, SOFTWARE, AND RELATED CONTENT THROUGH THE SOFTWARE +OR OTHERWISE ARISING OUT OF THE USE OF THE SOFTWARE, OR OTHERWISE +UNDER OR IN CONNECTION WITH ANY PROVISION OF THIS EULA, EVEN IN THE +EVENT OF THE FAULT, TORT (INCLUDING NEGLIGENCE), MISREPRESENTATION, +STRICT LIABILITY, BREACH OF CONTRACT, AND EVEN IF THE OWNER HAS BEEN +ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +9. LIMITATION OF LIABILITY. In no vent shall the Owner's liability exceed the +license fee paid, if any. +END OF TERMS AND CONDITIONS + +===================================================== + + + +===================================================== + +COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 + + 1. Definitions. + 1.1. "Contributor" means each individual or entity that + creates or contributes to the creation of Modifications. + 1.2. "Contributor Version" means the combination of the + Original Software, prior Modifications used by a + Contributor (if any), and the Modifications made by that + particular Contributor. + 1.3. "Covered Software" means (a) the Original Software, or + (b) Modifications, or (c) the combination of files + containing Original Software with files containing + Modifications, in each case including portions thereof. + 1.4. "Executable" means the Covered Software in any form + other than Source Code. + 1.5. "Initial Developer" means the individual or entity + that first makes Original Software available under this + License. + 1.6. "Larger Work" means a work which combines Covered + Software or portions thereof with code not governed by the + terms of this License. + 1.7. "License" means this document. + 1.8. "Licensable" means having the right to grant, to the + maximum extent possible, whether at the time of the initial + grant or subsequently acquired, any and all of the rights + conveyed herein. + 1.9. "Modifications" means the Source Code and Executable + form of any of the following: + A. Any file that results from an addition to, + deletion from or modification of the contents of a + file containing Original Software or previous + Modifications; + B. Any new file that contains any part of the + Original Software or previous Modification; or + C. Any new file that is contributed or otherwise made + available under the terms of this License. + 1.10. "Original Software" means the Source Code and + Executable form of computer software code that is + originally released under this License. + 1.11. "Patent Claims" means any patent claim(s), now owned + or hereafter acquired, including without limitation, + method, process, and apparatus claims, in any patent + Licensable by grantor. + 1.12. "Source Code" means (a) the common form of computer + software code in which modifications are made and (b) + associated documentation included in or with such code. + 1.13. "You" (or "Your") means an individual or a legal + entity exercising rights under, and complying with all of + the terms of, this License. For legal entities, "You" + includes any entity which controls, is controlled by, or is + under common control with You. For purposes of this + definition, "control" means (a) the power, direct or + indirect, to cause the direction or management of such + entity, whether by contract or otherwise, or (b) ownership + of more than fifty percent (50%) of the outstanding shares + or beneficial ownership of such entity. + 2. License Grants. + 2.1. The Initial Developer Grant. + Conditioned upon Your compliance with Section 3.1 below and + subject to third party intellectual property claims, the + Initial Developer hereby grants You a world-wide, + royalty-free, non-exclusive license: + (a) under intellectual property rights (other than + patent or trademark) Licensable by Initial Developer, + to use, reproduce, modify, display, perform, + sublicense and distribute the Original Software (or + portions thereof), with or without Modifications, + and/or as part of a Larger Work; and + (b) under Patent Claims infringed by the making, + using or selling of Original Software, to make, have + made, use, practice, sell, and offer for sale, and/or + otherwise dispose of the Original Software (or + portions thereof). + (c) The licenses granted in Sections 2.1(a) and (b) + are effective on the date Initial Developer first + distributes or otherwise makes the Original Software + available to a third party under the terms of this + License. + (d) Notwithstanding Section 2.1(b) above, no patent + license is granted: (1) for code that You delete from + the Original Software, or (2) for infringements + caused by: (i) the modification of the Original + Software, or (ii) the combination of the Original + Software with other software or devices. + 2.2. Contributor Grant. + Conditioned upon Your compliance with Section 3.1 below and + subject to third party intellectual property claims, each + Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + (a) under intellectual property rights (other than + patent or trademark) Licensable by Contributor to + use, reproduce, modify, display, perform, sublicense + and distribute the Modifications created by such + Contributor (or portions thereof), either on an + unmodified basis, with other Modifications, as + Covered Software and/or as part of a Larger Work; and + (b) under Patent Claims infringed by the making, + using, or selling of Modifications made by that + Contributor either alone and/or in combination with + its Contributor Version (or portions of such + combination), to make, use, sell, offer for sale, + have made, and/or otherwise dispose of: (1) + Modifications made by that Contributor (or portions + thereof); and (2) the combination of Modifications + made by that Contributor with its Contributor Version + (or portions of such combination). + (c) The licenses granted in Sections 2.2(a) and + 2.2(b) are effective on the date Contributor first + distributes or otherwise makes the Modifications + available to a third party. + (d) Notwithstanding Section 2.2(b) above, no patent + license is granted: (1) for any code that Contributor + has deleted from the Contributor Version; (2) for + infringements caused by: (i) third party + modifications of Contributor Version, or (ii) the + combination of Modifications made by that Contributor + with other software (except as part of the + Contributor Version) or other devices; or (3) under + Patent Claims infringed by Covered Software in the + absence of Modifications made by that Contributor. + 3. Distribution Obligations. + 3.1. Availability of Source Code. + Any Covered Software that You distribute or otherwise make + available in Executable form must also be made available in + Source Code form and that Source Code form must be + distributed only under the terms of this License. You must + include a copy of this License with every copy of the + Source Code form of the Covered Software You distribute or + otherwise make available. You must inform recipients of any + such Covered Software in Executable form as to how they can + obtain such Covered Software in Source Code form in a + reasonable manner on or through a medium customarily used + for software exchange. + 3.2. Modifications. + The Modifications that You create or to which You + contribute are governed by the terms of this License. You + represent that You believe Your Modifications are Your + original creation(s) and/or You have sufficient rights to + grant the rights conveyed by this License. + 3.3. Required Notices. + You must include a notice in each of Your Modifications + that identifies You as the Contributor of the Modification. + You may not remove or alter any copyright, patent or + trademark notices contained within the Covered Software, or + any notices of licensing or any descriptive text giving + attribution to any Contributor or the Initial Developer. + 3.4. Application of Additional Terms. + You may not offer or impose any terms on any Covered + Software in Source Code form that alters or restricts the + applicable version of this License or the recipients� + rights hereunder. You may choose to offer, and to charge a + fee for, warranty, support, indemnity or liability + obligations to one or more recipients of Covered Software. + However, you may do so only on Your own behalf, and not on + behalf of the Initial Developer or any Contributor. You + must make it absolutely clear that any such warranty, + support, indemnity or liability obligation is offered by + You alone, and You hereby agree to indemnify the Initial + Developer and every Contributor for any liability incurred + by the Initial Developer or such Contributor as a result of + warranty, support, indemnity or liability terms You offer. + 3.5. Distribution of Executable Versions. + You may distribute the Executable form of the Covered + Software under the terms of this License or under the terms + of a license of Your choice, which may contain terms + different from this License, provided that You are in + compliance with the terms of this License and that the + license for the Executable form does not attempt to limit + or alter the recipient�s rights in the Source Code form + from the rights set forth in this License. If You + distribute the Covered Software in Executable form under a + different license, You must make it absolutely clear that + any terms which differ from this License are offered by You + alone, not by the Initial Developer or Contributor. You + hereby agree to indemnify the Initial Developer and every + Contributor for any liability incurred by the Initial + Developer or such Contributor as a result of any such terms + You offer. + 3.6. Larger Works. + You may create a Larger Work by combining Covered Software + with other code not governed by the terms of this License + and distribute the Larger Work as a single product. In such + a case, You must make sure the requirements of this License + are fulfilled for the Covered Software. + 4. Versions of the License. + 4.1. New Versions. + Sun Microsystems, Inc. is the initial license steward and + may publish revised and/or new versions of this License + from time to time. Each version will be given a + distinguishing version number. Except as provided in + Section 4.3, no one other than the license steward has the + right to modify this License. + 4.2. Effect of New Versions. + You may always continue to use, distribute or otherwise + make the Covered Software available under the terms of the + version of the License under which You originally received + the Covered Software. If the Initial Developer includes a + notice in the Original Software prohibiting it from being + distributed or otherwise made available under any + subsequent version of the License, You must distribute and + make the Covered Software available under the terms of the + version of the License under which You originally received + the Covered Software. Otherwise, You may also choose to + use, distribute or otherwise make the Covered Software + available under the terms of any subsequent version of the + License published by the license steward. + 4.3. Modified Versions. + When You are an Initial Developer and You want to create a + new license for Your Original Software, You may create and + use a modified version of this License if You: (a) rename + the license and remove any references to the name of the + license steward (except to note that the license differs + from this License); and (b) otherwise make it clear that + the license contains terms which differ from this License. + 5. DISCLAIMER OF WARRANTY. + COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" + BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, + INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED + SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR + PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND + PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY + COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE + INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF + ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF + WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF + ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS + DISCLAIMER. + 6. TERMINATION. + 6.1. This License and the rights granted hereunder will + terminate automatically if You fail to comply with terms + herein and fail to cure such breach within 30 days of + becoming aware of the breach. Provisions which, by their + nature, must remain in effect beyond the termination of + this License shall survive. + 6.2. If You assert a patent infringement claim (excluding + declaratory judgment actions) against Initial Developer or + a Contributor (the Initial Developer or Contributor against + whom You assert such claim is referred to as "Participant") + alleging that the Participant Software (meaning the + Contributor Version where the Participant is a Contributor + or the Original Software where the Participant is the + Initial Developer) directly or indirectly infringes any + patent, then any and all rights granted directly or + indirectly to You by such Participant, the Initial + Developer (if the Initial Developer is not the Participant) + and all Contributors under Sections 2.1 and/or 2.2 of this + License shall, upon 60 days notice from Participant + terminate prospectively and automatically at the expiration + of such 60 day notice period, unless if within such 60 day + period You withdraw Your claim with respect to the + Participant Software against such Participant either + unilaterally or pursuant to a written agreement with + Participant. + 6.3. In the event of termination under Sections 6.1 or 6.2 + above, all end user licenses that have been validly granted + by You or any distributor hereunder prior to termination + (excluding licenses granted to You by any distributor) + shall survive termination. + 7. LIMITATION OF LIABILITY. + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE + INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF + COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE + LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT + LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK + STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL + INJURY RESULTING FROM SUCH PARTY�S NEGLIGENCE TO THE EXTENT + APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO + NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR + CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT + APPLY TO YOU. + 8. U.S. GOVERNMENT END USERS. + The Covered Software is a "commercial item, as that term is + defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial + computer software (as that term is defined at 48 C.F.R. � + 252.227-7014(a)(1)) and "commercial computer software + documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. + 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 + through 227.7202-4 (June 1995), all U.S. Government End Users + acquire Covered Software with only those rights set forth herein. + This U.S. Government Rights clause is in lieu of, and supersedes, + any other FAR, DFAR, or other clause or provision that addresses + Government rights in computer software under this License. + 9. MISCELLANEOUS. + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the + extent necessary to make it enforceable. This License shall be + governed by the law of the jurisdiction specified in a notice + contained within the Original Software (except to the extent + applicable law, if any, provides otherwise), excluding such + jurisdiction�s conflict-of-law provisions. Any litigation + relating to this License shall be subject to the jurisdiction of + the courts located in the jurisdiction and venue specified in a + notice contained within the Original Software, with the losing + party responsible for costs, including, without limitation, court + costs and reasonable attorneys� fees and expenses. The + application of the United Nations Convention on Contracts for the + International Sale of Goods is expressly excluded. Any law or + regulation which provides that the language of a contract shall + be construed against the drafter shall not apply to this License. + You agree that You alone are responsible for compliance with the + United States export administration regulations (and the export + control laws and regulation of any other countries) when You use, + distribute or otherwise make available any Covered Software. + 10. RESPONSIBILITY FOR CLAIMS. + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or + indirectly, out of its utilization of rights under this License + and You agree to work with Initial Developer and Contributors to + distribute such responsibility on an equitable basis. Nothing + herein is intended or shall be deemed to constitute any admission + of liability. +===================================================== + + + +===================================================== + +ANTLR 3 License + +[The BSD License] +Copyright (c) 2003-2006, Terence Parr +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 author 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 THE COPYRIGHT OWNER 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. + +===================================================== + + +===================================================== +JDOM JAR LICENSE + +$Id$ + +Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright +notice, this list of conditions, and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright +notice, this list of conditions, and the disclaimer that follows +these conditions in the documentation and/or other materials +provided with the distribution. + +3. The name "JDOM" must not be used to endorse or promote products +derived from this software without prior written permission. For +written permission, please contact . + +4. Products derived from this software may not be called "JDOM", nor +may "JDOM" appear in their name, without prior written permission +from the JDOM Project Management . + +In addition, we request (but do not require) that you include in the +end-user documentation provided with the redistribution and/or in the +software itself an acknowledgement equivalent to the following: +"This product includes software developed by the + JDOM Project (http://www.jdom.org/)." +Alternatively, the acknowledgment may be graphical using the logos +available at http://www.jdom.org/images/logos. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 THE JDOM AUTHORS OR THE PROJECT +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. + +This software consists of voluntary contributions made by many +individuals on behalf of the JDOM Project and was originally +created by Jason Hunter and +Brett McLaughlin . For more information +on the JDOM Project, please see . + +===================================================== + + +===================================================== + +jMock Project License + +Copyright (c) 2000-2003, jMock.org +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 jMock 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 THE COPYRIGHT OWNER 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. + +===================================================== + + +===================================================== + +JSTL License + +JavaServer Pages(TM) Standard Tag Library (JSTL) Specification 1.1 Maintenance +Release, Download +In order to obtain JavaServer Pages(TM) Standard Tag Library (JSTL) +Specification 1.1 Maintenance Release you must agree to the software +license below: + +SUN MICROSYSTEMS, INC. IS WILLING TO LICENSE THIS +SPECIFICATION TO YOU ONLY UPON THE CONDITION THAT YOU +ACCEPT ALL OF THE TERMS CONTAINED IN THIS LICENSE AGREEMENT +("AGREEMENT"). PLEASE READ THE TERMS AND CONDITIONS OF THIS +LICENSE CAREFULLY. BY DOWNLOADING THIS SPECIFICATION, YOU +ACCEPT THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT. +IF YOU ARE NOT WILLING TO BE BOUND BY ITS TERMS, SELECT THE +"DECLINE" BUTTON AT THE BOTTOM OF THIS PAGE AND THE +DOWNLOADING PROCESS WILL NOT CONTINUE. + +JavaServer Pages(TM) Standard Tag Library (JSTL) +Specification ("Specification") Version: 1.1 Status: FCS, +Maintenance Release Release: November 24, 2003 + +Copyright 2003 Sun Microsystems, Inc. 4150 Network Circle, +Santa Clara, California 95054, U.S.A All rights reserved. + +NOTICE; LIMITED LICENSE GRANTS Sun Microsystems, Inc. +("Sun") hereby grants you a fully-paid, non-exclusive, +non-transferable, worldwide, limited license (without the +right to sublicense), under the Sun's applicable +intellectual property rights to view, download, use and +reproduce the Specification only for the purpose of +internal evaluation, which shall be understood to include +developing applications intended to run on an +implementation of the Specification provided that such +applications do not themselves implement any portion(s) of +the Specification. Sun also grants you a perpetual, +non-exclusive, worldwide, fully paid-up, royalty free, +limited license (without the right to sublicense) under any +applicable copyrights or patent rights it may have in the +Specification to create and/or distribute an Independent +Implementation of the Specification that: (i) fully +implements the Spec(s) including all its required +interfaces and functionality; (ii) does not modify, subset, +superset or otherwise extend the Licensor Name Space, or +include any public or protected packages, classes, Java +interfaces, fields or methods within the Licensor Name +Space other than those required/authorized by the +Specification or Specifications being implemented; and +(iii) passes the TCK (including satisfying the requirements +of the applicable TCK Users Guide) for such Specification. +The foregoing license is expressly conditioned on your not +acting outside its scope. No license is granted hereunder +for any other purpose. You need not include limitations +(i)-(iii) from the previous paragraph or any other +particular "pass through" requirements in any license You +grant concerning the use of your Independent Implementation +or products derived from it. However, except with respect +to implementations of the Specification (and products +derived from them) that satisfy limitations (i)-(iii) from +the previous paragraph, You may neither: (a) grant or +otherwise pass through to your licensees any licenses under +Sun's applicable intellectual property rights; nor (b) +authorize your licensees to make any claims concerning +their implementation's compliance with the Spec in +question. + +For the purposes of this Agreement: "Independent +Implementation" shall mean an implementation of the +Specification that neither derives from any of Sun's source +code or binary code materials nor, except with an +appropriate and separate license from Sun, includes any of +Sun's source code or binary code materials; and "Licensor +Name Space" shall mean the public class or interface +declarations whose names begin with "java", "javax", +"com.sun" or their equivalents in any subsequent naming +convention adopted by Sun through the Java Community +Process, or any recognized successors or replacements +thereof. + +This Agreement will terminate immediately without notice +from Sun if you fail to comply with any material provision +of or act outside the scope of the licenses granted above. + +TRADEMARKS No right, title, or interest in or to any +trademarks, service marks, or trade names of Sun or Sun's +licensors is granted hereunder. Sun, Sun Microsystems, the +Sun logo, Java, the Java Coffee Cup logo, J2EE, and +JavaServer Pages are trademarks or registered trademarks of +Sun Microsystems, Inc. in the U.S. and other countries. + +DISCLAIMER OF WARRANTIES THE SPECIFICATION IS PROVIDED "AS +IS". SUN MAKES NO REPRESENTATIONS OR WARRANTIES, EITHER +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE, OR NON-INFRINGEMENT, THAT THE CONTENTS OF THE +SPECIFICATION ARE SUITABLE FOR ANY PURPOSE OR THAT ANY +PRACTICE OR IMPLEMENTATION OF SUCH CONTENTS WILL NOT +INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADE SECRETS +OR OTHER RIGHTS. This document does not represent any +commitment to release or implement any portion of the +Specification in any product. THE SPECIFICATION COULD +INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. +CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION THEREIN; +THESE CHANGES WILL BE INCORPORATED INTO NEW VERSIONS OF THE +SPECIFICATION, IF ANY. SUN MAY MAKE IMPROVEMENTS AND/OR +CHANGES TO THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED +IN THE SPECIFICATION AT ANY TIME. Any use of such changes +in the Specification will be governed by the then-current +license for the applicable version of the Specification. + +LIMITATION OF LIABILITY TO THE EXTENT NOT PROHIBITED BY +LAW, IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR +ANY DAMAGES, INCLUDING WITHOUT LIMITATION, LOST REVENUE, +PROFITS OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, +INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND +REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR +RELATED TO ANY FURNISHING, PRACTICING, MODIFYING OR ANY USE +OF THE SPECIFICATION, EVEN IF SUN AND/OR ITS LICENSORS HAVE +BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. You will +indemnify, hold harmless, and defend Sun and its licensors +from any claims arising or resulting from: (i) your use of +the Specification; (ii) the use or distribution of your +Java application, applet and/or clean room implementation; +and/or (iii) any claims that later versions or releases of +any Specification furnished to you are incompatible with +the Specification provided to you under this license. + +RESTRICTED RIGHTS LEGEND U.S. Government: If this +Specification is being acquired by or on behalf of the U.S. +Government or by a U.S. Government prime contractor or +subcontractor (at any tier), then the Government's rights +in the Specification and accompanying documentation shall +be only as set forth in this license; this is in accordance +with 48 C.F.R. 227.7201 through 227.7202-4 (for Department +of Defense (DoD) acquisitions) and with 48 C.F.R. 2.101 and +12.212 (for non-DoD acquisitions). + +REPORT You may wish to report any ambiguities, +inconsistencies or inaccuracies you may find in connection +with your use of the Specification ("Feedback"). To the +extent that you provide Sun with any Feedback, you hereby: +(i) agree that such Feedback is provided on a +non-proprietary and non-confidential basis, and (ii) grant +Sun a perpetual, non-exclusive, worldwide, fully paid-up, +irrevocable license, with the right to sublicense through +multiple levels of sublicensees, to incorporate, disclose, +and use without limitation the Feedback for any purpose +related to the Specification and future versions, +implementations, and test suites thereof. + +===================================================== + + + +===================================================== + +ODMG 2.0 ODL Metadata and OML Interfaces for Java (JDK 1.2) + +Copyright (c) 1999 E. Wray Johnson. All rights reserved.Developed for use and +distribution by the Object Data Management Group (ODMG).Please contact the +author at ejohnson@carolina.rr.com for issues pertaining to the use of this +software. Do not contact the ODMG about any questions or issues that may arise +regarding the use of this software. + +These interfaces were developed from the specifications in the Object Database +Standard: ODMG 2.0book. Please refer to the book for a complete description of +the interfaces and their intended use.You can obtain the book through a +bookstore or directly from the publishers.Every effort has been made by the +author to adhere strictly to the specification, however common Java naming +conventions were substituted for consistency and clarity for Java developers. +This software is currently being upgraded to adhere to the ODMG 3.0 standard, +so please check this site for future updates. + + +LICENSE AGREEMENT +Redistribution of this software is permitted provided that the following +conditions are met: + +1. Redistributions of source or binary code formats must retain the above +copyright notice. +2. Redistribution in any product and all advertising materials mentioning +features or use of this software must display the following acknowledgment: +"This product includes +copyrighted software developed by E. Wray Johnson for use and distribution by +the Object Data Management Group (http://www.odmg.org/)." + +NO-NONSENSE DISCLAIMER +THIS SOFTWARE IS FREE AND PROVIDED "AS-IS" BY THE AUTHOR E. WRAY JOHNSON WHO +ASSUMES LIABILITY TO THE EXTENT OF THE AMOUNT THAT IS HEREBY BEING CHARGED FOR +THE SOFTWARE. + +===================================================== + + +===================================================== + + +Common Public License Version 1.0 + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC +LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM +CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + + a) in the case of the initial Contributor, the initial code and +documentation distributed under this Agreement, and + + b) in the case of each subsequent Contributor: + + i) changes to the Program, and + + ii) additions to the Program; + + where such changes and/or additions to the Program originate from and are +distributed by that particular Contributor. A Contribution 'originates' from a +Contributor if it was added to the Program by such Contributor itself or anyone +acting on such Contributor's behalf. Contributions do not include additions to +the Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) are not +derivative works of the Program. + +"Contributor" means any person or entity that distributes the Program. + +"Licensed Patents " mean patent claims licensable by a Contributor which are +necessarily infringed by the use or sale of its Contribution alone or when +combined with the Program. + +"Program" means the Contributions distributed in accordance with this Agreement. + +"Recipient" means anyone who receives the Program under this Agreement, +including all Contributors. + +2. GRANT OF RIGHTS + + a) Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free copyright license to +reproduce, prepare derivative works of, publicly display, publicly perform, +distribute and sublicense the Contribution of such Contributor, if any, and such +derivative works, in source code and object code form. + + b) Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed +Patents to make, use, sell, offer to sell, import and otherwise transfer the +Contribution of such Contributor, if any, in source code and object code form. +This patent license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, such +addition of the Contribution causes such combination to be covered by the +Licensed Patents. The patent license shall not apply to any other combinations +which include the Contribution. No hardware per se is licensed hereunder. + + c) Recipient understands that although each Contributor grants the licenses +to its Contributions set forth herein, no assurances are provided by any +Contributor that the Program does not infringe the patent or other intellectual +property rights of any other entity. Each Contributor disclaims any liability to +Recipient for claims brought by any other entity based on infringement of +intellectual property rights or otherwise. As a condition to exercising the +rights and licenses granted hereunder, each Recipient hereby assumes sole +responsibility to secure any other intellectual property rights needed, if any. +For example, if a third party patent license is required to allow Recipient to +distribute the Program, it is Recipient's responsibility to acquire that license +before distributing the Program. + + d) Each Contributor represents that to its knowledge it has sufficient +copyright rights in its Contribution, if any, to grant the copyright license set +forth in this Agreement. + +3. REQUIREMENTS + +A Contributor may choose to distribute the Program in object code form under its +own license agreement, provided that: + + a) it complies with the terms and conditions of this Agreement; and + + b) its license agreement: + + i) effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title and +non-infringement, and implied warranties or conditions of merchantability and +fitness for a particular purpose; + + ii) effectively excludes on behalf of all Contributors all liability for +damages, including direct, indirect, special, incidental and consequential +damages, such as lost profits; + + iii) states that any provisions which differ from this Agreement are offered +by that Contributor alone and not by any other party; and + + iv) states that source code for the Program is available from such +Contributor, and informs licensees how to obtain it in a reasonable manner on or +through a medium customarily used for software exchange. + +When the Program is made available in source code form: + + a) it must be made available under this Agreement; and + + b) a copy of this Agreement must be included with each copy of the Program. + +Contributors may not remove or alter any copyright notices contained within the +Program. + +Each Contributor must identify itself as the originator of its Contribution, if +any, in a manner that reasonably allows subsequent Recipients to identify the +originator of the Contribution. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities with +respect to end users, business partners and the like. While this license is +intended to facilitate the commercial use of the Program, the Contributor who +includes the Program in a commercial product offering should do so in a manner +which does not create potential liability for other Contributors. Therefore, if +a Contributor includes the Program in a commercial product offering, such +Contributor ("Commercial Contributor") hereby agrees to defend and indemnify +every other Contributor ("Indemnified Contributor") against any losses, damages +and costs (collectively "Losses") arising from claims, lawsuits and other legal +actions brought by a third party against the Indemnified Contributor to the +extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor to +control, and cooperate with the Commercial Contributor in, the defense and any +related settlement negotiations. The Indemnified Contributor may participate in +any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial product +offering, Product X. That Contributor is then a Commercial Contributor. If that +Commercial Contributor then makes performance claims, or offers warranties +related to Product X, those performance claims and warranties are such +Commercial Contributor's responsibility alone. Under this section, the +Commercial Contributor would have to defend claims against the other +Contributors related to those performance claims and warranties, and if a court +requires any other Contributor to pay any damages as a result, the Commercial +Contributor must pay those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR +IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each +Recipient is solely responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its exercise of +rights under this Agreement, including but not limited to the risks and costs of +program errors, compliance with applicable laws, damage to or loss of data, +programs or equipment, and unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY +CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST +PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS +GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under applicable +law, it shall not affect the validity or enforceability of the remainder of the +terms of this Agreement, and without further action by the parties hereto, such +provision shall be reformed to the minimum extent necessary to make such +provision valid and enforceable. + +If Recipient institutes patent litigation against a Contributor with respect to +a patent applicable to software (including a cross-claim or counterclaim in a +lawsuit), then any patent licenses granted by that Contributor to such Recipient +under this Agreement shall terminate as of the date such litigation is filed. In +addition, if Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the Program +itself (excluding combinations of the Program with other software or hardware) +infringes such Recipient's patent(s), then such Recipient's rights granted under +Section 2(b) shall terminate as of the date such litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it fails to +comply with any of the material terms or conditions of this Agreement and does +not cure such failure in a reasonable period of time after becoming aware of +such noncompliance. If all Recipient's rights under this Agreement terminate, +Recipient agrees to cease use and distribution of the Program as soon as +reasonably practicable. However, Recipient's obligations under this Agreement +and any licenses granted by Recipient relating to the Program shall continue and +survive. + +Everyone is permitted to copy and distribute copies of this Agreement, but in +order to avoid inconsistency the Agreement is copyrighted and may only be +modified in the following manner. The Agreement Steward reserves the right to +publish new versions (including revisions) of this Agreement from time to time. +No one other than the Agreement Steward has the right to modify this Agreement. +IBM is the initial Agreement Steward. IBM may assign the responsibility to serve +as the Agreement Steward to a suitable separate entity. Each new version of the +Agreement will be given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the Agreement +under which it was received. In addition, after a new version of the Agreement +is published, Contributor may elect to distribute the Program (including its +Contributions) under the new version. Except as expressly stated in Sections +2(a) and 2(b) above, Recipient receives no rights or licenses to the +intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and the +intellectual property laws of the United States of America. No party to this +Agreement will bring a legal action under this Agreement more than one year +after the cause of action arose. Each party waives its rights to a jury trial in +any resulting litigation. + +===================================================== + +XStream License + +Copyright (c) 2003-2006, Joe Walnes +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 XStream 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 THE COPYRIGHT OWNER 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. + +===================================================== + + + +===================================================== + +XPP3 License + +Indiana University Extreme! Lab Software License + +Version 1.1.1 + +Copyright (c) 2002 Extreme! Lab, Indiana University. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2. 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. + +3. The end-user documentation included with the redistribution, if any, + must include the following acknowledgment: + + "This product includes software developed by the Indiana University + Extreme! Lab (http://www.extreme.indiana.edu/)." + +Alternately, this acknowledgment may appear in the software itself, +if and wherever such third-party acknowledgments normally appear. + +4. The names "Indiana Univeristy" and "Indiana Univeristy Extreme! Lab" +must not be used to endorse or promote products derived from this +software without prior written permission. For written permission, +please contact http://www.extreme.indiana.edu/. + +5. Products derived from this software may not use "Indiana Univeristy" +name nor may "Indiana Univeristy" appear in their name, without prior +written permission of the Indiana University. + +THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED 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 THE AUTHORS, COPYRIGHT HOLDERS OR ITS 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. + +===================================================== + + + +===================================================== + +/* XML Writer license + * + * Copyright (c) 2003, Henri Yandell + * 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 XmlWriter 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 THE COPYRIGHT OWNER 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. + */ + +===================================================== + + +ANTLR LICENSE + +SOFTWARE RIGHTS + +ANTLR 1989-2005 Developed by Terence Parr +Partially supported by University of San Francisco & jGuru.com + +We reserve no legal rights to the ANTLR--it is fully in the +public domain. An individual or company may do whatever +they wish with source code distributed with ANTLR or the +code generated by ANTLR, including the incorporation of +ANTLR, or its output, into commerical software. + +We encourage users to develop software with ANTLR. However, +we do ask that credit is given to us for developing +ANTLR. By "credit", we mean that if you use ANTLR or +incorporate any source code into one of your programs +(commercial product, research project, or otherwise) that +you acknowledge this fact somewhere in the documentation, +research report, etc... If you like ANTLR and have +developed a nice tool with the output, please mention that +you developed it using ANTLR. In addition, we ask that the +headers remain intact in our source code. As long as these +guidelines are kept, we expect to continue enhancing this +system and expect to make other tools available as they are +completed. + +The primary ANTLR guy: + +Terence Parr +parrt@cs.usfca.edu +parrt@antlr.org + +======================================================== + +CASTOR-LICENSE + +Copyright 2000-2002 (C) Intalio Inc. All Rights Reserved. + +Redistribution and use of this software and associated documentation +("Software"), with or without modification, are permitted provided +that the following conditions are met: + +1. Redistributions of source code must retain copyright statements + and notices. Redistributions must also contain a copy of this + document. + +2. 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. + +3. The name "ExoLab" must not be used to endorse or promote products + derived from this Software without prior written permission of + Intalio Inc. For written permission, please contact info@exolab.org. + +4. Products derived from this Software may not be called "Castor" + nor may "Castor" appear in their names without prior written + permission of Intalio Inc. Exolab, Castor and Intalio are + trademarks of Intalio Inc. + +5. Due credit should be given to the ExoLab Project + (http://www.exolab.org/). + +THIS SOFTWARE IS PROVIDED BY INTALIO AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESSED 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 INTALIO OR ITS +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. + +======================================================== + +Jaxen License + + Copyright 2003-2006 The Werken Company. 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 Jaxen Project 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 THE COPYRIGHT OWNER +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. + +======================================================== + +Jdom License + +Copyright (C) 2000-2002 Brett McLaughlin & Jason Hunter. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the disclaimer that follows + these conditions in the documentation and/or other materials + provided with the distribution. + + 3. The name "JDOM" must not be used to endorse or promote products + derived from this software without prior written permission. For + written permission, please contact license@jdom.org. + + 4. Products derived from this software may not be called "JDOM", nor + may "JDOM" appear in their name, without prior written permission + from the JDOM Project Management (pm@jdom.org). + + In addition, we request (but do not require) that you include in the + end-user documentation provided with the redistribution and/or in the + software itself an acknowledgement equivalent to the following: + "This product includes software developed by the + JDOM Project (http://www.jdom.org/)." + Alternatively, the acknowledgment may be graphical using the logos + available at http://www.jdom.org/images/logos. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 THE JDOM AUTHORS OR THE PROJECT + 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. + + This software consists of voluntary contributions made by many + individuals on behalf of the JDOM Project and was originally + created by Brett McLaughlin and + Jason Hunter . For more information on the + JDOM Project, please see . + + ======================================================== + + Reload License + +RELOAD Tools and Libraries + +Copyright (c) 2002-2004 Oleg Liber, Bill Olivier, Phillip Beauvoir + +This licence covers: + +The Reload "jdom" library +The Reload "diva" library +The Reload "dweezil" library +The Reload "jdom" library +The Reload "moonunit" library +The Reload "xindice" library +The Reload Editor +The Reload SCORM Player +The Reload Schema Viewer Eclipse Plugin + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Project Management Contact: + +Oleg Liber +Bolton Institute of Higher Education +Deane Road +Bolton BL3 5AB +UK + +e-mail: o.liber@bolton.ac.uk + + +Technical Contact: + +Phillip Beauvoir +Bolton Institute of Higher Education +Deane Road +Bolton BL3 5AB +UK + +e-mail: p.beauvoir@bolton.ac.uk + +Web: http://www.reload.ac.uk + + + ======================================================== + + Xerces License + + /* + * The Apache Software License, Version 1.1 + * + * + * Copyright (c) 1999-2002 The Apache Software Foundation. All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. 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. + * + * 3. The end-user documentation included with the redistribution, + * if any, must include the following acknowledgment: + * "This product includes software developed by the + * Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowledgment may appear in the software itself, + * if and wherever such third-party acknowledgments normally appear. + * + * 4. The names "Xerces" and "Apache Software Foundation" must + * not be used to endorse or promote products derived from this + * software without prior written permission. For written + * permission, please contact apache@apache.org. + * + * 5. Products derived from this software may not be called "Apache", + * nor may "Apache" appear in their name, without prior written + * permission of the Apache Software Foundation. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 THE APACHE SOFTWARE FOUNDATION OR + * ITS 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. + * ==================================================================== + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation and was + * originally based on software copyright (c) 1999, International + * Business Machines, Inc., http://www.ibm.com. For more + * information on the Apache Software Foundation, please see + * . + */ + + ======================================================== Index: unix_installer/patch-package/readme =================================================================== diff -u --- unix_installer/patch-package/readme (revision 0) +++ unix_installer/patch-package/readme (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,207 @@ +LAMS 2.1.1 - Learning Activity Management System Installer +-------------------------------------------------------------------------------- + +This is an installer package for 2.1.1. Please read this +document carefully before installing. Please also ensure that you have read +and understood the terms of the license agreement. + +For release notes goto: http://wiki.lamsfoundation.org/display/lams/2.1.1 + +CONTENTS +======== + +1) Required Software +2) Installation +3) Setting up MySql on a Different Server +4) Server Configuration +5) Startup and Shutdown +6) Using the Java Service Wrapper +7) Backing up LAMS +8) Web Resources and further help + + +1. Required Software +==================== + +You will require some software to be installed and/or running for LAMS to run +properly. These are listed below + +JDK 1.5 or 1.6 +JBOSS-4.0.2 (Must be 4.0.2, newer and older versions have problems running LAMS) +MySql 5.0.x (Running) +Wildfire (Running - Required if you want to use chat tools) +ANT - Included in this package + + +2. Installation +=============== + +There are a few steps to updating LAMS on your computer. + +Firstly you must set up a lams.properties file. If you previously installed +lams using the unix installer, it will have backed up your lams.properties in +the /etc/lams2/ directory. If your settings are unchanged, then simply run the +updater and select yes when it asks you whether you want to use the +lams.properties stored in /etc/lams2. Otherwise, you will need to edit the +lams.properties in the root directory of the update package yourself. Open +the lams.properties file in a text editor and follow the instructions to alter +the settings. The default settings are in the lams.properties file already so +you need not change a lot. Pay particular attention to the Installation Options +section and the Essential settings section. + +Once you have finished editing lams.properties file you are ready to run the +update script. Go to the root directory of the package and type: +> sudo ./install-lams-patch.sh + + +3. Setting up MySql on a Different Server +========================================= + +If you wish to use a separate server for your MySql database, there are a few +steps to follow. + +Firstly, you need to create the database and user on the MySql server. For +this example we will use the MySql host IP "111.111.111.11", the database +name "lams", the database user "user" and the password "pass". These +correspond to the MYSQL_HOST, DB_NAME, DB_USER and DB_PASS fields in +lams.properties, you should change them to match your own. + +Start the MySql command line on your MySql server and type the following: +mysql> SET FOREIGN_KEY_CHECKS=0; +mysql> DROP DATABASE IF EXISTS lams; +mysql> CREATE DATABASE lams DEFAULT CHARACTER SET utf8; +mysql> SET FOREIGN_KEY_CHECKS=1; +mysql> GRANT ALL PRIVILEGES ON *.* TO user@111.111.111.11 IDENTIFIED BY 'pass'; +mysql> REVOKE PROCESS,SUPER ON *.* from user@111.111.111.11; + +Finally, you have to grant remote permission to this user. Still in Mysql +command line, type the following: +mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'pass'; + +This user now has remote access to the database, you can continue with the +installation. + +For more help on setting up MySql on a separate server, go to: +http://wiki.lamsfoundation.org/display/lamsdocs/Moving+MySQL+to+another+Server + + +4. Production Server Configuration +============================ + +For single user installations, (i.e. personal use on your desktop), please +ignore this section - LAMS should run fine using the default settings. + +You may need to increase the limit for database connections, this can be +done at (jboss directory)/server/default/deploy/mysql-ds.xml. Set the +max-pool-size option to what you want, but it must be less than or equal to +the max connections in mysql-Xms + +If your server starts reporting out of memory errors in the JBoss server.log +file, you may need to increase the JVM memory settings for your server. +This can be altered in the (jboss directory)/bin/run-lams.sh script. + +More information can be found at: +http://wiki.lamsfoundation.org/display/lamsdocs/Production+Server+Settings + + +5. Startup and Shutdown +======================= + +To start LAMS 2.1 go to (jboss directory)/bin and type: +>sudo ./run-lams.sh + +After a couple of minutes LAMS 2.1 will have started. In your browser type the +server URL that you specified in the lams.configuration file, and you should be +at the lams homepage. + +To shutdown LAMS 2.1 go to (jboss directory)/bin and type; +> sudo ./shutdown.sh -S + +LAMS 2.1 will take a few moments to shut down. To check if LAMS 2.1 has shut +down correctly, type the following on Linux: +> ps -ef | grep java + +Or type the following on Macintosh +> ps -A | grep Java + +If you aren't sure which version of 'ps' to use, try the '-ef' version and if +that gives and error 'ps: illegal option --f" then try the -A version. + +If you can see the LAMS 2.1 process still running, type: +> sudo kill (pid) +Where pid is the process id listed next to the LAMS 2.1 process + +Be careful to type the correct (pid). If you type the wrong number, you will +stop another process on your server, and as you are using sudo you could stop +an important process! + +6. Using the Java Service Wrapper +================================ + +If the wrapper installed correctly, LAMS will start automatically when you +boot your machine and stop when you turn off your machine. + +You can also start and stop LAMS manually by going to the jboss-4.0.2/bin +directory and using these commands. + +> sudo ./lams2 start (starts LAMS) +> sudo ./lams2 console (start LAMS in current shell, to stop do ctrl+C) +> sudo ./lams2 stop (stops LAMS) +> sudo ./lams2 restart (restarts LAMS) +> sudo ./lams2 status (tells you if LAMS is currently running) +> sudo ./lams2 dump (send a kill -3 signal to the wrapper causing the + JVM to do a full thread dump) + +For more information about using the Java Service Wrapper with LAMS, go to +wiki.lamsfoundation.org/display/lamsdocs/Setup+Java+Service+Wrapper+for+LAMS + + +7. Backing up LAMS +================== + +To backup your LAMS installation manually, simply follow the following steps + +1) Backup your jboss-4.0.2 directory where LAMS is installed +(/usr/local/jboss-4.0.2 by default) + +2) Backup your uploaded file repositories +(/var/opt/lams by default) + +3) Backup /etc/lams2 + +4) Dump the database by executing the following command. Fill in your own +backup directory + +/mysqldump -u -p > /dump.sql + + +8. Web Resources +================ + +Unix Installer help wiki + + http://wiki.lamsfoundation.org/display/lamsdocs/Unix+Installer+Help + +Backing up LAMS and reverting LAMS + + http://wiki.lamsfoundation.org/display/lamsdocs/Revert+To+Other+Backup + +LAMS 2.1.1 developer-oriented information + + http://wiki.lamsfoundation.org/display/lams + +LAMS 2.1.1 help documents + + http://wiki.lamsfoundation.org/display/lamsdocs + +Educational and technical forums for help and discussion + + http://www.lamscommunity.org + +LAMS 2.1.1 bug tracker + + http://bugs.lamsfoundation.org + +LAMS Foundation + + http://www.lamsfoundation.org Index: unix_installer/patch-package/sql-scripts/update-script.sql =================================================================== diff -u --- unix_installer/patch-package/sql-scripts/update-script.sql (revision 0) +++ unix_installer/patch-package/sql-scripts/update-script.sql (revision 769a146d324d3d69596c8647462fc33de8babc1f) @@ -0,0 +1,4 @@ +UPDATE lams_tool SET tool_version='20080813' WHERE tool_signature='lachat11' AND tool_version='20080229'; + +UPDATE lams_configuration SET config_value='2.1.1' WHERE config_key='Version' AND config_value='2.1'; +