[ https://issues.apache.org/jira/browse/MRM-2020?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Stockhammer updated MRM-2020: ------------------------------------ Fix Version/s: 2.2.7 > 'archiva' shell script for linux generated by appassembler plugin does not > honor the ARCHIVA_BASE environment variable > ---------------------------------------------------------------------------------------------------------------------- > > Key: MRM-2020 > URL: https://issues.apache.org/jira/browse/MRM-2020 > Project: Archiva > Issue Type: Bug > Components: Build, Documentation > Affects Versions: 2.2.5 > Reporter: Bernd Kauling > Assignee: Martin Stockhammer > Priority: Trivial > Fix For: 2.2.7 > > > I followed the installation guide for the standalone installation: > [https://archiva.apache.org/docs/2.2.5/adminguide/standalone.html] > I also decided to separate the base from the installation and followed the > steps mentioned accordingly. I've split my installation into /opt/archiva and > /var/archiva. > Step 4 indicates, that the ARCHIVA_BASE environment variable has to be set to > the new location of archiva, which i have done. > As i tried to start archiva with > {code:java} > $ ./archiva start > {code} > i received the following error message: > {noformat} > Starting Apache Archiva... > FATAL | wrapper | Unable to resolve the full path of the configuration > file, /opt/archiva/conf/wrapper.conf: No such file or directory{noformat} > After some digging around in the shell script, i noticed this part starting > on line 44. > {code:java} > BASEDIR=`dirname "$0"`/.. > BASEDIR=`(cd "$BASEDIR"; pwd)` > ls -l "$0" | grep -e '->' > /dev/null 2>&1 > if [ $? = 0 ]; then > #this is softlink > _PWD=`pwd` > _EXEDIR=`dirname "$0"` > cd "$_EXEDIR" > _BASENAME=`basename "$0"` > _REALFILE=`ls -l "$_BASENAME" | sed 's/.*->\ //g'` > BASEDIR=`dirname "$_REALFILE"`/.. > BASEDIR=`(cd "$BASEDIR"; pwd)` > cd "$_PWD" > fi > {code} > which determines the BASEDIR environment variable which is used to point to > the 'wrapper.conf' configuration file which i expected to be now in > /var/archiva/conf/wrapper.conf. > After changing the script to the following: > {code:java} > if [ -z "$ARCHIVA_BASE" ]; then > BASEDIR=`dirname "$0"`/.. > BASEDIR=`(cd "$BASEDIR"; pwd)` > ls -l "$0" | grep -e '->' > /dev/null 2>&1 > if [ $? = 0 ]; then > #this is softlink > _PWD=`pwd` > _EXEDIR=`dirname "$0"` > cd "$_EXEDIR" > _BASENAME=`basename "$0"` > _REALFILE=`ls -l "$_BASENAME" | sed 's/.*->\ //g'` > BASEDIR=`dirname "$_REALFILE"`/.. > BASEDIR=`(cd "$BASEDIR"; pwd)` > cd "$_PWD" > fi > else > BASEDIR=$ARCHIVA_BASE > fi > {code} > Archiva starts up correctly. > Step 2 of the installation guide instructs the reader to copy the files > instead of moving them, because the "move will fail". I can only imagine what > that means, but after what i've learned now it may indicate that the "failing > part" may not be the move operation itself, but the successful start of > archiva, if the 'wrapper.conf' is moved too. > What i did was to copy the files, delete the old configuration files and to > create a readme to remind myself where the config files are now. Including > the 'wrapper.conf'. > That leaves me with two options: > Either this is a "bug" in the documentation or a bug in the generated shell > script. > h3. Proposal: > > So either > 1) The documentation needs to be adjusted to state in step 2 that the > wrapper.conf should stay in the base directory if that is what step 2 of the > documentation really means. > or > 2) The generated shell script should include the above mentioned check. > > If option 1 is the correct one, i'd volunteer to provide a better > documentation for that section. > If option 2 is the correct one, i am afraid that i don't know how to fix > that. I've poked around the source code and i've read the appassembler > documentation, but i am not sure if that is even possible with the plugin. -- This message was sent by Atlassian Jira (v8.20.1#820001)