Skip to content

Commit 8eea5f3

Browse files
author
Scot P. Floess
committed
Resolves #237 - adding more information when installing
1 parent 6d4da01 commit 8eea5f3

File tree

2 files changed

+89
-38
lines changed

2 files changed

+89
-38
lines changed

install.sh

+74-23
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#!/bin/bash
1+
#!/bin/bash
22

33
# Copyright 2011 Red Hat Inc.
44
#
@@ -20,13 +20,37 @@
2020

2121
# Install script for *nix based operating systems that do not support RPMs
2222

23-
RUN_DIR=`dirname $0`
23+
#
24+
# Make sure any params processed were consumed. We know consumption is goo
25+
# if the params handed to this function ($1) is empty.
26+
#
27+
assertGoodParams() {
28+
if [ "$1" != "" ]
29+
then
30+
echo
31+
echo "Allowable command line options:"
32+
echo " --local When installing locally, will clone from the Solenopsis git repo."
33+
echo " --use-git If cloning locally, will use a git URL: git clone git://github.com/solenopsis/Solenopsis.git"
34+
echo " --use-ssh If cloning locally, will use an ssh URL: git clone ssh://github.com/solenopsis/Solenopsis.git"
35+
echo
36+
echo " By default when assuming no clone option presented, will use:"
37+
echo " git clone http://github.com/solenopsis/Solenopsis.git"
38+
echo
39+
exit 1
40+
fi
41+
}
2442

25-
${RUN_DIR}/uninstall.sh
43+
RUN_DIR=`dirname $0`
2644

2745
RUN_LOCAL=""
2846
GIT_PROTOCOL="https"
47+
BAD_PARAM=""
48+
49+
echo
2950

51+
#
52+
# Process params handed in...
53+
#
3054
for PARAM in $*
3155
do
3256
if [ "${PARAM}" = "--local" ]
@@ -38,47 +62,65 @@ do
3862
elif [ "${PARAM}" = "--use-ssh" ]
3963
then
4064
GIT_PROTOCOL="ssh"
65+
else
66+
#
67+
# Unknown param...
68+
#
69+
echo "*** WARNING: Unknown param [${PARAM}]"
70+
BAD_PARAM="${BAD_PARAM} ${PARAM}"
4171
fi
4272
done
4373

74+
#
75+
# Should we have concatenated all bad params, we will
76+
# fail here with a useful command line options message
77+
# and exit...
78+
#
79+
assertGoodParams "${BAD_PARAM}"
80+
81+
${RUN_DIR}/uninstall.sh
82+
83+
echo
84+
4485
if [ "${RUN_LOCAL}" = "" ]
4586
then
46-
echo "Cloning the solenopsis git repo"
47-
4887
rm -rf Solenopsis
4988

5089
CLONE_CMD="git clone ${GIT_PROTOCOL}://github.com/solenopsis/Solenopsis.git"
51-
echo "${CLONE_CMD}"
52-
`${CLONE_CMD}`
90+
echo "Cloning the solenopsis git repo via: [${CLONE_CMD}]"
91+
echo
92+
${CLONE_CMD}
93+
echo
5394

5495
cd Solenopsis
5596
else
5697
cd ${RUN_DIR}
5798
fi
5899

59-
60100
RUNNING_OS=`uname -s`
61101

62102
case $RUNNING_OS in
63103
Linux)
64-
SOLENOPSIS_BASH_COMPLETION_HOME=/etc/bash_completion.d
65-
SOLENOPSIS_INSTALL_HOME=/usr/share
66-
SOLENOPSIS_BINARIES=/usr/bin
67-
SOLENOPSIS_PROFILE_PATH=/etc/profile.d
104+
SOLENOPSIS_BASH_COMPLETION_HOME=/etc/bash_completion.d
105+
SOLENOPSIS_INSTALL_HOME=/usr/share
106+
SOLENOPSIS_BINARIES=/usr/bin
107+
SOLENOPSIS_PROFILE_PATH=/etc/profile.d
68108
;;
69109
Darwin)
70-
SOLENOPSIS_BASH_COMPLETION_HOME=/usr/local/etc/bash_completion.d
71-
SOLENOPSIS_BINARIES=/usr/local/bin
72-
SOLENOPSIS_PROFILE_PATH=
73-
if type brew >/dev/null; then
74-
SOLENOPSIS_INSTALL_HOME=/usr/local/Cellar
75-
else
76-
SOLENOPSIS_INSTALL_HOME=/usr/share
77-
fi
110+
SOLENOPSIS_BASH_COMPLETION_HOME=/usr/local/etc/bash_completion.d
111+
SOLENOPSIS_BINARIES=/usr/local/bin
112+
SOLENOPSIS_PROFILE_PATH=
113+
if type brew >/dev/null; then
114+
SOLENOPSIS_INSTALL_HOME=/usr/local/Cellar
115+
else
116+
SOLENOPSIS_INSTALL_HOME=/usr/share
117+
fi
78118
;;
79119
esac
80120

81-
echo "Installing solenopsis"
121+
echo "Installing solenopsis for [${RUNNING_OS}] to: [${SOLENOPSIS_INSTALL_HOME}]..."
122+
123+
echo " Creating appropriate directory structure..."
82124

83125
mkdir -p $SOLENOPSIS_INSTALL_HOME/solenopsis/config
84126
mkdir -p $SOLENOPSIS_INSTALL_HOME/solenopsis/docs
@@ -98,6 +140,8 @@ mkdir -p $SOLENOPSIS_INSTALL_HOME/solenopsis/scripts
98140
mkdir -p $SOLENOPSIS_INSTALL_HOME/solenopsis/scripts/lib
99141
mkdir -p $SOLENOPSIS_INSTALL_HOME/solenopsis/scripts/templates
100142

143+
echo " Copying configuration files..."
144+
101145
cp config/defaults.cfg $SOLENOPSIS_INSTALL_HOME/solenopsis/config/
102146
cp docs/* $SOLENOPSIS_INSTALL_HOME/solenopsis/docs/
103147
cp -rf ant $SOLENOPSIS_INSTALL_HOME/solenopsis
@@ -107,27 +151,34 @@ cp scripts/lib/* $SOLENOPSIS_INSTALL_HOME/solenopsis/scripts/lib/
107151
cp scripts/templates/* $SOLENOPSIS_INSTALL_HOME/solenopsis/scripts/templates/
108152
cp scripts/solenopsis-profile.sh $SOLENOPSIS_INSTALL_HOME/solenopsis/scripts/
109153

154+
echo " Cleaning up old Python files..."
110155

111156
rm -rf $SOLENOPSIS_INSTALL_HOME/solenopsis/scripts/*.pyc
112157
rm -rf $SOLENOPSIS_INSTALL_HOME/solenopsis/scripts/*.pyo
113158
rm -rf $SOLENOPSIS_INSTALL_HOME/solenopsis/scripts/lib/*.pyc
114159
rm -rf $SOLENOPSIS_INSTALL_HOME/solenopsis/scripts/lib/*.pyo
115160

161+
echo " Setting script permisions to execute and creating sym links..."
162+
116163
chmod 755 $SOLENOPSIS_INSTALL_HOME/solenopsis/scripts/*
117164

118165
ln -sf $SOLENOPSIS_INSTALL_HOME/solenopsis/scripts/solenopsis $SOLENOPSIS_BINARIES/solenopsis
119166
ln -sf $SOLENOPSIS_INSTALL_HOME/solenopsis/scripts/bsolenopsis $SOLENOPSIS_BINARIES/bsolenopsis
120167

121168
case $RUNNING_OS in
122169
Linux)
123-
SOLENOPSIS_BASH_COMPLETION_HOME=/etc/bash_completion.d
124-
ln -sf $SOLENOPSIS_INSTALL_HOME/solenopsis/scripts/solenopsis-profile.sh $SOLENOPSIS_PROFILE_PATH/solenopsis-profile.sh
170+
SOLENOPSIS_BASH_COMPLETION_HOME=/etc/bash_completion.d
171+
ln -sf $SOLENOPSIS_INSTALL_HOME/solenopsis/scripts/solenopsis-profile.sh $SOLENOPSIS_PROFILE_PATH/solenopsis-profile.sh
125172
;;
126173
esac
127174

175+
echo " Defining Solenopsis bash completion..."
176+
128177
if [ -d "${SOLENOPSIS_BASH_COMPLETION_HOME}" ]
129178
then
130179
ln -sf $SOLENOPSIS_INSTALL_HOME/solenopsis/scripts/solenopsis-completion.bash ${SOLENOPSIS_BASH_COMPLETION_HOME}/solenopsis-completion.bash
131180
else
132181
echo "WARNING: Bash completion dir [${SOLENOPSIS_BASH_COMPLETION_HOME}] for [${RUNNING_OS}] does not exist. Ignoring solenopsis completion script."
133182
fi
183+
184+
echo

uninstall.sh

+15-15
Original file line numberDiff line numberDiff line change
@@ -20,30 +20,30 @@
2020

2121
# Install script for *nix based operating systems that do not support RPMs
2222

23-
echo "Cleaning up solenopsis"
23+
echo "Cleaning up existing Solenopsis..."
2424

2525
#
2626
# Take OSX, Linux, etc into account...
2727
#
28-
RUNNING_OS=`uname -a | cut -f 1 -d ' '`
28+
RUNNING_OS=`uname -s`
2929

3030
case $RUNNING_OS in
3131
Linux)
32-
SOLENOPSIS_BASH_COMPLETION_HOME=/etc/bash_completion.d
33-
SOLENOPSIS_INSTALL_HOME=/usr/share
34-
SOLENOPSIS_BINARIES=/usr/bin
35-
rm -f /etc/bash_completion.d/solenopsis-completion.bash
36-
rm -f /etc/profile.d/solenopsis-profile.sh
32+
SOLENOPSIS_BASH_COMPLETION_HOME=/etc/bash_completion.d
33+
SOLENOPSIS_INSTALL_HOME=/usr/share
34+
SOLENOPSIS_BINARIES=/usr/bin
35+
rm -f /etc/bash_completion.d/solenopsis-completion.bash
36+
rm -f /etc/profile.d/solenopsis-profile.sh
3737
;;
3838
Darwin)
39-
SOLENOPSIS_BASH_COMPLETION_HOME=/usr/local/etc/bash_completion.d
40-
SOLENOPSIS_BINARIES=/usr/local/bin
41-
SOLENOPSIS_PROFILE_PATH=
42-
if type brew >/dev/null; then
43-
SOLENOPSIS_INSTALL_HOME=/usr/local/Cellar
44-
else
45-
SOLENOPSIS_INSTALL_HOME=/usr/share
46-
fi
39+
SOLENOPSIS_BASH_COMPLETION_HOME=/usr/local/etc/bash_completion.d
40+
SOLENOPSIS_BINARIES=/usr/local/bin
41+
SOLENOPSIS_PROFILE_PATH=
42+
if type brew >/dev/null; then
43+
SOLENOPSIS_INSTALL_HOME=/usr/local/Cellar
44+
else
45+
SOLENOPSIS_INSTALL_HOME=/usr/share
46+
fi
4747
;;
4848
esac
4949

0 commit comments

Comments
 (0)