[jira] Commented: (GERONIMO-4229) clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts
[ https://issues.apache.org/jira/browse/GERONIMO-4229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12652186#action_12652186 ] Russell E Glaue commented on GERONIMO-4229: --- I have been using Geronimo, without my patch, successfully without problem if I perform the following: 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 JAVA_OPTS="-Dorg.apache.geronimo.server.dir=$GERONIMO_HOME/server1" ${GERONIMO_HOME}/bin/startup.sh - The startup.sh script will set GERONIMO_BASE = GERONIMO_HOME if GERONIMO_BASE is not defined. I cannot set "-Dorg.apache.geronimo.server.name=server1" as it will look for it as "/usr/local/geronimo-jetty6-javaee5-2.1.2/server1" So I have to set "-Dorg.apache.geronimo.server.dir=$GERONIMO_HOME/server1" so it is found correctly. I think these variables should each receive a concrete definition as to the following: 1) What is the formal definition of this variable? 2) What, in Geronimo's run time, does this variable refer to? 3) When it is to be referenced in actual code, what should be the expected and intended use? 4) Where, in the Geronimo code, is this variable used? 5) Examples of how to use it, and how not to use it. We can put that on the Geronimo Wiki. Additionally, as I described in the thread discussion, I believe these variables are used incorrectly in a few places. It does not seem like it is hard to clean up. And documentation should prevent further confusion. I am willing to write the wiki documentation for this. I have already asked my employer to give me the permission to sign the Apache Individual Contributor License Agreement (CLA) so I can do something like this. Thanks. -RG > 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 [EMAIL PROTECTED] > 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 alway
[jira] Commented: (GERONIMO-4229) clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts
[ https://issues.apache.org/jira/browse/GERONIMO-4229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12652171#action_12652171 ] Jarek Gawor commented on GERONIMO-4229: --- I looked at this a bit and this is pretty screwed up. First, the "org.apache.geronimo.base.dir" is not used anywhere in Geronimo code (can't find any references to it). I think the scripts should be passing "-Dorg.apache.geronimo.home.dir=$GERONIMO_HOME" instead. Second, the $GERONIMO_BASE property corresponds to "org.apache.geronimo.server.dir" property in code. But we cannot automatically set and pass this property in the scripts as the "org.apache.geronimo.server.name" property will be totally ignored. That is, what is documented right now in how to setup and run multiple servers will not work anymore. So, we will need to fix the code or scripts somehow. Maybe the easiest thing right now is to get rid off the GERONIMO_BASE property in scripts (it doesn't do anything right now anyway since the "org.apache.geronimo.base.dir" is not referenced in the code anywhere). In that case, the user either would need to pass the "org.apache.geronimo.server.dir" or "org.apache.geronimo.server.name" property via GERONIMO_OPTS env. property. > 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 [EMAIL PROTECTED] > 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). > # Def
[jira] Commented: (GERONIMO-4229) clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts
[ 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 [EMAIL PROTECTED] > 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