Return-Path: Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: (qmail 53164 invoked from network); 1 Dec 2008 21:36:13 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 1 Dec 2008 21:36:13 -0000 Received: (qmail 1258 invoked by uid 500); 1 Dec 2008 21:36:25 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 763 invoked by uid 500); 1 Dec 2008 21:36:24 -0000 Mailing-List: contact dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list dev@geronimo.apache.org Received: (qmail 752 invoked by uid 99); 1 Dec 2008 21:36:24 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Dec 2008 13:36:24 -0800 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Dec 2008 21:34:56 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 3BD5F234C289 for ; Mon, 1 Dec 2008 13:35:44 -0800 (PST) Message-ID: <1552024802.1228167344240.JavaMail.jira@brutus> Date: Mon, 1 Dec 2008 13:35:44 -0800 (PST) From: "Jarek Gawor (JIRA)" To: dev@geronimo.apache.org Subject: [jira] Commented: (GERONIMO-4229) clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts In-Reply-To: <1781612315.1218052364603.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/GERONIMO-4229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12652165#action_12652165 ] Jarek Gawor commented on GERONIMO-4229: --------------------------------------- Committed your patch to trunk (revision 722243) and branches/2.1 (revision 722244). Thanks a lot! > clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts > --------------------------------------------------------------- > > Key: GERONIMO-4229 > URL: https://issues.apache.org/jira/browse/GERONIMO-4229 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Components: startup/shutdown > Affects Versions: 2.1.1 > Environment: ALL > Reporter: Russell E Glaue > Priority: Minor > Attachments: geronimo-shell-home-base-2.patch > > > I was not seeing consistent usage in the shell scripts of the following: > - GERONIMO_HOME > - GERONIMO_BASE > - org.apache.geronimo.base.dir > In 4 of the scripts, GERONIMO_BASE was used where GERONIMO_HOME should have been used, or GERONIMO_BASE should be used to complete the path to the temp file, otherwise the GeronimoInstallationPath is used to complete the temp file path. > The attached patch corrects these. > For more information, please see my thread on user@geronimo.apache.org > Subject: GERONIMO_BASE vs. GERONIMO_HOME and org.apache.geronimo.base.dir > And as an additional note, this patch resolves a few errors, but not these two: > (1)- > Using GERONIMO_BASE: /usr/local/geronimo/server1 > Using GERONIMO_HOME: /usr/local/geronimo > Using GERONIMO_TMPDIR: var/temp > Using JRE_HOME: /usr/jdk1.5.0_07/jre > 10:45:33,914 ERROR [LocalAttributeManager] Caught exception java.io.FileNotFoundException: /usr/local/geronimo-jetty6-javaee5-2.1.1/var/config/config-substitutions.properties (No such file or directory) trying to open properties file /usr/local/geronimo-jetty6-javaee5-2.1.1/var/config/config-substitutions.properties > - > Geronimo looks for the 'var/config/config-substitutions.properties' file according to 'org.apache.geronimo.server.dir' variable. > However the bin/geronimo.sh script only sets -Dorg.apache.geronimo.base.dir=$GERONIMO_BASE > But I do not see how org.apache.geronimo.base.dir is used inside Geronimo. > To fix we would have to set the variable -Dorg.apache.geronimo.server.dir=$GERONIMO_BASE too - but we cannot do that if we want users to be able to supply the -Dorg.apache.geronimo.server.name= variable outside of bin/geronimo.sh in $GERONIMO_OPTS env var. > - > So I could not figure out a good way to address this error, unless we overrided org.apache.geronimo.base.dir variable with whatever is in the org.apache.geronimo.server.dir variable, then change Geronimo to look for the configSubstitutionFile as '/var/config/config-substitutions.properties' > And it appears that Geronimo ignores org.apache.geronimo.base.dir in favor of org.apache.geronimo.home.dir anyway, so removing the configured org.apache.geronimo.base.dir property in bin/geronimo.sh does not seem to hurt anything - at first test, at least, it works for me. > Then we just always set org.apache.geronimo.base.dir = org.apache.geronimo.server.dir > - > I would appreciate if someone shed light on the proper intended usage of the org.apache.geronimo.base.dir property. > - > (2)- > Using GERONIMO_BASE: /usr/local/geronimo/server1 > Using GERONIMO_HOME: /usr/local/geronimo > Using GERONIMO_TMPDIR: var/temp > Using JRE_HOME: /usr/jdk1.5.0_07/jre > ... > The java.io.tmpdir system property specifies a non-existent directory: /usr/local/geronimo-jetty6-javaee5-2.1.2/var/temp > - > read: /usr/local/geronimo/bin/geronimo.sh > # GERONIMO_TMPDIR (Optional) Directory path location of temporary directory > # the JVM should use (java.io.tmpdir). > # Defaults to $GERONIMO_BASE/var/temp. > if [ -z "$GERONIMO_TMPDIR" ] ; then > # Define the java.io.tmpdir to use for Geronimo > # A relative value will be resolved relative to each instance > GERONIMO_TMPDIR=var/temp > fi > - > This is incorrect documentation, as the error message illustrates. > GERONIMO_TMPDIR does not default to $GERONIMO_BASE/var/temp > Nor does it default to $GERONIMO_HOME/var/temp > Instead: It defaults to /var/temp > Or also org.apache.geronimo.server.dir/var/temp > GERONIMO_TMPDIR should be set with $GERONIMO_BASE/var/temp > Or also org.apache.geronimo.base.dir/var/temp to comply with the documentation > - > Setting GERONIMO_TMPDIR="$GERONIMO_BASE"/var/temp in bin/geronimo.sh will actually conflict with anyone using the -Dorg.apache.geronimo.server.name= to run multiple instances as documented in the geronimo wiki. > The absolute path is resolved to / IF is a relative path. > So setting the absolute path in bin/geronimo.sh would require the user to additionally specify the absolute path of $GERONIMO_TMPDIR into their geronimo instance. > The change, causing the property org.apache.geronimo.base.dir to be used, would have to be completed internally in the java classes that set the properties. > - > How To Produce The Errors the attached patch fixes: > > 1) expand geronimo-jetty6-javaee5-2.1.2 in /usr/local/ > 2) cd /usr/local; ln -s geronimo-jetty6-javaee5-2.1.2 geronimo > 2) create the directory /usr/local/geronimo/server1 > 3) move /usr/local/geronimo/var to /usr/local/geronimo/server1/var > 4) start geronimo with this shell command: > - > cd /usr/local/geronimo > export GERONIMO_HOME=/usr/local/geronimo > export GERONIMO_BASE=/usr/local/geronimo/server1 > exec ${GERONIMO_HOME}/bin/startup.sh > - > > > $ cat /usr/local/geronimo/server1/var/log/geronimo.out | grep '\[java.*.dirs\]' > /usr/jdk1.5.0_07/jre/lib/i386/client:/usr/jdk1.5.0_07/jre/lib/i386:/usr/jdk1.5.0_07/jre/../lib/i386 > 10:45:33,955 INFO [Log4jService] System property [java.endorsed.dirs] = /usr/local/geronimo/server1/lib/endorsed:/usr/jdk1.5.0_07/jre/lib/endorsed > 10:45:33,955 INFO [Log4jService] System property [java.ext.dirs] = /usr/local/geronimo/server1/lib/ext:/usr/jdk1.5.0_07/jre/lib/ext > - > read: /usr/local/geronimo/bin/geronimo.sh > # For Cygwin, switch paths to Windows format before running java > if $cygwin; then > ... > EXT_DIRS="$GERONIMO_BASE/lib/ext;$JRE_HOME/lib/ext" > ENDORSED_DIRS="$GERONIMO_BASE/lib/endorsed;$JRE_HOME/lib/endorsed" > else > EXT_DIRS="$GERONIMO_BASE/lib/ext:$JRE_HOME/lib/ext" > ENDORSED_DIRS="$GERONIMO_BASE/lib/endorsed:$JRE_HOME/lib/endorsed" > fi > ... > # Setup the Java programming language agent > JAVA_AGENT_JAR="$GERONIMO_BASE/bin/jpa.jar" > - > There is no such directory as '/usr/local/geronimo/server1/lib/' > but the bin/geronimo.sh script uses GERONIMO_BASE to point at the lib directory. > That should be $GERONIMO_HOME > The same for JAVA_AGENT_JAR which points at /usr/local/geronimo/server1/bin/jpa.jar in this example > GERONIMO_HOME is used only for the scope of the shell scripts, and everything else uses it only for starting Geronimo, so we should be consistent. > - > -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.