Fix typo in control file
[archipelago] / xseg / envsetup
1 #!/bin/bash
2
3 # Copyright 2012 GRNET S.A. All rights reserved.
4 #
5 # Redistribution and use in source and binary forms, with or
6 # without modification, are permitted provided that the following
7 # conditions are met:
8 #
9 #   1. Redistributions of source code must retain the above
10 #      copyright notice, this list of conditions and the following
11 #      disclaimer.
12 #
13 #   2. Redistributions in binary form must reproduce the above
14 #      copyright notice, this list of conditions and the following
15 #      disclaimer in the documentation and/or other materials
16 #      provided with the distribution.
17 #
18 # THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
19 # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
22 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
25 # USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
26 # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
28 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 # POSSIBILITY OF SUCH DAMAGE.
30 #
31 # The views and conclusions contained in the software and
32 # documentation are those of the authors and should not be
33 # interpreted as representing official policies, either expressed
34 # or implied, of GRNET S.A.
35 #
36
37
38 set -e
39
40 dirname=$(dirname -- "${0}")
41 if cd "${dirname}"; then
42         XSEG_HOME=$(pwd -P)
43         cd - > /dev/null
44 fi
45
46 if [ -z "$XSEG_HOME" ]; then
47         echo 'Cannot set $XSEG_HOME'
48         exit 1
49 fi
50
51 PEERS=${XSEG_HOME}/peers
52 TOOLS=${XSEG_HOME}/tools
53 LIBS=${XSEG_HOME}/lib/user
54
55 if [ ! -d "${LIBS}" ] || [ ! -d "${PEERS}" ]; then
56         echo "Cannot find basic xseg layout"
57         exit 1
58 fi
59
60 if ! echo ${PATH} | grep -E -e '(^|:)'"${PEERS}"'(:|$)' > /dev/null 2>&1; then
61         PATH=${PATH}:${PEERS}
62 fi
63
64 if ! echo ${PATH} | grep -E -e '(^|:)'"${TOOLS}"'(:|$)' > /dev/null 2>&1; then
65         PATH=${PATH}:${TOOLS}
66 fi
67
68 if ! echo ${LD_LIBRARY_PATH} | grep -E -e '(^|:)'"${LIBS}"'(:|$)' > /dev/null 2>&1; then
69         LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${LIBS}
70 fi
71
72 export PATH LD_LIBRARY_PATH XSEG_HOME
73 source ${XSEG_HOME}/config.env
74 export XSEG_DOMAIN_DIRS XSEG_DIRS
75
76 if [ "$1" = "show" ]; then
77         echo "export XSEG_HOME="${XSEG_HOME}
78         echo "export XSEG_DIRS="${XSEG_DIRS}
79         echo "export XSEG_DOMAIN_DIRS="${XSEG_DOMAIN_DIRS}
80         echo "export PATH="${PATH}
81         echo "export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}
82 else
83         if [ -z "${NONINTERACTIVE}" ]; then
84                 [ -z "$SHELL" ] && SHELL=/bin/bash
85
86                 selfname=$(basename -- "${0}")
87                 [ "$selfname" = "envsetup" ] && exec "$SHELL"
88         fi
89 fi